From 0299650c31c60c55e7a9c355eec9e6eeda7c7c77 Mon Sep 17 00:00:00 2001 From: andig Date: Wed, 1 Jul 2026 21:50:08 +0200 Subject: [PATCH] HEMS: run FNN and relay control loops immediately on start (#31392) --- hems/fnn/fnn.go | 3 ++- hems/relay/relay.go | 3 ++- tests/hems-yaml.evcc.yaml | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/hems/fnn/fnn.go b/hems/fnn/fnn.go index 32bd16780..01f90dad8 100644 --- a/hems/fnn/fnn.go +++ b/hems/fnn/fnn.go @@ -120,7 +120,8 @@ func (c *Fnn) SetUpdated(f func()) { // Run starts the FNN control loop. func (c *Fnn) Run() { - for range time.Tick(c.interval) { + // run immediately, then on every tick + for tick := time.Tick(c.interval); ; <-tick { if err := c.runCurtail(); err != nil { c.log.ERROR.Println(err) } diff --git a/hems/relay/relay.go b/hems/relay/relay.go index 4fe63bab8..601da0bf4 100644 --- a/hems/relay/relay.go +++ b/hems/relay/relay.go @@ -88,7 +88,8 @@ func (c *Relay) SetUpdated(f func()) { } func (c *Relay) Run() { - for range time.Tick(c.interval) { + // run immediately, then on every tick + for tick := time.Tick(c.interval); ; <-tick { if err := c.run(); err != nil { c.log.ERROR.Println(err) } diff --git a/tests/hems-yaml.evcc.yaml b/tests/hems-yaml.evcc.yaml index 8c958d028..ab004e8c8 100644 --- a/tests/hems-yaml.evcc.yaml +++ b/tests/hems-yaml.evcc.yaml @@ -15,4 +15,4 @@ hems: maxPower: 4200 limit: source: const - value: true + value: false # inactive: avoids recording a grid session so the locked modal shows no history