Api: use phases to configure default value for 1p3p charger (#3940)
This commit is contained in:
parent
f20b9bb58c
commit
7e0b569a38
2 changed files with 14 additions and 3 deletions
|
|
@ -1031,6 +1031,14 @@ func (lp *LoadPoint) scalePhasesIfAvailable(phases int) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// setDefaultPhases sets the default phase configuration
|
||||
func (lp *LoadPoint) setDefaultPhases(phases int) {
|
||||
lp.Lock()
|
||||
defer lp.Unlock()
|
||||
lp.DefaultPhases = phases
|
||||
lp.phaseTimer = time.Time{}
|
||||
}
|
||||
|
||||
// setPhases sets the number of enabled phases without modifying the charger
|
||||
func (lp *LoadPoint) setPhases(phases int) {
|
||||
if lp.GetPhases() != phases {
|
||||
|
|
|
|||
|
|
@ -116,11 +116,14 @@ func (lp *LoadPoint) SetPhases(phases int) error {
|
|||
return fmt.Errorf("invalid number of phases: %d", phases)
|
||||
}
|
||||
|
||||
if _, ok := lp.charger.(api.ChargePhases); ok && phases > 0 {
|
||||
return lp.scalePhases(phases)
|
||||
// set new default
|
||||
lp.setDefaultPhases(phases)
|
||||
|
||||
// apply immediately if not 1p3p
|
||||
if _, ok := lp.charger.(api.ChargePhases); !ok {
|
||||
lp.setPhases(phases)
|
||||
}
|
||||
|
||||
lp.setPhases(phases)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue