Auto-detect EVSE meter (#459)
This commit is contained in:
parent
84dd7d8f20
commit
eef2f1dc58
1 changed files with 14 additions and 0 deletions
|
|
@ -34,6 +34,7 @@ type EVSEListEntry struct {
|
|||
ActualPower float64 `json:"actualPower"`
|
||||
Duration int64 `json:"duration"`
|
||||
AlwaysActive bool `json:"alwaysActive"`
|
||||
HasMeter bool `json:"hasMeter"`
|
||||
LastActionUser string `json:"lastActionUser"`
|
||||
LastActionUID string `json:"lastActionUID"`
|
||||
Energy float64 `json:"energy"`
|
||||
|
|
@ -75,6 +76,13 @@ func NewEVSEWifiFromConfig(other map[string]interface{}) (api.Charger, error) {
|
|||
return evse, err
|
||||
}
|
||||
|
||||
// auto-detect EVSE meter
|
||||
if meter, err := evse.HasMeter(); meter && err == nil {
|
||||
cc.Meter.Energy = true
|
||||
cc.Meter.Energy = true
|
||||
cc.Meter.Currents = true
|
||||
}
|
||||
|
||||
// decorate Charger with Meter
|
||||
var currentPower func() (float64, error)
|
||||
if cc.Meter.Energy {
|
||||
|
|
@ -139,6 +147,12 @@ func (evse *EVSEWifi) getParameters() (EVSEListEntry, error) {
|
|||
return params, nil
|
||||
}
|
||||
|
||||
// HasMeter returns the useMeter api response
|
||||
func (evse *EVSEWifi) HasMeter() (bool, error) {
|
||||
params, err := evse.getParameters()
|
||||
return params.HasMeter, err
|
||||
}
|
||||
|
||||
// Status implements the Charger.Status interface
|
||||
func (evse *EVSEWifi) Status() (api.ChargeStatus, error) {
|
||||
params, err := evse.getParameters()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue