diff --git a/assets/js/components/Loadpoint.vue b/assets/js/components/Loadpoint.vue index b2c3ada9c..90042216c 100644 --- a/assets/js/components/Loadpoint.vue +++ b/assets/js/components/Loadpoint.vue @@ -183,8 +183,8 @@ export default { phases: Number, phasesConfigured: Number, phasesActive: Number, - chargerPhaseSwitching: Boolean, - chargerPhaseReading: Boolean, + chargerPhases1p3p: Boolean, + chargerPhysicalPhases: Number, minCurrent: Number, maxCurrent: Number, chargeCurrent: Number, diff --git a/assets/js/components/LoadpointSettingsModal.vue b/assets/js/components/LoadpointSettingsModal.vue index 6b4506c89..2fd21aedf 100644 --- a/assets/js/components/LoadpointSettingsModal.vue +++ b/assets/js/components/LoadpointSettingsModal.vue @@ -47,7 +47,7 @@ {{ $t("main.loadpointSettings.phasesConfigured.label") }}
+
{{ $t( @@ -184,8 +184,8 @@ export default { id: [String, Number], phasesConfigured: Number, phasesActive: Number, - chargerPhaseSwitching: Boolean, - chargerPhaseReading: Boolean, + chargerPhases1p3p: Boolean, + chargerPhysicalPhases: Number, batteryBoost: Boolean, batteryBoostAvailable: Boolean, mode: String, @@ -215,14 +215,14 @@ export default { }, computed: { phasesOptions() { - if (this.chargerPhaseSwitching) { - // automatic switching - return [PHASES_AUTO, PHASES_3, PHASES_1]; - } - if (this.chargerPhaseReading) { + if (this.chargerPhysicalPhases == 1) { // known fixed phase configuration, no settings required return []; } + if (this.chargerPhases1p3p) { + // automatic switching + return [PHASES_AUTO, PHASES_3, PHASES_1]; + } // 1p or 3p possible return [PHASES_3, PHASES_1]; }, @@ -230,7 +230,7 @@ export default { return this.collectProps(LoadpointSettingsBatteryBoost); }, maxPower() { - if (this.chargerPhaseSwitching) { + if (this.chargerPhases1p3p) { if (this.phasesConfigured === PHASES_AUTO) { return this.maxPowerPhases(3); } @@ -241,7 +241,7 @@ export default { return this.fmtW(this.maxCurrent * V * this.phasesActive); }, minPower() { - if (this.chargerPhaseSwitching) { + if (this.chargerPhases1p3p) { if (this.phasesConfigured === PHASES_AUTO) { return this.minPowerPhases(1); } diff --git a/core/keys/loadpoint.go b/core/keys/loadpoint.go index f9966df84..4308fddf3 100644 --- a/core/keys/loadpoint.go +++ b/core/keys/loadpoint.go @@ -22,8 +22,8 @@ const ( ChargerIcon = "chargerIcon" // charger icon for ui ChargerFeature = "chargerFeature" // charger feature - ChargerPhaseSwitching = "chargerPhaseSwitching" // api.PhaseSwitcher: phase switcher (1p3p chargers) available - ChargerPhaseReading = "chargerPhaseReading" // api.PhaseDescriber: get charger phases available + ChargerPhysicalPhases = "chargerPhysicalPhases" // charger phases + ChargerPhases1p3p = "chargerPhases1p3p" // phase switcher (1p3p chargers) ChargerStatusReason = "chargerStatusReason" // either awaiting authorization or disconnect required // loadpoint status diff --git a/core/loadpoint.go b/core/loadpoint.go index 04de9969e..906a4c39b 100644 --- a/core/loadpoint.go +++ b/core/loadpoint.go @@ -624,13 +624,18 @@ func (lp *Loadpoint) Prepare(uiChan chan<- util.Param, pushChan chan<- push.Even lp.publish(keys.DisableDelay, lp.Disable.Delay) lp.publish(keys.PhasesConfigured, lp.configuredPhases) - lp.publish(keys.ChargerPhaseSwitching, lp.hasPhaseSwitching()) - lp.publish(keys.ChargerPhaseReading, lp.getChargerPhysicalPhases() != 0) + lp.publish(keys.ChargerPhases1p3p, lp.hasPhaseSwitching()) lp.publish(keys.PhasesEnabled, lp.phases) lp.publish(keys.PhasesActive, lp.ActivePhases()) lp.publishTimer(phaseTimer, 0, timerInactive) lp.publishTimer(pvTimer, 0, timerInactive) + if phases := lp.getChargerPhysicalPhases(); phases != 0 { + lp.publish(keys.ChargerPhysicalPhases, phases) + } else { + lp.publish(keys.ChargerPhysicalPhases, nil) + } + // charger features for _, f := range []api.Feature{api.IntegratedDevice, api.Heating} { lp.publishChargerFeature(f)