From 9ebdfc331e84b23413c10b59e89b7fe1d44fa614 Mon Sep 17 00:00:00 2001 From: andig Date: Wed, 31 Jan 2024 23:07:39 +0100 Subject: [PATCH] Loadpoint: fix active phases not initialised (#11962) --- core/loadpoint.go | 6 ++++++ core/site.go | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/core/loadpoint.go b/core/loadpoint.go index 276fc2123..a46db5907 100644 --- a/core/loadpoint.go +++ b/core/loadpoint.go @@ -7,6 +7,7 @@ import ( "reflect" "strings" "sync" + "testing" "time" evbus "github.com/asaskevich/EventBus" @@ -234,6 +235,7 @@ func NewLoadpointFromConfig(log *util.Logger, settings *Settings, other map[stri // phase switching defaults based on charger capabilities if !lp.hasPhaseSwitching() { lp.configuredPhases = 3 + lp.phases = 3 } // TODO deprecated @@ -305,11 +307,15 @@ func NewLoadpoint(log *util.Logger, settings *Settings) *Loadpoint { // restoreSettings restores loadpoint settings func (lp *Loadpoint) restoreSettings() { + if testing.Testing() { + return + } if v, err := lp.settings.String(keys.Mode); err == nil && v != "" { lp.setMode(api.ChargeMode(v)) } if v, err := lp.settings.Int(keys.PhasesConfigured); err == nil && (v > 0 || lp.hasPhaseSwitching()) { lp.setConfiguredPhases(int(v)) + lp.phases = lp.configuredPhases } if v, err := lp.settings.Float(keys.MinCurrent); err == nil && v > 0 { lp.setMinCurrent(v) diff --git a/core/site.go b/core/site.go index b85cb7d95..2e248060a 100644 --- a/core/site.go +++ b/core/site.go @@ -7,6 +7,7 @@ import ( "math" "strings" "sync" + "testing" "time" "github.com/avast/retry-go/v4" @@ -234,6 +235,9 @@ func NewSite() *Site { // restoreMeters restores site meter configuration func (site *Site) restoreMeters() { + if testing.Testing() { + return + } if v, err := settings.String(keys.GridMeter); err == nil && v != "" { site.Meters.GridMeterRef = v } @@ -247,6 +251,9 @@ func (site *Site) restoreMeters() { // restoreSettings restores site settings func (site *Site) restoreSettings() error { + if testing.Testing() { + return nil + } if v, err := settings.String(keys.Title); err == nil { site.Title = v }