diff --git a/charger/homeassistant-switch.go b/charger/homeassistant-switch.go index 61495ffea..baf8b0e57 100644 --- a/charger/homeassistant-switch.go +++ b/charger/homeassistant-switch.go @@ -41,8 +41,6 @@ func NewHomeAssistantSwitchFromConfig(other map[string]interface{}) (api.Charger return NewHomeAssistantSwitch(cc.embed, cc.BaseURL, cc.Token, cc.SwitchEntity, cc.PowerEntity, cc.StandbyPower) } -//go:generate go tool decorate -f decorateHomeAssistantSwitch -b *HomeAssistantSwitch -r api.Charger -t "api.Meter,CurrentPower,func() (float64, error)" - func NewHomeAssistantSwitch(embed embed, baseURL, token, switchEntity, powerEntity string, standbypower float64) (api.Charger, error) { c := &HomeAssistantSwitch{ baseURL: strings.TrimSuffix(baseURL, "/"), @@ -55,6 +53,7 @@ func NewHomeAssistantSwitch(embed embed, baseURL, token, switchEntity, powerEnti return nil, errors.New("missing switch entity") } + // standbypower < 0 ensures that currentPower is never used by the switch socket if not present if powerEntity == "" && standbypower >= 0 { return nil, errors.New("missing either power or negative standbypower") } @@ -68,7 +67,7 @@ func NewHomeAssistantSwitch(embed embed, baseURL, token, switchEntity, powerEnti Base: c.Helper.Client.Transport, } - return decorateHomeAssistantSwitch(c, c.currentPower), nil + return c, nil } // Enabled implements the api.Charger interface diff --git a/charger/homeassistant-switch_decorators.go b/charger/homeassistant-switch_decorators.go deleted file mode 100644 index 978f196e6..000000000 --- a/charger/homeassistant-switch_decorators.go +++ /dev/null @@ -1,35 +0,0 @@ -package charger - -// Code generated by github.com/evcc-io/evcc/cmd/tools/decorate.go. DO NOT EDIT. - -import ( - "github.com/evcc-io/evcc/api" -) - -func decorateHomeAssistantSwitch(base *HomeAssistantSwitch, meter func() (float64, error)) api.Charger { - switch { - case meter == nil: - return base - - case meter != nil: - return &struct { - *HomeAssistantSwitch - api.Meter - }{ - HomeAssistantSwitch: base, - Meter: &decorateHomeAssistantSwitchMeterImpl{ - meter: meter, - }, - } - } - - return nil -} - -type decorateHomeAssistantSwitchMeterImpl struct { - meter func() (float64, error) -} - -func (impl *decorateHomeAssistantSwitchMeterImpl) CurrentPower() (float64, error) { - return impl.meter() -}