refactor: improve tx changing profile checks
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 1.6 / OCPP16ResponseService.ts
index f1a17068bc31ee7761fe9752eaa788de32c844ed..a1fa0e43aa535ecbae64596431dbe058ef93966a 100644 (file)
@@ -647,7 +647,7 @@ export class OCPP16ResponseService extends OCPPResponseService {
         )!;
         if (reservation.idTag !== requestPayload.idTag) {
           logger.warn(
-            `${chargingStation.logPrefix()} Transaction reserved ${
+            `${chargingStation.logPrefix()} Reserved transaction ${
               payload.transactionId
             } started with a different idTag ${requestPayload.idTag} than the reservation one ${
               reservation.idTag
@@ -656,7 +656,7 @@ export class OCPP16ResponseService extends OCPPResponseService {
         }
         if (hasReservationExpired(reservation)) {
           logger.warn(
-            `${chargingStation.logPrefix()} Transaction reserved ${
+            `${chargingStation.logPrefix()} Reserved transaction ${
               payload.transactionId
             } started with expired reservation ${
               requestPayload.reservationId
@@ -704,8 +704,19 @@ export class OCPP16ResponseService extends OCPPResponseService {
       );
     } else {
       logger.warn(
-        `${chargingStation.logPrefix()} Starting transaction with id ${payload.transactionId.toString()} REJECTED with status '${payload
-          .idTagInfo?.status}', idTag '${requestPayload.idTag}'`,
+        `${chargingStation.logPrefix()} Starting transaction with id ${payload.transactionId.toString()} REJECTED on ${
+          chargingStation.stationInfo.chargingStationId
+        }#${transactionConnectorId.toString()} with status '${payload.idTagInfo?.status}', idTag '${
+          requestPayload.idTag
+        }'${
+          OCPP16ServiceUtils.hasReservation(
+            chargingStation,
+            transactionConnectorId,
+            requestPayload.idTag,
+          )
+            ? `, reservationId '${requestPayload.reservationId}'`
+            : ''
+        }`,
       );
       await this.resetConnectorOnStartTransactionError(chargingStation, transactionConnectorId);
     }
@@ -717,7 +728,6 @@ export class OCPP16ResponseService extends OCPPResponseService {
   ): Promise<void> {
     resetConnectorStatus(chargingStation.getConnectorStatus(connectorId)!);
     chargingStation.stopMeterValues(connectorId);
-    parentPort?.postMessage(buildUpdatedMessage(chargingStation));
     if (
       chargingStation.getConnectorStatus(connectorId)?.status !== OCPP16ChargePointStatus.Available
     ) {
@@ -727,6 +737,7 @@ export class OCPP16ResponseService extends OCPPResponseService {
         OCPP16ChargePointStatus.Available,
       );
     }
+    parentPort?.postMessage(buildUpdatedMessage(chargingStation));
   }
 
   private async handleResponseStopTransaction(