Documentation
¶
Index ¶
- func NewBoschBpts5Hybrid(uri, usage string, cache time.Duration) (api.Meter, error)
- func NewBoschBpts5HybridFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewCCUFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewCfosPowerBrainFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewConfigurableFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewDiscovergyFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewDsmr(uri, energy string, timeout time.Duration) (api.Meter, error)
- func NewDsmrFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewFritzDECTFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewFromConfig(typ string, other map[string]interface{}) (v api.Meter, err error)
- func NewHomeWizardFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewLgEss(uri, usage, registration, password string, cache time.Duration, ...) (api.Meter, error)
- func NewLgEssFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewMeterFromTemplateConfig(other map[string]interface{}) (api.Meter, error)
- func NewModbusFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewMovingAverageFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewMyStromFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewOpenWBFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewPowerWall(uri, usage, user, password string, cache time.Duration) (api.Meter, error)
- func NewPowerWallFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewRCT(uri, usage string, cache time.Duration, capacity func() float64) (api.Meter, error)
- func NewRCTFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewSMA(uri, password, iface string, serial uint32, scale float64, ...) (api.Meter, error)
- func NewSMAFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewShellyEnergyMeterFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewShellyFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewTPLinkFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewTapoFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewTasmotaFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewTibberFromConfig(other map[string]interface{}) (api.Meter, error)
- func NewTqEm420FromConfig(other map[string]interface{}) (api.Meter, error)
- func NewTqEmFromConfig(other map[string]interface{}) (api.Meter, error)
- type BoschBpts5Hybrid
- type CCU
- type CfosPowerBrain
- type Discovergy
- type Dsmr
- type HomeWizard
- type LgEss
- type Meter
- type Modbus
- type MovingAverage
- type PowerWall
- type RCT
- type SMA
- type Tasmota
- type Tibber
- type TqEM420
- type TqEm
- type TqEm420Data
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewBoschBpts5Hybrid ¶
NewBoschBpts5Hybrid creates a Bosch BPT-S 5 Hybrid Meter
func NewBoschBpts5HybridFromConfig ¶
NewBoschBpts5HybridFromConfig creates a Bosch BPT-S 5 Hybrid Meter from generic config
func NewCCUFromConfig ¶
NewCCUFromConfig creates a Homematic meter from generic config
func NewCfosPowerBrainFromConfig ¶
NewCfosPowerBrainFromConfig creates a cFos meter from generic config
func NewConfigurableFromConfig ¶
NewConfigurableFromConfig creates api.Meter from config
func NewDiscovergyFromConfig ¶
NewDiscovergyFromConfig creates a new configurable meter
func NewDsmrFromConfig ¶
NewDsmrFromConfig creates a DSMR meter from generic config
func NewFritzDECTFromConfig ¶
NewFritzDECTFromConfig creates a fritzdect meter from generic config
func NewFromConfig ¶
NewFromConfig creates meter from configuration
func NewHomeWizardFromConfig ¶
NewHomeWizardFromConfig creates a HomeWizard meter from generic config
func NewLgEss ¶
func NewLgEss(uri, usage, registration, password string, cache time.Duration, capacity func() float64) (api.Meter, error)
NewLgEss creates an LgEss Meter
func NewLgEssFromConfig ¶
NewLgEssFromConfig creates an LgEss Meter from generic config
func NewModbusFromConfig ¶
NewModbusFromConfig creates api.Meter from config
func NewMovingAverageFromConfig ¶
NewMovingAverageFromConfig creates api.Meter from config
func NewMyStromFromConfig ¶
NewMyStromFromConfig creates a myStrom meter from generic config
func NewOpenWBFromConfig ¶
NewOpenWBFromConfig creates a new configurable meter
func NewPowerWall ¶
NewPowerWall creates a Tesla PowerWall Meter
func NewPowerWallFromConfig ¶
NewPowerWallFromConfig creates a PowerWall Powerwall Meter from generic config
func NewRCTFromConfig ¶
NewRCTFromConfig creates an RCT from generic config
func NewSMA ¶
func NewSMA(uri, password, iface string, serial uint32, scale float64, capacity func() float64) (api.Meter, error)
NewSMA creates an SMA meter
func NewSMAFromConfig ¶
NewSMAFromConfig creates an SMA meter from generic config
func NewShellyEnergyMeterFromConfig ¶
NewShellyFromConfig creates a Shelly charger from generic config
func NewShellyFromConfig ¶
NewShellyFromConfig creates a Shelly charger from generic config
func NewTPLinkFromConfig ¶
NewTPLinkFromConfig creates a tapo meter from generic config
func NewTapoFromConfig ¶
NewTapoFromConfig creates a tapo meter from generic config
func NewTasmotaFromConfig ¶
NewTasmotaFromConfig creates a Tasmota meter from generic config
func NewTibberFromConfig ¶
func NewTqEm420FromConfig ¶
NewTqEm420FromConfig creates a new configurable meter
Types ¶
type BoschBpts5Hybrid ¶
type BoschBpts5Hybrid struct {
// contains filtered or unexported fields
}
func (*BoschBpts5Hybrid) CurrentPower ¶
func (m *BoschBpts5Hybrid) CurrentPower() (float64, error)
CurrentPower implements the api.Meter interface
type CCU ¶
type CCU struct {
// contains filtered or unexported fields
}
Homematic CCU meter implementation
func NewCCU ¶
func NewCCU(uri, deviceid, meterid, switchid, user, password, usage string, cache time.Duration) (*CCU, error)
NewCCU creates a new connection with usage for meter
func (*CCU) CurrentPower ¶
CurrentPower implements the api.Meter interface
func (*CCU) TotalEnergy ¶
TotalEnergy implements the api.MeterEnergy interface
type CfosPowerBrain ¶
type CfosPowerBrain struct {
// contains filtered or unexported fields
}
CfosPowerBrain is a meter implementation for cFos PowerBrain wallboxes. It uses Modbus TCP to communicate at modbus client id 1 and power meters at id 2 and 3. https://www.cfos-emobility.de/en-gb/cfos-power-brain/modbus-registers.htm
func NewCfosPowerBrain ¶
func NewCfosPowerBrain(uri string, id uint8) (*CfosPowerBrain, error)
NewCfosPowerBrain creates a cFos meter
func (*CfosPowerBrain) CurrentPower ¶
func (wb *CfosPowerBrain) CurrentPower() (float64, error)
CurrentPower implements the api.Meter interface
func (*CfosPowerBrain) TotalEnergy ¶
func (wb *CfosPowerBrain) TotalEnergy() (float64, error)
TotalEnergy implements the api.MeterEnergy interface
type Discovergy ¶
type Discovergy struct {
// contains filtered or unexported fields
}
func (*Discovergy) CurrentPower ¶
func (m *Discovergy) CurrentPower() (float64, error)
func (*Discovergy) TotalEnergy ¶
func (m *Discovergy) TotalEnergy() (float64, error)
type Dsmr ¶
type Dsmr struct {
// contains filtered or unexported fields
}
Dsmr meter implementation
func (*Dsmr) CurrentPower ¶
CurrentPower implements the api.Meter interface
type HomeWizard ¶
type HomeWizard struct {
// contains filtered or unexported fields
}
HomeWizard meter implementation
func NewHomeWizard ¶
func NewHomeWizard(uri string, cache time.Duration) (*HomeWizard, error)
NewHomeWizard creates HomeWizard meter
func (*HomeWizard) CurrentPower ¶
func (c *HomeWizard) CurrentPower() (float64, error)
CurrentPower implements the api.Meter interface
func (*HomeWizard) TotalEnergy ¶
func (c *HomeWizard) TotalEnergy() (float64, error)
TotalEnergy implements the api.MeterEnergy interface
type LgEss ¶
type LgEss struct {
// contains filtered or unexported fields
}
LgEss implements the api.Meter interface
func (*LgEss) CurrentPower ¶
CurrentPower implements the api.Meter interface
type Meter ¶
type Meter struct {
// contains filtered or unexported fields
}
Meter is an api.Meter implementation with configurable getters and setters.
func NewConfigurable ¶
NewConfigurable creates a new meter
func (*Meter) CurrentPower ¶
CurrentPower implements the api.Meter interface
func (*Meter) Decorate ¶
func (m *Meter) Decorate( totalEnergy func() (float64, error), currents func() (float64, float64, float64, error), voltages func() (float64, float64, float64, error), powers func() (float64, float64, float64, error), batterySoc func() (float64, error), capacity func() float64, ) api.Meter
Decorate attaches additional capabilities to the base meter
type Modbus ¶
type Modbus struct {
// contains filtered or unexported fields
}
Modbus is an api.Meter implementation with configurable getters and setters.
func (*Modbus) CurrentPower ¶
CurrentPower implements the api.Meter interface
type MovingAverage ¶
type MovingAverage struct {
// contains filtered or unexported fields
}
func (*MovingAverage) CurrentPower ¶
func (m *MovingAverage) CurrentPower() (float64, error)
type PowerWall ¶
type PowerWall struct {
// contains filtered or unexported fields
}
PowerWall is the tesla powerwall meter
func (*PowerWall) CurrentPower ¶
CurrentPower implements the api.Meter interface
type RCT ¶
type RCT struct {
// contains filtered or unexported fields
}
RCT implements the api.Meter interface
func (*RCT) CurrentPower ¶
CurrentPower implements the api.Meter interface
type SMA ¶
type SMA struct {
// contains filtered or unexported fields
}
SMA supporting SMA Home Manager 2.0, SMA Energy Meter 30 and SMA inverter
func (*SMA) CurrentPower ¶
CurrentPower implements the api.Meter interface
func (*SMA) TotalEnergy ¶
TotalEnergy implements the api.MeterEnergy interface
type Tasmota ¶
type Tasmota struct {
// contains filtered or unexported fields
}
Tasmota meter implementation
func NewTasmota ¶
func NewTasmota(uri, user, password, usage string, channel int, cache time.Duration) (*Tasmota, error)
NewTasmota creates Tasmota meter
func (*Tasmota) CurrentPower ¶
CurrentPower implements the api.Meter interface
func (*Tasmota) TotalEnergy ¶
TotalEnergy implements the api.MeterEnergy interface
type Tibber ¶
type Tibber struct {
// contains filtered or unexported fields
}
func (*Tibber) CurrentPower ¶
type TqEM420 ¶
type TqEM420 struct {
// contains filtered or unexported fields
}
func (*TqEM420) CurrentPower ¶
func (*TqEM420) TotalEnergy ¶
type TqEm ¶
type TqEm struct {
// contains filtered or unexported fields
}
func (*TqEm) CurrentPower ¶
func (*TqEm) TotalEnergy ¶
type TqEm420Data ¶
type TqEm420Data struct {
SmartMeter struct {
ConfigurationID string `json:"configuration_id"`
Status string `json:"status"`
Timestamp struct {
Seconds float64 `json:"seconds"`
Nanos float64 `json:"nanos"`
} `json:"timestamp"`
Values struct {
ActiveEnergyP float64 `json:"active_energy_+"`
ActiveEnergyL1P float64 `json:"active_energy_+_L1"`
ActiveEnergyL2P float64 `json:"active_energy_+_L2"`
ActiveEnergyL3P float64 `json:"active_energy_+_L3"`
ActiveEnergyM float64 `json:"active_energy_-"`
ActiveEnergyL1M float64 `json:"active_energy_-_L1"`
ActiveEnergyL2M float64 `json:"active_energy_-_L2"`
ActiveEnergyL3M float64 `json:"active_energy_-_L3"`
ActivePowerP float64 `json:"active_power_+"`
ActivePowerL1P float64 `json:"active_power_+_L1"`
ActivePowerL2P float64 `json:"active_power_+_L2"`
ActivePowerL3P float64 `json:"active_power_+_L3"`
ActivePowerM float64 `json:"active_power_-"`
ActivePowerL1M float64 `json:"active_power_-_L1"`
ActivePowerL2M float64 `json:"active_power_-_L2"`
ActivePowerL3M float64 `json:"active_power_-_L3"`
ApparentEnergyP float64 `json:"apparent_energy_+"`
ApparentEnergyL1P float64 `json:"apparent_energy_+_L1"`
ApparentEnergyL2P float64 `json:"apparent_energy_+_L2"`
ApparentEnergyL3P float64 `json:"apparent_energy_+_L3"`
ApparentEnergyM float64 `json:"apparent_energy_-"`
ApparentEnergyL1M float64 `json:"apparent_energy_-_L1"`
ApparentEnergyL2M float64 `json:"apparent_energy_-_L2"`
ApparentEnergyL3M float64 `json:"apparent_energy_-_L3"`
ApparentPowerP float64 `json:"apparent_power_+"`
ApparentPowerL1P float64 `json:"apparent_power_+_L1"`
ApparentPowerL2P float64 `json:"apparent_power_+_L2"`
ApparentPowerL3P float64 `json:"apparent_power_+_L3"`
ApparentPowerM float64 `json:"apparent_power_-"`
ApparentPowerL1M float64 `json:"apparent_power_-_L1"`
ApparentPowerL2M float64 `json:"apparent_power_-_L2"`
ApparentPowerL3M float64 `json:"apparent_power_-_L3"`
CurrentL1 float64 `json:"current_L1"`
CurrentL2 float64 `json:"current_L2"`
CurrentL3 float64 `json:"current_L3"`
PowerFactor float64 `json:"power_factor"`
PowerFactorL1 float64 `json:"power_factor_L1"`
PowerFactorL2 float64 `json:"power_factor_L2"`
PowerFactorL3 float64 `json:"power_factor_L3"`
ReactiveEnergyP float64 `json:"reactive_energy_+"`
ReactiveEnergyL1P float64 `json:"reactive_energy_+_L1"`
ReactiveEnergyL2P float64 `json:"reactive_energy_+_L2"`
ReactiveEnergyL3P float64 `json:"reactive_energy_+_L3"`
ReactiveEnergyM float64 `json:"reactive_energy_-"`
ReactiveEnergyL1M float64 `json:"reactive_energy_-_L1"`
ReactiveEnergyL2M float64 `json:"reactive_energy_-_L2"`
ReactiveEnergyL3M float64 `json:"reactive_energy_-_L3"`
ReactivePowerP float64 `json:"reactive_power_+"`
ReactivePowerL1P float64 `json:"reactive_power_+_L1"`
ReactivePowerL2P float64 `json:"reactive_power_+_L2"`
ReactivePowerL3P float64 `json:"reactive_power_+_L3"`
ReactivePowerM float64 `json:"reactive_power_-"`
ReactivePowerL1M float64 `json:"reactive_power_-_L1"`
ReactivePowerL2M float64 `json:"reactive_power_-_L2"`
ReactivePowerL3M float64 `json:"reactive_power_-_L3"`
SupplyFrequency float64 `json:"supply_frequency"`
VoltageL1 float64 `json:"voltage_L1"`
VoltageL2 float64 `json:"voltage_L2"`
VoltageL3 float64 `json:"voltage_L3"`
} `json:"values"`
} `json:"smart-meter"`
}
Source Files
¶
- bosch_bpts5_hybrid.go
- bosch_bpts5_hybrid_decorators.go
- capacity.go
- cfos.go
- config.go
- discovergy.go
- dsmr.go
- dsmr_decorators.go
- fritzdect.go
- homematic.go
- homewizard.go
- lgess.go
- lgess_decorators.go
- meter.go
- meter_average.go
- meter_decorators.go
- modbus.go
- modbus_decorators.go
- mystrom.go
- openwb.go
- powerwall.go
- powerwall_decorators.go
- rct.go
- rct_decorators.go
- shelly.go
- shelly_energymeter.go
- sma.go
- sma_decorators.go
- tapo.go
- tasmota.go
- template.go
- tibber-pulse.go
- tplink.go
- tq-em.go
- tq-em420.go
- tq-em_decorators.go