diff --git a/packages/control/chargepoint/chargepoint.py b/packages/control/chargepoint/chargepoint.py index a8aed69958..17f83f5bac 100644 --- a/packages/control/chargepoint/chargepoint.py +++ b/packages/control/chargepoint/chargepoint.py @@ -187,12 +187,13 @@ def _process_charge_stop(self) -> None: self.reset_control_parameter_at_charge_stop() data.data.counter_all_data.get_evu_counter().reset_switch_on_off(self) if self.data.get.plug_state is False and self.data.set.plug_state_prev is True: - chargelog.save_and_reset_data(self, data.data.ev_data["ev"+str(self.data.config.ev)]) + charging_ev = data.data.ev_data[f"ev{self.data.config.ev}"] + chargelog.save_and_reset_data(self, charging_ev) self.data.control_parameter = control_parameter_factory() # VOR Standard nach Abstecken - if (self.data.set.charging_ev_data.soc_module is not None and - self.data.set.charging_ev_data.soc_module.vehicle_config.type == "manual" and - self.data.set.charging_ev_data.soc_module.vehicle_config.configuration.reset_after_unplug): + if (charging_ev.soc_module is not None and + charging_ev.soc_module.vehicle_config.type == "manual" and + charging_ev.soc_module.vehicle_config.configuration.reset_after_unplug): Pub().pub(f"openWB/set/vehicle/{self.data.config.ev}/soc_module/calculated_soc_state/manual_soc", 0) if self.data.set.charge_template.data.load_default: self.data.config.ev = 0 @@ -200,9 +201,9 @@ def _process_charge_stop(self) -> None: self.data.set.manual_lock = True log.debug("/set/manual_lock True") # NACH Standard nach Abstecken + ev_after_load_default = data.data.ev_data[f"ev{self.data.config.ev}"] if data.data.general_data.data.temporary_charge_templates_active: - self.update_charge_template( - data.data.ev_data["ev"+str(self.data.config.ev)].charge_template) + self.update_charge_template(ev_after_load_default.charge_template) self.data.set.rfid = None self.data.set.plug_time = None @@ -635,12 +636,12 @@ def update(self, ev_list: Dict[str, Ev]) -> None: vehicle, message_ev = self.template.get_ev(self.data.set.rfid or self.data.get.rfid, self.data.get.vehicle_id, self.data.config.ev) - charging_ev = self._get_charging_ev(vehicle, ev_list) if message_ev: message += message_ev if charging_possible: try: + charging_ev = self._get_charging_ev(vehicle, ev_list) state, message_ev, submode, required_current, template_phases = charging_ev.get_required_current( self.data.set.charge_template, self.data.control_parameter,