From 1c19de612a6445f21bb743f328dacf6d43db5d91 Mon Sep 17 00:00:00 2001 From: andig Date: Thu, 5 Sep 2024 13:36:51 +0200 Subject: [PATCH] Reset status reason when charging or disconnecting (#15909) --- core/loadpoint.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 {