From c855b0b273a1ade52db92a4da459b6ff5937636c Mon Sep 17 00:00:00 2001 From: Ingo <71161062+iseeberg79@users.noreply.github.com> Date: Sat, 14 Mar 2026 17:25:19 +0100 Subject: [PATCH] Easee: clear stale live measurements on cloud disconnect (#28078) --- charger/easee.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/charger/easee.go b/charger/easee.go index 9b32e4e50..e94710721 100644 --- a/charger/easee.go +++ b/charger/easee.go @@ -40,6 +40,8 @@ import ( "golang.org/x/oauth2" ) +const obsTimeout = 5 * time.Minute + // Easee charger implementation type Easee struct { *request.Helper @@ -749,6 +751,10 @@ func (c *Easee) CurrentPower() (float64, error) { c.mux.RLock() defer c.mux.RUnlock() + if t, ok := c.obsTime[easee.TOTAL_POWER]; ok && time.Since(t) > obsTimeout { + return 0, nil + } + return c.currentPower, nil } @@ -767,6 +773,11 @@ var _ api.PhaseCurrents = (*Easee)(nil) func (c *Easee) Currents() (float64, float64, float64, error) { c.mux.RLock() defer c.mux.RUnlock() + + if t, ok := c.obsTime[easee.IN_CURRENT_T3]; ok && time.Since(t) > obsTimeout { + return 0, 0, 0, nil + } + return c.currentL1, c.currentL2, c.currentL3, nil }