fix: fix remote transaction start debug log
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 1.6 / OCPP16IncomingRequestService.ts
index fc5190469c83b91675c9d5da12eec4f80eb2f7a2..d3ee61fd84623faaff709083ec321c8d03c41197 100644 (file)
@@ -431,7 +431,7 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
             }
           )
             .then(response => {
-              if (response.status === OCPP16AuthorizationStatus.ACCEPTED) {
+              if (response.idTagInfo.status === OCPP16AuthorizationStatus.ACCEPTED) {
                 logger.debug(
                   `${chargingStation.logPrefix()} Remote start transaction ACCEPTED on ${
                     chargingStation.stationInfo?.chargingStationId
@@ -1169,7 +1169,13 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
       do {
         commandPayload.connectorId = randomInt(1, chargingStation.getNumberOfConnectors())
       } while (
-        chargingStation.getConnectorStatus(commandPayload.connectorId)?.transactionStarted === true
+        chargingStation.getConnectorStatus(commandPayload.connectorId)?.transactionStarted ===
+          true &&
+        OCPP16ServiceUtils.hasReservation(
+          chargingStation,
+          commandPayload.connectorId,
+          commandPayload.idTag
+        )
       )
     }
     const { connectorId: transactionConnectorId, idTag, chargingProfile } = commandPayload
@@ -1298,7 +1304,10 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
     // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
     commandPayload.retrieveDate = convertToDate(commandPayload.retrieveDate)!
     const { retrieveDate } = commandPayload
-    if (chargingStation.stationInfo?.firmwareStatus !== OCPP16FirmwareStatus.Installed) {
+    if (
+      chargingStation.stationInfo?.firmwareStatus != null &&
+      chargingStation.stationInfo.firmwareStatus !== OCPP16FirmwareStatus.Installed
+    ) {
       logger.warn(
         `${chargingStation.logPrefix()} ${moduleName}.handleRequestUpdateFirmware: Cannot simulate firmware update: firmware update is already in progress`
       )