diff --git a/packages/control/ev/charge_template.py b/packages/control/ev/charge_template.py index 04eb0cc8d1..7a6b0f85a4 100644 --- a/packages/control/ev/charge_template.py +++ b/packages/control/ev/charge_template.py @@ -5,6 +5,7 @@ from typing import Optional, Tuple from control import data +from control.chargepoint.chargepoint_state import CHARGING_STATES from control.chargepoint.charging_type import ChargingType from control.chargepoint.control_parameter import ControlParameter from control.ev.ev_template import EvTemplate @@ -135,8 +136,7 @@ class ChargeTemplate: "topic": ""}) BUFFER = -1200 # nach mehr als 20 Min Überschreitung wird der Termin als verpasst angesehen - CHARGING_PRICE_EXCEEDED = ("Keine Ladung, da der aktuelle Strompreis über dem maximalen Strompreis liegt. " - + "Falls vorhanden wird mit EVU-Überschuss geladen.") + CHARGING_PRICE_EXCEEDED = ("Der aktuelle Strompreis liegt über dem maximalen Strompreis. ") CHARGING_PRICE_LOW = "Laden, da der aktuelle Strompreis unter dem maximalen Strompreis liegt." TIME_CHARGING_NO_PLAN_CONFIGURED = "Zeitladen aktiviert, aber keine Zeitfenster konfiguriert." @@ -269,7 +269,7 @@ def pv_charging(self, def eco_charging(self, soc: Optional[float], - min_current: int, + control_parameter: ControlParameter, charging_type: str, used_amount: float) -> Tuple[int, str, Optional[str], int]: """ prüft, ob Min-oder Max-Soc erreicht wurden und setzt entsprechend den Ladestrom. @@ -295,10 +295,12 @@ def eco_charging(self, sub_mode = "instant_charging" message = self.CHARGING_PRICE_LOW else: - current = min_current + current = control_parameter.min_current message = self.CHARGING_PRICE_EXCEEDED + if control_parameter.state in CHARGING_STATES: + message += "Lädt mit Überschuss. " else: - current = min_current + current = control_parameter.min_current return current, sub_mode, message, phases except Exception: log.exception("Fehler im ev-Modul "+str(self.data.id)) diff --git a/packages/control/ev/ev.py b/packages/control/ev/ev.py index 523f47ce4d..ffa147d524 100644 --- a/packages/control/ev/ev.py +++ b/packages/control/ev/ev.py @@ -206,7 +206,7 @@ def get_required_current(self, self.data.get.soc, control_parameter.min_current, charging_type, imported_since_plugged) elif charge_template.data.chargemode.selected == "eco_charging": required_current, submode, tmp_message, phases = charge_template.eco_charging( - self.data.get.soc, control_parameter.min_current, charging_type, imported_since_plugged) + self.data.get.soc, control_parameter, charging_type, imported_since_plugged) else: tmp_message = None message = f"{message or ''} {tmp_message or ''}".strip()