diff --git a/packages/control/chargepoint/chargepoint.py b/packages/control/chargepoint/chargepoint.py index d303457ae6..76977e8e15 100644 --- a/packages/control/chargepoint/chargepoint.py +++ b/packages/control/chargepoint/chargepoint.py @@ -340,6 +340,10 @@ def _is_phase_switch_required(self) -> bool: STOP_CHARGING = ", dafür wird die Ladung unterbrochen." def check_phase_switch_completed(self): + def _set_failed_phase_switches() -> None: + # Umschaltung fehlgeschlagen + if self.data.set.phases_to_use != self.data.get.phases_in_use: + self.data.control_parameter.failed_phase_switches += 1 try: evu_counter = data.data.counter_all_data.get_evu_counter() charging_ev = self.data.set.charging_ev_data @@ -369,8 +373,10 @@ def check_phase_switch_completed(self): if phase_switch.phase_switch_thread_alive(self.num) is False: self.data.control_parameter.state = ChargepointState.PHASE_SWITCH_AWAITED if self._is_phase_switch_required() is False: + _set_failed_phase_switches() self.data.control_parameter.state = ChargepointState.CHARGING_ALLOWED else: + _set_failed_phase_switches() self.data.control_parameter.state = ChargepointState.CHARGING_ALLOWED except Exception: log.exception("Fehler in der Ladepunkt-Klasse von "+str(self.num)) @@ -396,7 +402,6 @@ def _set_failed_phase_switches() -> None: self.data.set.phases_to_use = self.data.control_parameter.phases if self.hw_supports_phase_switch(): if self._is_phase_switch_required(): - _set_failed_phase_switches() # Wenn die Umschaltverzögerung aktiv ist, darf nicht umgeschaltet werden. if (self.data.control_parameter.state != ChargepointState.PERFORMING_PHASE_SWITCH and (self.data.control_parameter.state != ChargepointState.WAIT_FOR_USING_PHASES or diff --git a/packages/helpermodules/command.py b/packages/helpermodules/command.py index 52edb8435e..21b1b66f7d 100644 --- a/packages/helpermodules/command.py +++ b/packages/helpermodules/command.py @@ -272,6 +272,7 @@ def setup_added_chargepoint(): charge_template = SubData.ev_charge_template_data[f"ct{SubData.ev_data['ev0'].data.charge_template}"] charge_template = dataclass_utils.asdict(charge_template.data) Pub().pub(f'openWB/chargepoint/{new_id}/set/charge_template', charge_template) + Pub().pub(f'openWB/chargepoint/{new_id}/set/manual_lock', False) self.max_id_hierarchy = self.max_id_hierarchy + 1 Pub().pub("openWB/set/command/max_id/hierarchy", self.max_id_hierarchy) if self.max_id_chargepoint_template == -1: