feat: check status notification transition in OCPP 1.6 stack
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 1.6 / OCPP16Constants.ts
1 import { OCPP16ChargePointStatus } from '../../../types';
2 import { OCPPConstants } from '../internal';
3
4 export class OCPP16Constants extends OCPPConstants {
5 static readonly OCPP16ChargePointStatusChargingStationTransition = new Set<
6 [OCPP16ChargePointStatus | undefined, OCPP16ChargePointStatus | undefined]
7 >([
8 [undefined, OCPP16ChargePointStatus.Available],
9 // [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Available],
10 [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Unavailable],
11 [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Faulted],
12 [undefined, OCPP16ChargePointStatus.Unavailable],
13 [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Available],
14 // [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Unavailable],
15 [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Faulted],
16 [undefined, OCPP16ChargePointStatus.Faulted],
17 [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Available],
18 [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Unavailable],
19 // [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Faulted],
20 ]);
21
22 static readonly OCPP16ChargePointStatusConnectorTransition = new Set<
23 [OCPP16ChargePointStatus | undefined, OCPP16ChargePointStatus | undefined]
24 >([
25 [undefined, OCPP16ChargePointStatus.Available],
26 // [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Available],
27 [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Preparing],
28 [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Charging],
29 [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.SuspendedEV],
30 [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.SuspendedEVSE],
31 // [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Finishing],
32 [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Reserved],
33 [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Unavailable],
34 [OCPP16ChargePointStatus.Available, OCPP16ChargePointStatus.Faulted],
35 // [undefined, OCPP16ChargePointStatus.Preparing],
36 [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Available],
37 // [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Preparing],
38 [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Charging],
39 [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.SuspendedEV],
40 [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.SuspendedEVSE],
41 [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Finishing],
42 // [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Reserved],
43 // [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Unavailable],
44 [OCPP16ChargePointStatus.Preparing, OCPP16ChargePointStatus.Faulted],
45 // [undefined, OCPP16ChargePointStatus.Charging],
46 [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Available],
47 // [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Preparing],
48 // [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Charging],
49 [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.SuspendedEV],
50 [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.SuspendedEVSE],
51 [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Finishing],
52 // [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Reserved],
53 [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Unavailable],
54 [OCPP16ChargePointStatus.Charging, OCPP16ChargePointStatus.Faulted],
55 // [undefined, OCPP16ChargePointStatus.SuspendedEV],
56 [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Available],
57 // [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Preparing],
58 [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Charging],
59 // [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.SuspendedEV],
60 [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.SuspendedEVSE],
61 [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Finishing],
62 // [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Reserved],
63 [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Unavailable],
64 [OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.Faulted],
65 // [undefined, OCPP16ChargePointStatus.SuspendedEVSE],
66 [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Available],
67 // [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Preparing],
68 [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Charging],
69 [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.SuspendedEV],
70 // [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.SuspendedEVSE],
71 [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Finishing],
72 // [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Reserved],
73 [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Unavailable],
74 [OCPP16ChargePointStatus.SuspendedEVSE, OCPP16ChargePointStatus.Faulted],
75 // [undefined, OCPP16ChargePointStatus.Finishing],
76 [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Available],
77 [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Preparing],
78 // [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Charging],
79 // [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.SuspendedEV],
80 // [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.SuspendedEVSE],
81 // [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Finishing],
82 // [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Reserved],
83 [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Unavailable],
84 [OCPP16ChargePointStatus.Finishing, OCPP16ChargePointStatus.Faulted],
85 // [undefined, OCPP16ChargePointStatus.Reserved],
86 [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Available],
87 [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Preparing],
88 // [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Charging],
89 // [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.SuspendedEV],
90 // [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.SuspendedEVSE],
91 // [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Finishing],
92 // [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Reserved],
93 [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Unavailable],
94 [OCPP16ChargePointStatus.Reserved, OCPP16ChargePointStatus.Faulted],
95 [undefined, OCPP16ChargePointStatus.Unavailable],
96 [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Available],
97 [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Preparing],
98 [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Charging],
99 [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.SuspendedEV],
100 [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.SuspendedEVSE],
101 // [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Finishing],
102 // [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Reserved],
103 // [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Unavailable],
104 [OCPP16ChargePointStatus.Unavailable, OCPP16ChargePointStatus.Faulted],
105 [undefined, OCPP16ChargePointStatus.Faulted],
106 [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Available],
107 [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Preparing],
108 [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Charging],
109 [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.SuspendedEV],
110 [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.SuspendedEVSE],
111 [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Finishing],
112 [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Reserved],
113 [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Unavailable],
114 // [OCPP16ChargePointStatus.Faulted, OCPP16ChargePointStatus.Faulted],
115 ]);
116 }