fix: reset 'Reserved' connector status if transaction is rejected
authorJérôme Benoit <jerome.benoit@sap.com>
Mon, 8 Apr 2024 21:14:29 +0000 (23:14 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Mon, 8 Apr 2024 21:14:29 +0000 (23:14 +0200)
reference: https://github.com/SAP/e-mobility-charging-stations-simulator/pull/1031

Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/charging-station/ocpp/1.6/OCPP16ResponseService.ts

index 0fa38728420de1d8e329f1671a2ab9cb77ae00fa..24108ba4c1891aba5e220aa32ff45f9299f3c48a 100644 (file)
@@ -819,7 +819,13 @@ export class OCPP16ResponseService extends OCPPResponseService {
     const connectorStatus = chargingStation.getConnectorStatus(connectorId)
     resetConnectorStatus(connectorStatus)
     chargingStation.stopMeterValues(connectorId)
-    if (connectorStatus?.status !== OCPP16ChargePointStatus.Available) {
+    if (chargingStation.getReservationBy('connectorId', connectorId) != null) {
+      await OCPP16ServiceUtils.sendAndSetConnectorStatus(
+        chargingStation,
+        connectorId,
+        OCPP16ChargePointStatus.Reserved
+      )
+    } else if (connectorStatus?.status !== OCPP16ChargePointStatus.Available) {
       await OCPP16ServiceUtils.sendAndSetConnectorStatus(
         chargingStation,
         connectorId,