Homeassistent Switch: fix remaining power usages (part 2) (#23671)
This commit is contained in:
parent
f83244038f
commit
c0ab963b3a
2 changed files with 2 additions and 38 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue