diff --git a/core/loadpoint.go b/core/loadpoint.go index 59e91d6c91..0d368ea944 100644 --- a/core/loadpoint.go +++ b/core/loadpoint.go @@ -427,6 +427,9 @@ func (lp *Loadpoint) evChargeStartHandler() { lp.log.INFO.Println("start charging ->") lp.pushEvent(evChargeStart) + // charge status + lp.publish(keys.ChargerStatusReason, api.ReasonUnknown) + lp.stopWakeUpTimer() // soc update reset @@ -509,6 +512,9 @@ func (lp *Loadpoint) evVehicleDisconnectHandler() { lp.publish(keys.ChargedEnergy, lp.getChargedEnergy()) lp.publish(keys.ConnectedDuration, lp.clock.Since(lp.connectedTime).Round(time.Second)) + // charge status + lp.publish(keys.ChargerStatusReason, api.ReasonUnknown) + // forget startup energy offset lp.chargedAtStartup = 0 @@ -1674,7 +1680,7 @@ func (lp *Loadpoint) Update(sitePower float64, rates api.Rates, batteryBuffered, lp.publish(keys.Connected, lp.connected()) lp.publish(keys.Charging, lp.charging()) - if sr, ok := lp.charger.(api.StatusReasoner); ok { + if sr, ok := lp.charger.(api.StatusReasoner); ok && lp.GetStatus() == api.StatusB { if r, err := sr.StatusReason(); err == nil { lp.publish(keys.ChargerStatusReason, r) } else {