From 22c7db9263ed4ecde3bfe6ace883b31ba0ecea70 Mon Sep 17 00:00:00 2001 From: andig Date: Sun, 3 Jul 2022 12:26:19 +0200 Subject: [PATCH] Fix applying phase configuration at startup (#3762) --- core/loadpoint.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/core/loadpoint.go b/core/loadpoint.go index 918251aed..023d029ae 100644 --- a/core/loadpoint.go +++ b/core/loadpoint.go @@ -214,11 +214,15 @@ func NewLoadPointFromConfig(log *util.Logger, cp configProvider, other map[strin lp.charger = cp.Charger(lp.ChargerRef) lp.configureChargerType(lp.charger) - // setup fixed phases - if _, ok := lp.charger.(api.ChargePhases); ok && lp.GetPhases() != 0 { - lp.log.WARN.Printf("locking phase config to %dp for switchable charger", lp.GetPhases()) - // set to unknown since we don't know the charger's setting yet and don't want to interrupt charging - lp.setPhases(0) + // setup fixed phases: + // - simple charger starts with phases config if specified + // - switchable charger starts at 0p since we don't know the current setting + if _, ok := lp.charger.(api.ChargePhases); !ok { + if lp.DefaultPhases != 0 { + lp.phases = lp.DefaultPhases + } + } else if lp.DefaultPhases != 0 { + lp.log.WARN.Printf("locking phase config to %dp for switchable charger", lp.DefaultPhases) } // allow target charge handler to access loadpoint