From 6fe0df4d403ce7f7f589d6729369cdfdd8074d09 Mon Sep 17 00:00:00 2001 From: LKuemmel Date: Wed, 3 Jun 2026 11:31:19 +0200 Subject: [PATCH] phase switch: fix reset phase switch delay --- packages/control/ev/ev.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/packages/control/ev/ev.py b/packages/control/ev/ev.py index c7ee700c9c..e7e38bda4d 100644 --- a/packages/control/ev/ev.py +++ b/packages/control/ev/ev.py @@ -434,17 +434,18 @@ def reset_phase_switch_delay(self, control_parameter: ControlParameter, max_phas Die Phasenumschaltung kann nicht abgebrochen werden! """ - control_parameter.timestamp_phase_switch_buffer_start = None - control_parameter.state = ChargepointState.CHARGING_ALLOWED - if control_parameter.state == ChargepointState.PHASE_SWITCH_DELAY and control_parameter.phases == 1: - # Wenn der Timer läuft, ist den Control-Parametern die alte Phasenzahl hinterlegt. - # bei der Umschaltung 3p1p wird keine Leistung reserviert - evu_counter = data.data.counter_all_data.get_evu_counter() - reserved = max(0, control_parameter.min_current * max_phases * 230 - - self.ev_template.data.max_current_single_phase * 230) - evu_counter.data.set.reserved_surplus -= reserved - log.debug(f"Zurücksetzen von {reserved}W reservierter Leistung für die Phasenumschaltung. " - f"reservierte Leistung: {evu_counter.data.set.reserved_surplus} W") + if control_parameter.state == ChargepointState.PHASE_SWITCH_DELAY: + control_parameter.timestamp_phase_switch_buffer_start = None + control_parameter.state = ChargepointState.CHARGING_ALLOWED + if control_parameter.phases == 1: + # Wenn der Timer läuft, ist den Control-Parametern die alte Phasenzahl hinterlegt. + # bei der Umschaltung 3p1p wird keine Leistung reserviert + evu_counter = data.data.counter_all_data.get_evu_counter() + reserved = max(0, control_parameter.min_current * max_phases * 230 - + self.ev_template.data.max_current_single_phase * 230) + evu_counter.data.set.reserved_surplus -= reserved + log.debug(f"Zurücksetzen von {reserved}W reservierter Leistung für die Phasenumschaltung. " + f"reservierte Leistung: {evu_counter.data.set.reserved_surplus} W") def reset_phase_switch(self, control_parameter: ControlParameter): if control_parameter.state == ChargepointState.PERFORMING_PHASE_SWITCH: