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 NewTasmota(uri, user, password, usage string, channels []int, cache time.Duration) (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 NewTasmota ¶
func NewTasmota(uri, user, password, usage string, channels []int, cache time.Duration) (api.Meter, error)
NewTasmota creates Tasmota meter
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 (*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
- tasmota_decorators.go
- template.go
- tibber-pulse.go
- tplink.go
- tq-em.go
- tq-em420.go
- tq-em_decorators.go