diff --git a/meter/openwb.go b/meter/openwb.go index 121e16188..d923d266e 100644 --- a/meter/openwb.go +++ b/meter/openwb.go @@ -101,7 +101,11 @@ func NewOpenWBFromConfig(other map[string]interface{}) (api.Meter, error) { return nil, errors.New("battery not available") } - power = floatG(fmt.Sprintf("%s/housebattery/%s", cc.Topic, openwb.PowerTopic)) + inner := floatG(fmt.Sprintf("%s/housebattery/%s", cc.Topic, openwb.PowerTopic)) + power = func() (float64, error) { + f, err := inner() + return -f, err + } soc = floatG(fmt.Sprintf("%s/housebattery/%s", cc.Topic, openwb.SocTopic)) capacity = cc.capacity.Decorator()