feat: add status notification transition check to OCPP 2.x.x code
[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 type Transition = { from?: OCPP16ChargePointStatus; to: OCPP16ChargePointStatus };
5
6 export class OCPP16Constants extends OCPPConstants {
7 static readonly ChargePointStatusChargingStationTransitions: Transition[] = [
8 { to: OCPP16ChargePointStatus.Available },
9 // { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Available },
10 { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Unavailable },
11 { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Faulted },
12 { to: OCPP16ChargePointStatus.Unavailable },
13 { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Available },
14 // { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Unavailable },
15 { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Faulted },
16 { to: OCPP16ChargePointStatus.Faulted },
17 { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.Available },
18 { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.Unavailable },
19 // { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.Faulted },
20 ];
21
22 static readonly ChargePointStatusConnectorTransitions: Transition[] = [
23 { to: OCPP16ChargePointStatus.Available },
24 // { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Available },
25 { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Preparing },
26 { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Charging },
27 { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.SuspendedEV },
28 { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.SuspendedEVSE },
29 // { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Finishing },
30 { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Reserved },
31 { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Unavailable },
32 { from: OCPP16ChargePointStatus.Available, to: OCPP16ChargePointStatus.Faulted },
33 // { to: OCPP16ChargePointStatus.Preparing },
34 { from: OCPP16ChargePointStatus.Preparing, to: OCPP16ChargePointStatus.Available },
35 // { from: OCPP16ChargePointStatus.Preparing, to: OCPP16ChargePointStatus.Preparing },
36 { from: OCPP16ChargePointStatus.Preparing, to: OCPP16ChargePointStatus.Charging },
37 { from: OCPP16ChargePointStatus.Preparing, to: OCPP16ChargePointStatus.SuspendedEV },
38 { from: OCPP16ChargePointStatus.Preparing, to: OCPP16ChargePointStatus.SuspendedEVSE },
39 { from: OCPP16ChargePointStatus.Preparing, to: OCPP16ChargePointStatus.Finishing },
40 // { from: OCPP16ChargePointStatus.Preparing, to: OCPP16ChargePointStatus.Reserved },
41 // { from: OCPP16ChargePointStatus.Preparing, to: OCPP16ChargePointStatus.Unavailable },
42 { from: OCPP16ChargePointStatus.Preparing, to: OCPP16ChargePointStatus.Faulted },
43 // { to: OCPP16ChargePointStatus.Charging },
44 { from: OCPP16ChargePointStatus.Charging, to: OCPP16ChargePointStatus.Available },
45 // { from: OCPP16ChargePointStatus.Charging, to: OCPP16ChargePointStatus.Preparing },
46 // { from: OCPP16ChargePointStatus.Charging, to: OCPP16ChargePointStatus.Charging },
47 { from: OCPP16ChargePointStatus.Charging, to: OCPP16ChargePointStatus.SuspendedEV },
48 { from: OCPP16ChargePointStatus.Charging, to: OCPP16ChargePointStatus.SuspendedEVSE },
49 { from: OCPP16ChargePointStatus.Charging, to: OCPP16ChargePointStatus.Finishing },
50 // { from: OCPP16ChargePointStatus.Charging, to: OCPP16ChargePointStatus.Reserved },
51 { from: OCPP16ChargePointStatus.Charging, to: OCPP16ChargePointStatus.Unavailable },
52 { from: OCPP16ChargePointStatus.Charging, to: OCPP16ChargePointStatus.Faulted },
53 // { to: OCPP16ChargePointStatus.SuspendedEV },
54 { from: OCPP16ChargePointStatus.SuspendedEV, to: OCPP16ChargePointStatus.Available },
55 // { from: OCPP16ChargePointStatus.SuspendedEV, to: OCPP16ChargePointStatus.Preparing },
56 { from: OCPP16ChargePointStatus.SuspendedEV, to: OCPP16ChargePointStatus.Charging },
57 // { from: OCPP16ChargePointStatus.SuspendedEV, OCPP16ChargePointStatus.SuspendedEV },
58 { from: OCPP16ChargePointStatus.SuspendedEV, to: OCPP16ChargePointStatus.SuspendedEVSE },
59 { from: OCPP16ChargePointStatus.SuspendedEV, to: OCPP16ChargePointStatus.Finishing },
60 // { from: OCPP16ChargePointStatus.SuspendedEV, to: OCPP16ChargePointStatus.Reserved },
61 { from: OCPP16ChargePointStatus.SuspendedEV, to: OCPP16ChargePointStatus.Unavailable },
62 { from: OCPP16ChargePointStatus.SuspendedEV, to: OCPP16ChargePointStatus.Faulted },
63 // { to: OCPP16ChargePointStatus.SuspendedEVSE },
64 { from: OCPP16ChargePointStatus.SuspendedEVSE, to: OCPP16ChargePointStatus.Available },
65 // { from: OCPP16ChargePointStatus.SuspendedEVSE, to: OCPP16ChargePointStatus.Preparing },
66 { from: OCPP16ChargePointStatus.SuspendedEVSE, to: OCPP16ChargePointStatus.Charging },
67 { from: OCPP16ChargePointStatus.SuspendedEVSE, to: OCPP16ChargePointStatus.SuspendedEV },
68 // { from: OCPP16ChargePointStatus.SuspendedEVSE, to: OCPP16ChargePointStatus.SuspendedEVSE },
69 { from: OCPP16ChargePointStatus.SuspendedEVSE, to: OCPP16ChargePointStatus.Finishing },
70 // { from: OCPP16ChargePointStatus.SuspendedEVSE, to: OCPP16ChargePointStatus.Reserved },
71 { from: OCPP16ChargePointStatus.SuspendedEVSE, to: OCPP16ChargePointStatus.Unavailable },
72 { from: OCPP16ChargePointStatus.SuspendedEVSE, to: OCPP16ChargePointStatus.Faulted },
73 // { to: OCPP16ChargePointStatus.Finishing},
74 { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.Available },
75 { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.Preparing },
76 // { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.Charging },
77 // { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.SuspendedEV },
78 // { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.SuspendedEVSE },
79 // { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.Finishing },
80 // { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.Reserved },
81 { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.Unavailable },
82 { from: OCPP16ChargePointStatus.Finishing, to: OCPP16ChargePointStatus.Faulted },
83 // { to: OCPP16ChargePointStatus.Reserved },
84 { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.Available },
85 { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.Preparing },
86 // { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.Charging },
87 // { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.SuspendedEV },
88 // { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.SuspendedEVSE },
89 // { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.Finishing },
90 // { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.Reserved },
91 { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.Unavailable },
92 { from: OCPP16ChargePointStatus.Reserved, to: OCPP16ChargePointStatus.Faulted },
93 { to: OCPP16ChargePointStatus.Unavailable },
94 { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Available },
95 { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Preparing },
96 { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Charging },
97 { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.SuspendedEV },
98 { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.SuspendedEVSE },
99 // { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Finishing },
100 // { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Reserved },
101 // { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Unavailable },
102 { from: OCPP16ChargePointStatus.Unavailable, to: OCPP16ChargePointStatus.Faulted },
103 { to: OCPP16ChargePointStatus.Faulted },
104 { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.Available },
105 { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.Preparing },
106 { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.Charging },
107 { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.SuspendedEV },
108 { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.SuspendedEVSE },
109 { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.Finishing },
110 { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.Reserved },
111 { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.Unavailable },
112 // { from: OCPP16ChargePointStatus.Faulted, to: OCPP16ChargePointStatus.Faulted },
113 ];
114 }