From 7819662ad1dff4bdaadb4be23dd6f6fb67ee7408 Mon Sep 17 00:00:00 2001 From: andig Date: Tue, 2 Jan 2024 22:12:05 +0100 Subject: [PATCH] Revert "Easee: wait for opmode to initialise (#11342)" This reverts commit b8871310f22a0e7dc7fe4c4f07f5e80250951793. --- charger/easee.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/charger/easee.go b/charger/easee.go index 8c6026d40..5c4f0d5ae 100644 --- a/charger/easee.go +++ b/charger/easee.go @@ -45,6 +45,7 @@ type Easee struct { *request.Helper charger string site, circuit int + updated time.Time lastEnergyPollTriggered time.Time log *util.Logger mux sync.Mutex @@ -277,6 +278,13 @@ func (c *Easee) ProductUpdate(i json.RawMessage) { c.mux.Lock() defer c.mux.Unlock() + if c.updated.IsZero() { + defer once.Do(func() { + close(c.done) + }) + } + c.updated = time.Now() + if prevTime, ok := c.obsTime[res.ID]; ok && prevTime.After(res.Timestamp) { // received observation is outdated, ignoring return @@ -328,7 +336,7 @@ func (c *Easee) ProductUpdate(i json.RawMessage) { c.sessionStartEnergy = nil } - // OpMode changed to 3/charging. Start ticker for periodic requests to update LIFETIME_ENERGY + // OpMode changed TO charging. Start ticker for periodic requests to update LIFETIME_ENERGY if c.opMode != easee.ModeCharging && opMode == easee.ModeCharging { if c.stopTicker == nil { c.stopTicker = make(chan struct{}) @@ -347,7 +355,7 @@ func (c *Easee) ProductUpdate(i json.RawMessage) { } } - // OpMode changed from >1 ("car connected") to 1/disconnected - stop ticker if channel exists + // OpMode changed FROM >1 ("car connected") TO 1/disconnected - stop ticker if channel exists // channel may not exist regularly if the car was connected but charging never started if c.opMode != easee.ModeDisconnected && opMode == easee.ModeDisconnected && c.stopTicker != nil { close(c.stopTicker) @@ -363,11 +371,6 @@ func (c *Easee) ProductUpdate(i json.RawMessage) { c.requestLifetimeEnergyUpdate() } - // startup completed - if c.opMode != 0 { - once.Do(func() { close(c.done) }) - } - c.opMode = opMode case easee.REASON_FOR_NO_CURRENT: