Fix meterStop type in stop transaction payload
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 1.6 / OCPP16IncomingRequestService.ts
index 4f4db66848bd72b4c54dd9776e688ef727f7f3b2..0589da01c4d6fc3452009275ac1e64a4bffe0b3a 100644 (file)
@@ -440,7 +440,10 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer
         OCPP16StopTransactionResponse
       >(chargingStation, OCPP16RequestCommand.STOP_TRANSACTION, {
         transactionId,
-        meterStop: chargingStation.getEnergyActiveImportRegisterByTransactionId(transactionId),
+        meterStop: chargingStation.getEnergyActiveImportRegisterByTransactionId(
+          transactionId,
+          true
+        ),
         idTag: chargingStation.getTransactionIdTag(transactionId),
         reason: OCPP16StopTransactionReason.UNLOCK_COMMAND,
       });
@@ -762,6 +765,15 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer
     const transactionConnectorId = commandPayload.connectorId;
     const connectorStatus = chargingStation.getConnectorStatus(transactionConnectorId);
     if (transactionConnectorId) {
+      const remoteStartTransactionLogMsg =
+        chargingStation.logPrefix() +
+        ' Transaction remotely STARTED on ' +
+        chargingStation.stationInfo.chargingStationId +
+        '#' +
+        transactionConnectorId.toString() +
+        " for idTag '" +
+        commandPayload.idTag +
+        "'";
       await chargingStation.ocppRequestService.requestHandler<
         OCPP16StatusNotificationRequest,
         OCPP16StatusNotificationResponse
@@ -787,7 +799,7 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer
             connectorStatus.localAuthorizeIdTag = commandPayload.idTag;
             connectorStatus.idTagLocalAuthorized = true;
             authorized = true;
-          } else if (chargingStation.getMayAuthorizeAtRemoteStart()) {
+          } else if (chargingStation.getMustAuthorizeAtRemoteStart()) {
             connectorStatus.authorizeIdTag = commandPayload.idTag;
             const authorizeResponse: OCPP16AuthorizeResponse =
               await chargingStation.ocppRequestService.requestHandler<
@@ -825,16 +837,7 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer
                   })
                 ).idTagInfo.status === OCPP16AuthorizationStatus.ACCEPTED
               ) {
-                logger.debug(
-                  chargingStation.logPrefix() +
-                    ' Transaction remotely STARTED on ' +
-                    chargingStation.stationInfo.chargingStationId +
-                    '#' +
-                    transactionConnectorId.toString() +
-                    " for idTag '" +
-                    commandPayload.idTag +
-                    "'"
-                );
+                logger.debug(remoteStartTransactionLogMsg);
                 return Constants.OCPP_RESPONSE_ACCEPTED;
               }
               return this.notifyRemoteStartTransactionRejected(
@@ -875,16 +878,7 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer
               })
             ).idTagInfo.status === OCPP16AuthorizationStatus.ACCEPTED
           ) {
-            logger.debug(
-              chargingStation.logPrefix() +
-                ' Transaction remotely STARTED on ' +
-                chargingStation.stationInfo.chargingStationId +
-                '#' +
-                transactionConnectorId.toString() +
-                " for idTag '" +
-                commandPayload.idTag +
-                "'"
-            );
+            logger.debug(remoteStartTransactionLogMsg);
             return Constants.OCPP_RESPONSE_ACCEPTED;
           }
           return this.notifyRemoteStartTransactionRejected(
@@ -934,12 +928,13 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer
       chargingStation.logPrefix() +
         ' Remote starting transaction REJECTED on connector Id ' +
         connectorId.toString() +
-        ', idTag ' +
+        ", idTag '" +
         idTag +
-        ', availability ' +
+        "', availability '" +
         chargingStation.getConnectorStatus(connectorId).availability +
-        ', status ' +
-        chargingStation.getConnectorStatus(connectorId).status
+        "', status '" +
+        chargingStation.getConnectorStatus(connectorId).status +
+        "'"
     );
     return Constants.OCPP_RESPONSE_REJECTED;
   }
@@ -1012,7 +1007,10 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer
           OCPP16StopTransactionResponse
         >(chargingStation, OCPP16RequestCommand.STOP_TRANSACTION, {
           transactionId,
-          meterStop: chargingStation.getEnergyActiveImportRegisterByTransactionId(transactionId),
+          meterStop: chargingStation.getEnergyActiveImportRegisterByTransactionId(
+            transactionId,
+            true
+          ),
           idTag: chargingStation.getTransactionIdTag(transactionId),
         });
         return Constants.OCPP_RESPONSE_ACCEPTED;
@@ -1177,17 +1175,17 @@ export default class OCPP16IncomingRequestService extends OCPPIncomingRequestSer
                 chargingStation,
                 OCPP16RequestCommand.BOOT_NOTIFICATION,
                 {
-                  chargePointModel: chargingStation.getBootNotificationRequest().chargePointModel,
-                  chargePointVendor: chargingStation.getBootNotificationRequest().chargePointVendor,
+                  chargePointModel: chargingStation.bootNotificationRequest.chargePointModel,
+                  chargePointVendor: chargingStation.bootNotificationRequest.chargePointVendor,
                   chargeBoxSerialNumber:
-                    chargingStation.getBootNotificationRequest().chargeBoxSerialNumber,
-                  firmwareVersion: chargingStation.getBootNotificationRequest().firmwareVersion,
+                    chargingStation.bootNotificationRequest.chargeBoxSerialNumber,
+                  firmwareVersion: chargingStation.bootNotificationRequest.firmwareVersion,
                   chargePointSerialNumber:
-                    chargingStation.getBootNotificationRequest().chargePointSerialNumber,
-                  iccid: chargingStation.getBootNotificationRequest().iccid,
-                  imsi: chargingStation.getBootNotificationRequest().imsi,
-                  meterSerialNumber: chargingStation.getBootNotificationRequest().meterSerialNumber,
-                  meterType: chargingStation.getBootNotificationRequest().meterType,
+                    chargingStation.bootNotificationRequest.chargePointSerialNumber,
+                  iccid: chargingStation.bootNotificationRequest.iccid,
+                  imsi: chargingStation.bootNotificationRequest.imsi,
+                  meterSerialNumber: chargingStation.bootNotificationRequest.meterSerialNumber,
+                  meterType: chargingStation.bootNotificationRequest.meterType,
                 },
                 { skipBufferingOnError: true, triggerMessage: true }
               )