From db934232744c81f07cca608e1f5606bffa4113c1 Mon Sep 17 00:00:00 2001 From: LKuemmel Date: Thu, 1 Oct 2026 11:01:31 +0200 Subject: [PATCH 1/3] Keine Phasenumschaltung: Bugfix Ermitltlung der Soll-Phasen vor Ladestart aus Kofnig --- packages/control/chargepoint/chargepoint.py | 26 ++++++++++--------- .../control/chargepoint/get_phases_test.py | 11 ++++++-- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/packages/control/chargepoint/chargepoint.py b/packages/control/chargepoint/chargepoint.py index a26b402769..e3f6fa1575 100644 --- a/packages/control/chargepoint/chargepoint.py +++ b/packages/control/chargepoint/chargepoint.py @@ -519,19 +519,21 @@ def set_phases(self, phases: int, template_phases: int) -> int: phases = min(phases, self.get_max_phase_hw()) if phases != self.data.get.phases_in_use: - # Wenn noch kein Eintrag im Protokoll erstellt wurde, wurde noch nicht geladen und die Phase kann noch - # umgeschaltet werden. - if self.data.set.log.imported_since_plugged != 0 and charging_ev.ev_template.data.prevent_phase_switch: - log.info(f"Phasenumschaltung an Ladepunkt {self.num} nicht möglich, da bei EV" - f"{charging_ev.num} nach Ladestart nicht mehr umgeschaltet werden darf.") - if self.data.get.phases_in_use != 0: + + if self.data.set.log.imported_since_plugged != 0: + if self.hw_supports_phase_switch() is False: + # sonst passt die Phasenzahl nicht bei Autos, die eine Phase weg schalten. + log.info(f"Phasenumschaltung an Ladepunkt {self.num} wird durch die Hardware nicht unterstützt.") phases = self.data.get.phases_in_use - else: - phases = self.data.control_parameter.phases - elif self.hw_supports_phase_switch() is False: - # sonst passt die Phasenzahl nicht bei Autos, die eine Phase weg schalten. - log.info(f"Phasenumschaltung an Ladepunkt {self.num} wird durch die Hardware nicht unterstützt.") - phases = self.data.get.phases_in_use + if charging_ev.ev_template.data.prevent_phase_switch: + # Wenn noch kein Eintrag im Protokoll erstellt wurde, wurde noch nicht geladen und die Phase kann + # noch umgeschaltet werden. + log.info(f"Phasenumschaltung an Ladepunkt {self.num} nicht möglich, da bei EV" + f"{charging_ev.num} nach Ladestart nicht mehr umgeschaltet werden darf.") + if self.data.get.phases_in_use != 0: + phases = self.data.get.phases_in_use + else: + phases = self.data.control_parameter.phases if phases != self.data.control_parameter.phases: self.data.control_parameter.phases = phases self.data.control_parameter.template_phases = template_phases diff --git a/packages/control/chargepoint/get_phases_test.py b/packages/control/chargepoint/get_phases_test.py index e4bf1283f4..71ebae83da 100644 --- a/packages/control/chargepoint/get_phases_test.py +++ b/packages/control/chargepoint/get_phases_test.py @@ -153,8 +153,15 @@ def __init__(self, imported_since_plugged=1, phase_switch_supported=True, expected_phases=3), SetPhasesParams(name="Switch phases", phases=1, phases_in_use=3, prevent_phase_switch=False, imported_since_plugged=1, phase_switch_supported=True, expected_phases=1), - SetPhasesParams(name="Phase switch not supported by cp", phases=1, phases_in_use=3, prevent_phase_switch=False, - imported_since_plugged=1, phase_switch_supported=False, expected_phases=3) + SetPhasesParams(name="Phase switch not supported by cp, use phases in use after charge start", + # aktuelle Phasenzahl verwenden, sonst passt die Phasenzahl nicht bei Autos, + # die eine Phase weg schalten. + phases=1, phases_in_use=3, prevent_phase_switch=False, + imported_since_plugged=1, phase_switch_supported=False, expected_phases=3), + SetPhasesParams(name="Phase switch not supported by cp, use passed phases after before start", + # vor dem Ladestart die konfigurierte Phasenzahl verwenden + phases=1, phases_in_use=3, prevent_phase_switch=False, + imported_since_plugged=0, phase_switch_supported=False, expected_phases=1) ] From 144102233f6cf3ea3042c52990d12de269a79ca3 Mon Sep 17 00:00:00 2001 From: LKuemmel Date: Thu, 1 Oct 2026 11:13:05 +0200 Subject: [PATCH 2/3] typo --- packages/control/chargepoint/chargepoint.py | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/control/chargepoint/chargepoint.py b/packages/control/chargepoint/chargepoint.py index e3f6fa1575..3d1f81e6ef 100644 --- a/packages/control/chargepoint/chargepoint.py +++ b/packages/control/chargepoint/chargepoint.py @@ -519,7 +519,6 @@ def set_phases(self, phases: int, template_phases: int) -> int: phases = min(phases, self.get_max_phase_hw()) if phases != self.data.get.phases_in_use: - if self.data.set.log.imported_since_plugged != 0: if self.hw_supports_phase_switch() is False: # sonst passt die Phasenzahl nicht bei Autos, die eine Phase weg schalten. From 10f883c8a313cd07c482c5bb89beec8996b7e3f9 Mon Sep 17 00:00:00 2001 From: LKuemmel Date: Thu, 1 Oct 2026 11:25:32 +0200 Subject: [PATCH 3/3] typo --- packages/control/chargepoint/get_phases_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/control/chargepoint/get_phases_test.py b/packages/control/chargepoint/get_phases_test.py index 71ebae83da..5750bea668 100644 --- a/packages/control/chargepoint/get_phases_test.py +++ b/packages/control/chargepoint/get_phases_test.py @@ -158,7 +158,7 @@ def __init__(self, # die eine Phase weg schalten. phases=1, phases_in_use=3, prevent_phase_switch=False, imported_since_plugged=1, phase_switch_supported=False, expected_phases=3), - SetPhasesParams(name="Phase switch not supported by cp, use passed phases after before start", + SetPhasesParams(name="Phase switch not supported by cp, use passed phases before start", # vor dem Ladestart die konfigurierte Phasenzahl verwenden phases=1, phases_in_use=3, prevent_phase_switch=False, imported_since_plugged=0, phase_switch_supported=False, expected_phases=1)