Vue UI + UI server
[e-mobility-charging-stations-simulator.git] / src / ui / web / src / type / ChargingStationType.ts
1 export type ChargingStationData = {
2 hashId: string;
3 stationInfo: ChargingStationInfo;
4 connectors: ConnectorStatus[];
5 };
6
7 export type ChargingStationInfo = {
8 chargingStationId?: string;
9 chargePointModel: string;
10 chargePointVendor: string;
11 firmwareVersion?: string;
12 numberOfConnectors?: number | number[];
13 baseName: string;
14 infoHash?: string;
15 templateHash?: string;
16 chargeBoxSerialNumber?: string;
17 chargePointSerialNumber?: string;
18 meterSerialNumber?: string;
19 maximumPower?: number; // Always in Watt
20 maximumAmperage?: number; // Always in Ampere
21 supervisionUrls?: string | string[];
22 supervisionUrlOcppConfiguration?: boolean;
23 supervisionUrlOcppKey?: string;
24 supervisionUser?: string;
25 supervisionPassword?: string;
26 ocppVersion?: OCPPVersion;
27 ocppProtocol?: OCPPProtocol;
28 ocppStrictCompliance?: boolean;
29 ocppPersistentConfiguration?: boolean;
30 stationInfoPersistentConfiguration?: boolean;
31 authorizationFile?: string;
32 nameSuffix?: string;
33 fixedName?: boolean;
34 iccid?: string;
35 imsi?: string;
36 meterType?: string;
37 powerSharedByConnectors?: boolean;
38 currentOutType?: CurrentType;
39 voltageOut?: Voltage;
40 numberOfPhases?: number;
41 useConnectorId0?: boolean;
42 randomConnectors?: boolean;
43 resetTime?: number;
44 autoRegister?: boolean;
45 autoReconnectMaxRetries?: number;
46 reconnectExponentialDelay?: boolean;
47 registrationMaxRetries?: number;
48 enableStatistics?: boolean;
49 mayAuthorizeAtRemoteStart?: boolean;
50 amperageLimitationOcppKey?: string;
51 amperageLimitationUnit?: AmpereUnits;
52 beginEndMeterValues?: boolean;
53 outOfOrderEndMeterValues?: boolean;
54 meteringPerTransaction?: boolean;
55 transactionDataMeterValues?: boolean;
56 mainVoltageMeterValues?: boolean;
57 phaseLineToLineVoltageMeterValues?: boolean;
58 customValueLimitationMeterValues?: boolean;
59 commandsSupport?: CommandsSupport;
60 };
61
62 export enum OCPP16IncomingRequestCommand {
63 RESET = 'Reset',
64 CLEAR_CACHE = 'ClearCache',
65 CHANGE_AVAILABILITY = 'ChangeAvailability',
66 UNLOCK_CONNECTOR = 'UnlockConnector',
67 GET_CONFIGURATION = 'GetConfiguration',
68 CHANGE_CONFIGURATION = 'ChangeConfiguration',
69 SET_CHARGING_PROFILE = 'SetChargingProfile',
70 CLEAR_CHARGING_PROFILE = 'ClearChargingProfile',
71 REMOTE_START_TRANSACTION = 'RemoteStartTransaction',
72 REMOTE_STOP_TRANSACTION = 'RemoteStopTransaction',
73 GET_DIAGNOSTICS = 'GetDiagnostics',
74 TRIGGER_MESSAGE = 'TriggerMessage',
75 }
76
77 export type IncomingRequestCommand = OCPP16IncomingRequestCommand;
78
79 export const IncomingRequestCommand = {
80 ...OCPP16IncomingRequestCommand,
81 };
82
83 export enum OCPP16RequestCommand {
84 BOOT_NOTIFICATION = 'BootNotification',
85 HEARTBEAT = 'Heartbeat',
86 STATUS_NOTIFICATION = 'StatusNotification',
87 AUTHORIZE = 'Authorize',
88 START_TRANSACTION = 'StartTransaction',
89 STOP_TRANSACTION = 'StopTransaction',
90 METER_VALUES = 'MeterValues',
91 DIAGNOSTICS_STATUS_NOTIFICATION = 'DiagnosticsStatusNotification',
92 }
93
94 export type RequestCommand = OCPP16RequestCommand;
95
96 export const RequestCommand = {
97 ...OCPP16RequestCommand,
98 };
99
100 export interface CommandsSupport {
101 incomingCommands: Record<IncomingRequestCommand, boolean>;
102 outgoingCommands?: Record<RequestCommand, boolean>;
103 }
104
105 export enum OCPPVersion {
106 VERSION_16 = '1.6',
107 VERSION_20 = '2.0',
108 }
109
110 export enum OCPPProtocol {
111 SOAP = 'soap',
112 JSON = 'json',
113 }
114
115 export enum CurrentType {
116 AC = 'AC',
117 DC = 'DC',
118 }
119
120 export enum Voltage {
121 VOLTAGE_110 = 110,
122 VOLTAGE_230 = 230,
123 VOLTAGE_400 = 400,
124 VOLTAGE_800 = 800,
125 }
126
127 export enum AmpereUnits {
128 MILLI_AMPERE = 'mA',
129 CENTI_AMPERE = 'cA',
130 DECI_AMPERE = 'dA',
131 AMPERE = 'A',
132 }
133
134 export type ConnectorStatus = {
135 availability: AvailabilityType;
136 bootStatus?: ChargePointStatus;
137 status?: ChargePointStatus;
138 authorizeIdTag?: string;
139 idTagAuthorized?: boolean;
140 localAuthorizeIdTag?: string;
141 idTagLocalAuthorized?: boolean;
142 transactionRemoteStarted?: boolean;
143 transactionStarted?: boolean;
144 transactionId?: number;
145 transactionIdTag?: string;
146 energyActiveImportRegisterValue?: number; // In Wh
147 transactionEnergyActiveImportRegisterValue?: number; // In Wh
148 };
149
150 export type AvailabilityType = OCPP16AvailabilityType;
151
152 export enum OCPP16AvailabilityType {
153 INOPERATIVE = 'Inoperative',
154 OPERATIVE = 'Operative',
155 }
156
157 export type ChargePointStatus = OCPP16ChargePointStatus;
158
159 export enum OCPP16ChargePointStatus {
160 AVAILABLE = 'Available',
161 PREPARING = 'Preparing',
162 CHARGING = 'Charging',
163 OCCUPIED = 'Occupied',
164 SUSPENDED_EVSE = 'SuspendedEVSE',
165 SUSPENDED_EV = 'SuspendedEV',
166 FINISHING = 'Finishing',
167 RESERVED = 'Reserved',
168 UNAVAILABLE = 'Unavailable',
169 FAULTED = 'Faulted',
170 }