Loadpoint: order setting min and max current (#28425)

This commit is contained in:
guido4096 2026-03-21 13:00:06 +01:00 • committed by GitHub
parent 5174394b0f
commit 5220bbfa0b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -81,11 +81,24 @@ func (payload DynamicConfig) Apply(lp API) error {
err = lp.SetPhasesConfigured(payload.PhasesConfigured)
}
if err == nil && payload.MinCurrent != 0 {
err = lp.SetMinCurrent(payload.MinCurrent)
}
if err == nil && payload.MaxCurrent != 0 {
err = lp.SetMaxCurrent(payload.MaxCurrent)
if err == nil {
// In case both min and max current are set, we need to set them in the correct order to avoid validation errors
switch {
case payload.MinCurrent != 0 && payload.MaxCurrent != 0:
if payload.MaxCurrent > lp.GetMaxCurrent() {
if err = lp.SetMaxCurrent(payload.MaxCurrent); err == nil {
err = lp.SetMinCurrent(payload.MinCurrent)
}
} else {
if err = lp.SetMinCurrent(payload.MinCurrent); err == nil {
err = lp.SetMaxCurrent(payload.MaxCurrent)
}
}
case payload.MinCurrent != 0:
err = lp.SetMinCurrent(payload.MinCurrent)
case payload.MaxCurrent != 0:
err = lp.SetMaxCurrent(payload.MaxCurrent)
}
}
return err