feat: ensure measurand min value are taken into account
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 1.6 / OCPP16Constants.ts
index 5f6958817a1103d1c80317ee8654bf34df2f9d3f..c33e552934c4dbcbda3f9cac5a13ef586780a7f6 100644 (file)
-import { OCPP16ChargePointStatus } from '../../../types';
-import { OCPPConstants } from '../internal';
-
-type Transition = Readonly<{
-  from?: OCPP16ChargePointStatus;
-  to: OCPP16ChargePointStatus;
-}>;
+import { type ConnectorStatusTransition, OCPP16ChargePointStatus } from '../../../types';
+import { OCPPConstants } from '../OCPPConstants';
 
 export class OCPP16Constants extends OCPPConstants {
-  static readonly ChargePointStatusChargingStationTransitions: Readonly<Transition[]> =
+  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 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 },
     ]);
-
-  static readonly ChargePointStatusConnectorTransitions: Readonly<Transition[]> = 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 },
-  ]);
 }