diff --git a/packages/helpermodules/subdata.py b/packages/helpermodules/subdata.py index 9c524910a9..64833a3b95 100644 --- a/packages/helpermodules/subdata.py +++ b/packages/helpermodules/subdata.py @@ -338,6 +338,18 @@ def process_vehicle_charge_template_topic(self, var: Dict[str, ChargeTemplate], if "ct"+index not in var: var["ct"+index] = ChargeTemplate() var["ct"+index].data = dataclass_from_dict(ChargeTemplateData, decode_payload(msg.payload)) + # Temporäres ChargeTemplate aktualisieren, wenn persistentes geändert wird + for vehicle in self.ev_data.values(): + if vehicle.data.charge_template == int(index): + for cp in self.cp_data.values(): + if (((cp.chargepoint.data.set.charging_ev != -1 and + cp.chargepoint.data.set.charging_ev == vehicle.num) or + cp.chargepoint.data.config.ev == vehicle.num) and + cp.chargepoint.data.get.plug_state is False): + if decode_payload(msg.payload) == "": + Pub().pub(f"openWB/chargepoint/{cp.chargepoint.num}/set/charge_template", "") + else: + cp.chargepoint.update_charge_template(var["ct"+index]) except Exception: log.exception("Fehler im subdata-Modul")