From c0ab963b3aaa05ab1dbfe45dd883f38cb61410d7 Mon Sep 17 00:00:00 2001 From: andig Date: Thu, 18 Sep 2025 09:37:08 +0200 Subject: [PATCH] Homeassistent Switch: fix remaining power usages (part 2) (#23671) --- charger/homeassistant-switch.go | 5 ++-- charger/homeassistant-switch_decorators.go | 35 ---------------------- 2 files changed, 2 insertions(+), 38 deletions(-) delete mode 100644 charger/homeassistant-switch_decorators.go 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() -}