diff --git a/packages/control/chargepoint/chargepoint.py b/packages/control/chargepoint/chargepoint.py index 328cfe899b..af93be8661 100644 --- a/packages/control/chargepoint/chargepoint.py +++ b/packages/control/chargepoint/chargepoint.py @@ -197,7 +197,7 @@ def _process_charge_stop(self) -> None: self.chargepoint_module.fault_state, self.data.get.imported, self.data.set.ocpp_transaction_id, - self.data.set.rfid) + data.data.optional_data.data.ocpp.dummy_id_tag or self.data.set.rfid) Pub().pub("openWB/set/chargepoint/"+str(self.num)+"/set/ocpp_transaction_id", None) self.reset_control_parameter_at_charge_stop() data.data.counter_all_data.get_evu_counter().reset_switch_on_off(self) @@ -737,14 +737,25 @@ def update(self, ev_list: Dict[str, Ev]) -> None: log.exception(f"Fehler bei Ladestop,cp{self.num}") # OCPP Start Transaction nach Anstecken + log.info(f"OCPP Debug cp{self.num}: plug_state={self.data.get.plug_state}, " + f"plug_state_prev={self.data.set.plug_state_prev}, " + f"ocpp_transaction_id={self.data.set.ocpp_transaction_id}, " + f"charge_state={self.data.get.charge_state}") if ((self.data.get.plug_state and self.data.set.plug_state_prev is False) or (self.data.set.ocpp_transaction_id is None and self.data.get.charge_state)): + id_tag = (data.data.optional_data.data.ocpp.dummy_id_tag or + self.data.set.rfid or self.data.get.rfid or self.data.get.vehicle_id) + log.info(f"OCPP Debug cp{self.num}: Starting transaction with id_tag={id_tag}, " + f"dummy_id_tag={data.data.optional_data.data.ocpp.dummy_id_tag}, " + f"chargebox_id={self.data.config.ocpp_chargebox_id}") self.data.set.ocpp_transaction_id = data.data.optional_data.start_transaction( self.data.config.ocpp_chargebox_id, self.chargepoint_module.fault_state, self.num, - self.data.set.rfid or self.data.get.rfid or self.data.get.vehicle_id, + id_tag, self.data.get.imported) + log.info(f"OCPP Debug cp{self.num}: Transaction started, " + f"ocpp_transaction_id={self.data.set.ocpp_transaction_id}") Pub().pub("openWB/set/chargepoint/"+str(self.num) + "/set/ocpp_transaction_id", self.data.set.ocpp_transaction_id) if self.data.get.plug_state and self.data.set.plug_state_prev is False: diff --git a/packages/control/optional_data.py b/packages/control/optional_data.py index 74eb0da6cd..48c3c8f2e5 100644 --- a/packages/control/optional_data.py +++ b/packages/control/optional_data.py @@ -117,6 +117,7 @@ class Ocpp: boot_notification_sent: bool = False _url: Optional[str] = None version: str = "ocpp1.6" + dummy_id_tag: Optional[str] = None @property def url(self) -> Optional[str]: