Documentation
¶
Index ¶
- func NewBoschBpts5HybridFromConfig(other map[string]any) (api.Meter, error)
- func NewCCUFromConfig(other map[string]any) (api.Meter, error)
- func NewCfosPowerBrainFromConfig(ctx context.Context, other map[string]any) (api.Meter, error)
- func NewConfigurableFromConfig(ctx context.Context, other map[string]any) (api.Meter, error)
- func NewDiscovergyFromConfig(other map[string]any) (api.Meter, error)
- func NewDsmr(uri, energy string, timeout time.Duration) (api.Meter, error)
- func NewDsmrFromConfig(other map[string]any) (api.Meter, error)
- func NewE3dc(cfg rscp.ClientConfig, usage templates.Usage, dischargeLimit uint32, ...) (api.Meter, error)
- func NewE3dcFromConfig(other map[string]any) (api.Meter, error)
- func NewEEBus(ctx context.Context, ski, ip string, usage *templates.Usage) (api.Meter, error)
- func NewEEBusFromConfig(ctx context.Context, other map[string]any) (api.Meter, error)
- func NewEcoFlowPowerOceanFromConfig(other map[string]any) (api.Meter, error)
- func NewFritzDECTFromConfig(other map[string]any) (api.Meter, error)
- func NewFromConfig(ctx context.Context, typ string, other map[string]any) (api.Meter, error)
- func NewFromTemplateConfig(ctx context.Context, other map[string]any) (api.Meter, error)
- func NewGoodWeWiFi(uri, usage string, capacity func() float64, timeout time.Duration) (api.Meter, error)
- func NewGoodWeWifiFromConfig(other map[string]any) (api.Meter, error)
- func NewHomeAssistantFromConfig(other map[string]any) (api.Meter, error)
- func NewHomeWizardFromConfig(other map[string]any) (api.Meter, error)
- func NewLgEss(uri, usage, registration, password string, cache time.Duration, ...) (api.Meter, error)
- func NewLgEss8FromConfig(other map[string]any) (api.Meter, error)
- func NewLgEss15FromConfig(other map[string]any) (api.Meter, error)
- func NewLgEssFromConfig(other map[string]any, essType lgpcs.Model) (api.Meter, error)
- func NewMbmdFromConfig(ctx context.Context, other map[string]any) (api.Meter, error)
- func NewMovingAverageFromConfig(ctx context.Context, other map[string]any) (api.Meter, error)
- func NewMyStromFromConfig(other map[string]any) (api.Meter, error)
- func NewOpenWBFromConfig(other map[string]any) (api.Meter, error)
- func NewPowerWall(uri, usage, user, password string, cache time.Duration, refreshToken string, ...) (api.Meter, error)
- func NewPowerWallFromConfig(other map[string]any) (api.Meter, error)
- func NewRCT(ctx context.Context, uri, usage string, batterySocLimits batterySocLimits, ...) (api.Meter, error)
- func NewRCTFromConfig(ctx context.Context, other map[string]any) (api.Meter, error)
- func NewSMAFromConfig(other map[string]any) (api.Meter, error)
- func NewShellyFromConfig(other map[string]any) (api.Meter, error)
- func NewTPLinkFromConfig(other map[string]any) (api.Meter, error)
- func NewTapoFromConfig(other map[string]any) (api.Meter, error)
- func NewTasmota(uri, user, password, usage string, channels []int, cache time.Duration) (api.Meter, error)
- func NewTasmotaFromConfig(other map[string]any) (api.Meter, error)
- func NewTibberFromConfig(ctx context.Context, other map[string]any) (api.Meter, error)
- func NewTqEm420FromConfig(other map[string]any) (api.Meter, error)
- func NewTqEmFromConfig(other map[string]any) (api.Meter, error)
- func NewZendureFromConfig(other map[string]any) (api.Meter, error)
- func Types() []string
- type BoschBpts5Hybrid
- type CCU
- type CfosPowerBrain
- type Discovergy
- type Dsmr
- type E3dc
- type EEBus
- func (c *EEBus) CurrentPower() (float64, error)
- func (c *EEBus) Currents() (float64, float64, float64, error)
- func (c *EEBus) Curtail(curtail bool) error
- func (c *EEBus) Curtailed() (bool, error)
- func (c *EEBus) Dim(dim bool) error
- func (c *EEBus) Dimmed() (bool, error)
- func (c *EEBus) TotalEnergy() (float64, error)
- func (c *EEBus) UseCaseEvent(_ spineapi.DeviceRemoteInterface, entity spineapi.EntityRemoteInterface, ...)
- func (c *EEBus) Voltages() (float64, float64, float64, error)
- type EcoFlowPowerOcean
- type EcoFlowPowerOceanBattery
- type HomeWizard
- type LgEss
- type Mbmd
- type Meter
- type MovingAverage
- type PowerWall
- type RCT
- type SMA
- type Shelly
- type Tasmota
- type Tibber
- type TqEM420
- type TqEm
- type TqEm420Data
- type Zendure
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 NewEEBus ¶
NewEEBus creates an EEBus meter Uses MGCP only when usage="grid", otherwise uses MPC (default)
func NewEEBusFromConfig ¶
NewEEBusFromConfig creates an EEBus meter from generic config
func NewEcoFlowPowerOceanFromConfig ¶
NewEcoFlowPowerOceanFromConfig creates an EcoFlow PowerOcean meter from generic config
func NewFritzDECTFromConfig ¶
NewFritzDECTFromConfig creates a fritzdect meter from generic config
func NewFromConfig ¶
NewFromConfig creates meter from configuration
func NewFromTemplateConfig ¶
func NewGoodWeWiFi ¶
func NewGoodWeWifiFromConfig ¶
func NewHomeAssistantFromConfig ¶
NewHomeAssistantFromConfig creates a HomeAssistant meter from generic config
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, batterySocLimits batterySocLimits, batteryPowerLimits batteryPowerLimits, essType lgpcs.Model) (api.Meter, error)
NewLgEss creates an LgEss Meter
func NewLgEssFromConfig ¶
NewLgEssFromConfig creates an LgEss Meter from generic config
func NewMbmdFromConfig ¶
NewMbmdFromConfig 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 ¶
func NewPowerWall(uri, usage, user, password string, cache time.Duration, refreshToken string, siteId int64, batterySocLimits batterySocLimits, batteryPowerLimits batteryPowerLimits) (api.Meter, error)
NewPowerWall creates a Tesla PowerWall Meter
func NewPowerWallFromConfig ¶
NewPowerWallFromConfig creates a PowerWall Powerwall Meter from generic config
func NewRCT ¶
func NewRCT(ctx context.Context, uri, usage string, batterySocLimits batterySocLimits, batteryPowerLimits batteryPowerLimits, cache time.Duration, externalPower bool, capacity, capacity2 float64) (api.Meter, error)
NewRCT creates an RCT meter
func NewRCTFromConfig ¶
NewRCTFromConfig creates an RCT from generic config
func NewSMAFromConfig ¶
NewSMAFromConfig creates an SMA meter 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
func NewTqEmFromConfig ¶
NewTqEmFromConfig creates a new configurable meter
func NewZendureFromConfig ¶
NewZendureFromConfig creates a Zendure meter from generic config
Types ¶
type BoschBpts5Hybrid ¶
type BoschBpts5Hybrid struct {
// contains filtered or unexported fields
}
func NewBoschBpts5Hybrid ¶
func NewBoschBpts5Hybrid(uri, usage string, cache time.Duration) (*BoschBpts5Hybrid, error)
NewBoschBpts5Hybrid creates a Bosch BPT-S 5 Hybrid Meter
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 ¶
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 E3dc ¶
type E3dc struct {
// contains filtered or unexported fields
}
func (*E3dc) CurrentPower ¶
type EEBus ¶
EEBus is an EEBus meter implementation supporting MGCP, MPC, LPC and LPP use cases Uses MGCP (Monitoring of Grid Connection Point) only when usage="grid" Uses MPC (Monitoring & Power Consumption) for all other cases (default) Additionally supports LPC (Limitation of Power Consumption) and LPP (Limitation of Power Production)
func (*EEBus) CurrentPower ¶
func (*EEBus) TotalEnergy ¶
func (*EEBus) UseCaseEvent ¶
func (c *EEBus) UseCaseEvent(_ spineapi.DeviceRemoteInterface, entity spineapi.EntityRemoteInterface, event eebusapi.EventType)
UseCaseEvent implements the eebus.Device interface
type EcoFlowPowerOcean ¶
type EcoFlowPowerOcean struct {
// contains filtered or unexported fields
}
EcoFlowPowerOcean represents the EcoFlow PowerOcean meter
func NewEcoFlowPowerOcean ¶
func NewEcoFlowPowerOcean(accessKey, secretKey, deviceId, usage string, cache time.Duration) (*EcoFlowPowerOcean, error)
NewEcoFlowPowerOcean constructs the EcoFlowPowerOcean struct
func (*EcoFlowPowerOcean) CurrentPower ¶
func (m *EcoFlowPowerOcean) CurrentPower() (float64, error)
CurrentPower implements the api.Meter interface
type EcoFlowPowerOceanBattery ¶
type EcoFlowPowerOceanBattery struct {
*EcoFlowPowerOcean
}
EcoFlowPowerOceanBattery represents the EcoFlow PowerOcean battery decorator
func (*EcoFlowPowerOceanBattery) Soc ¶
func (m *EcoFlowPowerOceanBattery) Soc() (float64, error)
Soc implements the api.Battery interface for battery usage
type HomeWizard ¶
type HomeWizard struct {
// contains filtered or unexported fields
}
HomeWizard meter implementation
func NewHomeWizard ¶
NewHomeWizard creates HomeWizard meter
func (*HomeWizard) CurrentPower ¶
func (c *HomeWizard) CurrentPower() (float64, error)
CurrentPower implements the api.Meter interface
func (*HomeWizard) Currents ¶
func (c *HomeWizard) Currents() (float64, float64, float64, error)
Currents implements the api.PhaseCurrents 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 Mbmd ¶
type Mbmd struct {
// contains filtered or unexported fields
}
Mbmd is an api.Meter implementation with configurable getters and setters.
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
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 Shelly ¶
type Shelly struct {
shelly.Connection
// contains filtered or unexported fields
}
Shelly meter considering usage
func NewShelly ¶
func NewShelly(uri, user, password, usage string, channel int, cache time.Duration) (*Shelly, error)
NewShelly creates Shelly meter
func (*Shelly) CurrentPower ¶
CurrentPower implements the api.Meter 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
- cfos.go
- config.go
- discovergy.go
- dsmr.go
- dsmr_decorators.go
- e3dc.go
- e3dc_decorators.go
- ecoflow-powerocean.go
- eebus.go
- eebus_events.go
- fritzdect.go
- goodwe-wifi.go
- goodwe-wifi_decorators.go
- homeassistant.go
- homematic.go
- homewizard.go
- lgess.go
- lgess_decorators.go
- mbmd.go
- mbmd_operation.go
- meter.go
- meter_average.go
- meter_decorators.go
- mystrom.go
- openwb.go
- powerwall.go
- powerwall_decorators.go
- rct.go
- rct_decorators.go
- shelly.go
- shelly_decorators.go
- sma.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
- usage_battery.go
- usage_pv.go
- zendure.go
Directories
¶
| Path | Synopsis |
|---|---|
|
Package lgpcs implements access to the LG pcs device (aka inverter).
|
Package lgpcs implements access to the LG pcs device (aka inverter). |