From 844091731e276c8c95000c02dcdfb92f8649d280 Mon Sep 17 00:00:00 2001 From: LKuemmel Date: Mon, 20 Oct 2025 15:47:45 +0200 Subject: [PATCH] fix single phase wallboxes --- packages/control/loadmanagement.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/control/loadmanagement.py b/packages/control/loadmanagement.py index 24f431a055..e145ea241a 100644 --- a/packages/control/loadmanagement.py +++ b/packages/control/loadmanagement.py @@ -105,8 +105,12 @@ def _limit_by_power(self, log.debug(f"Verbleibende Leistung unter Berücksichtigung der Einspeisegrenze: {raw_power_left}W") if sum([c * v for c, v in zip(available_currents, cp_voltages)]) > raw_power_left: for i in range(0, 3): - # Am meisten belastete Phase trägt am meisten zur Leistungsreduktion bei. - currents[i] = available_currents[i] / sum(available_currents) * raw_power_left / cp_voltages[i] + try: + # Am meisten belastete Phase trägt am meisten zur Leistungsreduktion bei. + currents[i] = available_currents[i] / sum(available_currents) * raw_power_left / cp_voltages[i] + except ZeroDivisionError: + # bei einphasig angeschlossenen Wallboxen ist die Spannung der anderen Phasen 0V + currents[i] = 0.0 log.debug(f"Leistungsüberschreitung auf {raw_power_left}W korrigieren: {available_currents}") limit = LoadmanagementLimit(LimitingValue.POWER.value.format(get_component_name_by_id(counter.num)), LimitingValue.POWER)