Loadpoint: order setting min and max current (#28425)
This commit is contained in:
parent
5174394b0f
commit
5220bbfa0b
1 changed files with 18 additions and 5 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue