diff --git a/packages/control/chargepoint/chargepoint.py b/packages/control/chargepoint/chargepoint.py index 5aadc0a798..ae2ecfe00e 100644 --- a/packages/control/chargepoint/chargepoint.py +++ b/packages/control/chargepoint/chargepoint.py @@ -825,19 +825,22 @@ def cp_ev_chargemode_support_phase_switch(self) -> bool: control_parameter.submode == Chargemode.PV_CHARGING and data.data.general_data.get_phases_chargemode(Chargemode.SCHEDULED_CHARGING.value, control_parameter.submode) == 0) - if ((data.data.general_data.data.chargemode_config.retry_failed_phase_switches and - self.data.control_parameter.failed_phase_switches > self.MAX_FAILED_PHASE_SWITCHES) or - (data.data.general_data.data.chargemode_config.retry_failed_phase_switches is False and - self.data.control_parameter.failed_phase_switches == 1)): - failed_phase_switches_reached = True - else: - failed_phase_switches_reached = False - return (self.cp_ev_support_phase_switch() and + if (self.cp_ev_support_phase_switch() and self.data.get.charge_state and (pv_auto_switch or scheduled_auto_switch) and (control_parameter.state == ChargepointState.CHARGING_ALLOWED or - control_parameter.state == ChargepointState.PHASE_SWITCH_DELAY) and - failed_phase_switches_reached is False) + control_parameter.state == ChargepointState.PHASE_SWITCH_DELAY)): + if ((data.data.general_data.data.chargemode_config.retry_failed_phase_switches and + self.data.control_parameter.failed_phase_switches > self.MAX_FAILED_PHASE_SWITCHES) or + (data.data.general_data.data.chargemode_config.retry_failed_phase_switches is False and + self.data.control_parameter.failed_phase_switches == 1)): + self.set_state_and_log( + "Keine automatische Umschaltung, da die maximale Anzahl an Fehlversuchen erreicht wurde. ") + return False + else: + return True + else: + return False def cp_ev_support_phase_switch(self) -> bool: return (self.data.config.auto_phase_switch_hw and