build(deps-dev): apply updates
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 1.6 / OCPP16Constants.ts
index b0fb1ef8b06bf1fb640bebe197a1d2e5c496c82f..214c5a85bf9797377d49d64813aa04d4116a319c 100644 (file)
-import { OCPP16ChargePointStatus } from '../../../types';
-import { OCPPConstants } from '../internal';
+import { type ConnectorStatusTransition, OCPP16ChargePointStatus } from '../../../types/index.js'
+import { OCPPConstants } from '../OCPPConstants.js'
 
 export class OCPP16Constants extends OCPPConstants {
-  static readonly OCPP16ChargePointStatusChargingStationTransition = new Set<
-    [OCPP16ChargePointStatus | undefined, OCPP16ChargePointStatus | undefined]
-  >([
-    [undefined, OCPP16ChargePointStatus.Available],
-    // [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Available],
-    [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Unavailable],
-    [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Faulted],
-    [undefined, OCPP16ChargePointStatus.Unavailable],
-    [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Available],
-    // [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Unavailable],
-    [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Faulted],
-    [undefined, OCPP16ChargePointStatus.Faulted],
-    [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Available],
-    [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Unavailable],
-    // [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Faulted],
-  ]);
+  static readonly ChargePointStatusChargingStationTransitions: Readonly<
+  ConnectorStatusTransition[]
+  > = Object.freeze([
+      { to: OCPP16ChargePointStatus.Available },
+      // { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Available },
+      {
+        from: OCPP16ChargePointStatus.Available,
+        to: OCPP16ChargePointStatus.Unavailable
+      },
+      {
+        from: OCPP16ChargePointStatus.Available,
+        to: OCPP16ChargePointStatus.Faulted
+      },
+      { to: OCPP16ChargePointStatus.Unavailable },
+      {
+        from: OCPP16ChargePointStatus.Unavailable,
+        to: OCPP16ChargePointStatus.Available
+      },
+      // { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Unavailable },
+      {
+        from: OCPP16ChargePointStatus.Unavailable,
+        to: OCPP16ChargePointStatus.Faulted
+      },
+      { to: OCPP16ChargePointStatus.Faulted },
+      {
+        from: OCPP16ChargePointStatus.Faulted,
+        to: OCPP16ChargePointStatus.Available
+      },
+      {
+        from: OCPP16ChargePointStatus.Faulted,
+        to: OCPP16ChargePointStatus.Unavailable
+      }
+    // { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.Faulted }
+    ])
 
-  static readonly OCPP16ChargePointStatusConnectorTransition = new Set<
-    [OCPP16ChargePointStatus | undefined, OCPP16ChargePointStatus | undefined]
-  >([
-    [undefined, OCPP16ChargePointStatus.Available],
-    // [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Available],
-    [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Preparing],
-    [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Charging],
-    [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.SuspendedEV],
-    [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.SuspendedEVSE],
-    // [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Finishing],
-    [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Reserved],
-    [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Unavailable],
-    [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Faulted],
-    // [undefined, OCPP16ChargePointStatus.Preparing],
-    [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Available],
-    // [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Preparing],
-    [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Charging],
-    [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.SuspendedEV],
-    [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.SuspendedEVSE],
-    [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Finishing],
-    // [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Reserved],
-    // [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Unavailable],
-    [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Faulted],
-    // [undefined, OCPP16ChargePointStatus.Charging],
-    [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Available],
-    // [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Preparing],
-    // [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Charging],
-    [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.SuspendedEV],
-    [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.SuspendedEVSE],
-    [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Finishing],
-    // [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Reserved],
-    [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Unavailable],
-    [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Faulted],
-    // [undefined, OCPP16ChargePointStatus.SuspendedEV],
-    [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Available],
-    // [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Preparing],
-    [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Charging],
-    // [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.SuspendedEV],
-    [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.SuspendedEVSE],
-    [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Finishing],
-    // [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Reserved],
-    [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Unavailable],
-    [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Faulted],
-    // [undefined, OCPP16ChargePointStatus.SuspendedEVSE],
-    [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Available],
-    // [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Preparing],
-    [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Charging],
-    [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.SuspendedEV],
-    // [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.SuspendedEVSE],
-    [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Finishing],
-    // [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Reserved],
-    [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Unavailable],
-    [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Faulted],
-    // [undefined, OCPP16ChargePointStatus.Finishing],
-    [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Available],
-    [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Preparing],
-    // [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Charging],
-    // [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.SuspendedEV],
-    // [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.SuspendedEVSE],
-    // [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Finishing],
-    // [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Reserved],
-    [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Unavailable],
-    [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Faulted],
-    // [undefined, OCPP16ChargePointStatus.Reserved],
-    [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Available],
-    [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Preparing],
-    // [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Charging],
-    // [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.SuspendedEV],
-    // [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.SuspendedEVSE],
-    // [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Finishing],
-    // [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Reserved],
-    [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Unavailable],
-    [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Faulted],
-    [undefined, OCPP16ChargePointStatus.Unavailable],
-    [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Available],
-    [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Preparing],
-    [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Charging],
-    [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.SuspendedEV],
-    [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.SuspendedEVSE],
-    // [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Finishing],
-    // [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Reserved],
-    // [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Unavailable],
-    [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Faulted],
-    [undefined, OCPP16ChargePointStatus.Faulted],
-    [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Available],
-    [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Preparing],
-    [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Charging],
-    [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.SuspendedEV],
-    [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.SuspendedEVSE],
-    [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Finishing],
-    [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Reserved],
-    [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Unavailable],
-    // [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Faulted],
-  ]);
+  static readonly ChargePointStatusConnectorTransitions: Readonly<ConnectorStatusTransition[]> =
+    Object.freeze([
+      { to: OCPP16ChargePointStatus.Available },
+      // { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Available },
+      {
+        from: OCPP16ChargePointStatus.Available,
+        to: OCPP16ChargePointStatus.Preparing
+      },
+      {
+        from: OCPP16ChargePointStatus.Available,
+        to: OCPP16ChargePointStatus.Charging
+      },
+      {
+        from: OCPP16ChargePointStatus.Available,
+        to: OCPP16ChargePointStatus.SuspendedEV
+      },
+      {
+        from: OCPP16ChargePointStatus.Available,
+        to: OCPP16ChargePointStatus.SuspendedEVSE
+      },
+      // { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Finishing },
+      {
+        from: OCPP16ChargePointStatus.Available,
+        to: OCPP16ChargePointStatus.Reserved
+      },
+      {
+        from: OCPP16ChargePointStatus.Available,
+        to: OCPP16ChargePointStatus.Unavailable
+      },
+      {
+        from: OCPP16ChargePointStatus.Available,
+        to: OCPP16ChargePointStatus.Faulted
+      },
+      // { to: OCPP16ChargePointStatus.Preparing },
+      {
+        from: OCPP16ChargePointStatus.Preparing,
+        to: OCPP16ChargePointStatus.Available
+      },
+      // { from: OCPP16ChargePointStatus.Preparing, to: OCPP16ChargePointStatus.Preparing },
+      {
+        from: OCPP16ChargePointStatus.Preparing,
+        to: OCPP16ChargePointStatus.Charging
+      },
+      {
+        from: OCPP16ChargePointStatus.Preparing,
+        to: OCPP16ChargePointStatus.SuspendedEV
+      },
+      {
+        from: OCPP16ChargePointStatus.Preparing,
+        to: OCPP16ChargePointStatus.SuspendedEVSE
+      },
+      {
+        from: OCPP16ChargePointStatus.Preparing,
+        to: OCPP16ChargePointStatus.Finishing
+      },
+      // { from: OCPP16ChargePointStatus.Preparing, to: OCPP16ChargePointStatus.Reserved },
+      // { from: OCPP16ChargePointStatus.Preparing, to: OCPP16ChargePointStatus.Unavailable },
+      {
+        from: OCPP16ChargePointStatus.Preparing,
+        to: OCPP16ChargePointStatus.Faulted
+      },
+      // { to: OCPP16ChargePointStatus.Charging },
+      {
+        from: OCPP16ChargePointStatus.Charging,
+        to: OCPP16ChargePointStatus.Available
+      },
+      // { from: OCPP16ChargePointStatus.Charging, to: OCPP16ChargePointStatus.Preparing },
+      // { from: OCPP16ChargePointStatus.Charging, to: OCPP16ChargePointStatus.Charging },
+      {
+        from: OCPP16ChargePointStatus.Charging,
+        to: OCPP16ChargePointStatus.SuspendedEV
+      },
+      {
+        from: OCPP16ChargePointStatus.Charging,
+        to: OCPP16ChargePointStatus.SuspendedEVSE
+      },
+      {
+        from: OCPP16ChargePointStatus.Charging,
+        to: OCPP16ChargePointStatus.Finishing
+      },
+      // { from: OCPP16ChargePointStatus.Charging, to: OCPP16ChargePointStatus.Reserved },
+      {
+        from: OCPP16ChargePointStatus.Charging,
+        to: OCPP16ChargePointStatus.Unavailable
+      },
+      {
+        from: OCPP16ChargePointStatus.Charging,
+        to: OCPP16ChargePointStatus.Faulted
+      },
+      // { to: OCPP16ChargePointStatus.SuspendedEV },
+      {
+        from: OCPP16ChargePointStatus.SuspendedEV,
+        to: OCPP16ChargePointStatus.Available
+      },
+      // { from: OCPP16ChargePointStatus.SuspendedEV, to: OCPP16ChargePointStatus.Preparing },
+      {
+        from: OCPP16ChargePointStatus.SuspendedEV,
+        to: OCPP16ChargePointStatus.Charging
+      },
+      // { from: OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.SuspendedEV },
+      {
+        from: OCPP16ChargePointStatus.SuspendedEV,
+        to: OCPP16ChargePointStatus.SuspendedEVSE
+      },
+      {
+        from: OCPP16ChargePointStatus.SuspendedEV,
+        to: OCPP16ChargePointStatus.Finishing
+      },
+      // { from: OCPP16ChargePointStatus.SuspendedEV, to: OCPP16ChargePointStatus.Reserved },
+      {
+        from: OCPP16ChargePointStatus.SuspendedEV,
+        to: OCPP16ChargePointStatus.Unavailable
+      },
+      {
+        from: OCPP16ChargePointStatus.SuspendedEV,
+        to: OCPP16ChargePointStatus.Faulted
+      },
+      // { to: OCPP16ChargePointStatus.SuspendedEVSE },
+      {
+        from: OCPP16ChargePointStatus.SuspendedEVSE,
+        to: OCPP16ChargePointStatus.Available
+      },
+      // { from: OCPP16ChargePointStatus.SuspendedEVSE, to: OCPP16ChargePointStatus.Preparing },
+      {
+        from: OCPP16ChargePointStatus.SuspendedEVSE,
+        to: OCPP16ChargePointStatus.Charging
+      },
+      {
+        from: OCPP16ChargePointStatus.SuspendedEVSE,
+        to: OCPP16ChargePointStatus.SuspendedEV
+      },
+      // { from: OCPP16ChargePointStatus.SuspendedEVSE, to: OCPP16ChargePointStatus.SuspendedEVSE },
+      {
+        from: OCPP16ChargePointStatus.SuspendedEVSE,
+        to: OCPP16ChargePointStatus.Finishing
+      },
+      // { from: OCPP16ChargePointStatus.SuspendedEVSE, to: OCPP16ChargePointStatus.Reserved },
+      {
+        from: OCPP16ChargePointStatus.SuspendedEVSE,
+        to: OCPP16ChargePointStatus.Unavailable
+      },
+      {
+        from: OCPP16ChargePointStatus.SuspendedEVSE,
+        to: OCPP16ChargePointStatus.Faulted
+      },
+      // { to: OCPP16ChargePointStatus.Finishing},
+      {
+        from: OCPP16ChargePointStatus.Finishing,
+        to: OCPP16ChargePointStatus.Available
+      },
+      {
+        from: OCPP16ChargePointStatus.Finishing,
+        to: OCPP16ChargePointStatus.Preparing
+      },
+      // { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.Charging },
+      // { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.SuspendedEV },
+      // { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.SuspendedEVSE },
+      // { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.Finishing },
+      // { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.Reserved },
+      {
+        from: OCPP16ChargePointStatus.Finishing,
+        to: OCPP16ChargePointStatus.Unavailable
+      },
+      {
+        from: OCPP16ChargePointStatus.Finishing,
+        to: OCPP16ChargePointStatus.Faulted
+      },
+      // { to: OCPP16ChargePointStatus.Reserved },
+      {
+        from: OCPP16ChargePointStatus.Reserved,
+        to: OCPP16ChargePointStatus.Available
+      },
+      {
+        from: OCPP16ChargePointStatus.Reserved,
+        to: OCPP16ChargePointStatus.Preparing
+      },
+      // { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.Charging },
+      // { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.SuspendedEV },
+      // { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.SuspendedEVSE },
+      // { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.Finishing },
+      // { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.Reserved },
+      {
+        from: OCPP16ChargePointStatus.Reserved,
+        to: OCPP16ChargePointStatus.Unavailable
+      },
+      {
+        from: OCPP16ChargePointStatus.Reserved,
+        to: OCPP16ChargePointStatus.Faulted
+      },
+      { to: OCPP16ChargePointStatus.Unavailable },
+      {
+        from: OCPP16ChargePointStatus.Unavailable,
+        to: OCPP16ChargePointStatus.Available
+      },
+      {
+        from: OCPP16ChargePointStatus.Unavailable,
+        to: OCPP16ChargePointStatus.Preparing
+      },
+      {
+        from: OCPP16ChargePointStatus.Unavailable,
+        to: OCPP16ChargePointStatus.Charging
+      },
+      {
+        from: OCPP16ChargePointStatus.Unavailable,
+        to: OCPP16ChargePointStatus.SuspendedEV
+      },
+      {
+        from: OCPP16ChargePointStatus.Unavailable,
+        to: OCPP16ChargePointStatus.SuspendedEVSE
+      },
+      // { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Finishing },
+      // { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Reserved },
+      // { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Unavailable },
+      {
+        from: OCPP16ChargePointStatus.Unavailable,
+        to: OCPP16ChargePointStatus.Faulted
+      },
+      { to: OCPP16ChargePointStatus.Faulted },
+      {
+        from: OCPP16ChargePointStatus.Faulted,
+        to: OCPP16ChargePointStatus.Available
+      },
+      {
+        from: OCPP16ChargePointStatus.Faulted,
+        to: OCPP16ChargePointStatus.Preparing
+      },
+      {
+        from: OCPP16ChargePointStatus.Faulted,
+        to: OCPP16ChargePointStatus.Charging
+      },
+      {
+        from: OCPP16ChargePointStatus.Faulted,
+        to: OCPP16ChargePointStatus.SuspendedEV
+      },
+      {
+        from: OCPP16ChargePointStatus.Faulted,
+        to: OCPP16ChargePointStatus.SuspendedEVSE
+      },
+      {
+        from: OCPP16ChargePointStatus.Faulted,
+        to: OCPP16ChargePointStatus.Finishing
+      },
+      {
+        from: OCPP16ChargePointStatus.Faulted,
+        to: OCPP16ChargePointStatus.Reserved
+      },
+      {
+        from: OCPP16ChargePointStatus.Faulted,
+        to: OCPP16ChargePointStatus.Unavailable
+      }
+      // { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.Faulted }
+    ])
 }