1 import type { JsonObject
} from
'./JsonType';
3 export type ChargingStationData
= {
5 stationInfo
: ChargingStationInfo
;
6 connectors
: ConnectorStatus
[];
9 | typeof WebSocket
.CONNECTING
10 | typeof WebSocket
.OPEN
11 | typeof WebSocket
.CLOSING
12 | typeof WebSocket
.CLOSED
;
13 bootNotificationResponse
?: BootNotificationResponse
;
14 automaticTransactionGenerator
?: Status
[];
17 export type ChargingStationInfo
= {
19 chargingStationId
?: string;
20 chargePointModel
: string;
21 chargePointVendor
: string;
22 firmwareVersionPattern
?: string;
23 firmwareVersion
?: string;
24 numberOfConnectors
?: number | number[];
27 templateHash
?: string;
28 chargeBoxSerialNumber
?: string;
29 chargePointSerialNumber
?: string;
30 meterSerialNumber
?: string;
31 maximumPower
?: number; // Always in Watt
32 maximumAmperage
?: number; // Always in Ampere
33 supervisionUrls
?: string | string[];
34 supervisionUrlOcppConfiguration
?: boolean;
35 supervisionUrlOcppKey
?: string;
36 supervisionUser
?: string;
37 supervisionPassword
?: string;
38 ocppVersion
?: OCPPVersion
;
39 ocppProtocol
?: OCPPProtocol
;
40 ocppStrictCompliance
?: boolean;
41 ocppPersistentConfiguration
?: boolean;
42 stationInfoPersistentConfiguration
?: boolean;
49 powerSharedByConnectors
?: boolean;
50 currentOutType
?: CurrentType
;
52 numberOfPhases
?: number;
53 useConnectorId0
?: boolean;
54 randomConnectors
?: boolean;
56 autoRegister
?: boolean;
57 autoReconnectMaxRetries
?: number;
58 reconnectExponentialDelay
?: boolean;
59 registrationMaxRetries
?: number;
60 enableStatistics
?: boolean;
61 mustAuthorizeAtRemoteStart
?: boolean;
62 amperageLimitationOcppKey
?: string;
63 amperageLimitationUnit
?: AmpereUnits
;
64 beginEndMeterValues
?: boolean;
65 outOfOrderEndMeterValues
?: boolean;
66 meteringPerTransaction
?: boolean;
67 transactionDataMeterValues
?: boolean;
68 mainVoltageMeterValues
?: boolean;
69 phaseLineToLineVoltageMeterValues
?: boolean;
70 customValueLimitationMeterValues
?: boolean;
71 commandsSupport
?: CommandsSupport
;
72 messageTriggerSupport
?: Record
<MessageTrigger
, boolean>;
75 export enum OCPP16IncomingRequestCommand
{
77 CLEAR_CACHE
= 'ClearCache',
78 CHANGE_AVAILABILITY
= 'ChangeAvailability',
79 UNLOCK_CONNECTOR
= 'UnlockConnector',
80 GET_CONFIGURATION
= 'GetConfiguration',
81 CHANGE_CONFIGURATION
= 'ChangeConfiguration',
82 SET_CHARGING_PROFILE
= 'SetChargingProfile',
83 CLEAR_CHARGING_PROFILE
= 'ClearChargingProfile',
84 REMOTE_START_TRANSACTION
= 'RemoteStartTransaction',
85 REMOTE_STOP_TRANSACTION
= 'RemoteStopTransaction',
86 GET_DIAGNOSTICS
= 'GetDiagnostics',
87 TRIGGER_MESSAGE
= 'TriggerMessage',
90 export const IncomingRequestCommand
= {
91 ...OCPP16IncomingRequestCommand
,
93 export type IncomingRequestCommand
= OCPP16IncomingRequestCommand
;
95 export enum OCPP16RequestCommand
{
96 BOOT_NOTIFICATION
= 'BootNotification',
97 HEARTBEAT
= 'Heartbeat',
98 STATUS_NOTIFICATION
= 'StatusNotification',
99 AUTHORIZE
= 'Authorize',
100 START_TRANSACTION
= 'StartTransaction',
101 STOP_TRANSACTION
= 'StopTransaction',
102 METER_VALUES
= 'MeterValues',
103 DIAGNOSTICS_STATUS_NOTIFICATION
= 'DiagnosticsStatusNotification',
106 export const RequestCommand
= {
107 ...OCPP16RequestCommand
,
109 export type RequestCommand
= OCPP16RequestCommand
;
111 export type BootNotificationResponse
= OCPP16BootNotificationResponse
;
113 export enum OCPP16RegistrationStatus
{
114 ACCEPTED
= 'Accepted',
116 REJECTED
= 'Rejected',
119 export interface OCPP16BootNotificationResponse
extends JsonObject
{
120 status: OCPP16RegistrationStatus
;
125 export enum OCPP16MessageTrigger
{
126 BootNotification
= 'BootNotification',
127 DiagnosticsStatusNotification
= 'DiagnosticsStatusNotification',
128 FirmwareStatusNotification
= 'FirmwareStatusNotification',
129 Heartbeat
= 'Heartbeat',
130 MeterValues
= 'MeterValues',
131 StatusNotification
= 'StatusNotification',
134 export const MessageTrigger
= {
135 ...OCPP16MessageTrigger
,
137 export type MessageTrigger
= OCPP16MessageTrigger
;
139 type CommandsSupport
= {
140 incomingCommands
: Record
<IncomingRequestCommand
, boolean>;
141 outgoingCommands
?: Record
<RequestCommand
, boolean>;
144 export enum OCPPVersion
{
149 export enum OCPPProtocol
{
153 export enum CurrentType
{
158 export enum Voltage
{
165 export enum AmpereUnits
{
172 export type ConnectorStatus
= {
173 availability
: AvailabilityType
;
174 bootStatus
?: ChargePointStatus
;
175 status?: ChargePointStatus
;
176 authorizeIdTag
?: string;
177 idTagAuthorized
?: boolean;
178 localAuthorizeIdTag
?: string;
179 idTagLocalAuthorized
?: boolean;
180 transactionRemoteStarted
?: boolean;
181 transactionStarted
?: boolean;
182 transactionId
?: number;
183 transactionIdTag
?: string;
184 energyActiveImportRegisterValue
?: number; // In Wh
185 transactionEnergyActiveImportRegisterValue
?: number; // In Wh
188 export type EvseStatus
= {
189 availability
: AvailabilityType
;
190 connectors
?: ConnectorStatus
[];
193 export type AvailabilityType
= OCPP16AvailabilityType
;
195 export enum OCPP16AvailabilityType
{
196 INOPERATIVE
= 'Inoperative',
197 OPERATIVE
= 'Operative',
200 export type ChargePointStatus
= OCPP16ChargePointStatus
;
202 export enum OCPP16ChargePointStatus
{
203 AVAILABLE
= 'Available',
204 PREPARING
= 'Preparing',
205 CHARGING
= 'Charging',
206 OCCUPIED
= 'Occupied',
207 SUSPENDED_EVSE
= 'SuspendedEVSE',
208 SUSPENDED_EV
= 'SuspendedEV',
209 FINISHING
= 'Finishing',
210 RESERVED
= 'Reserved',
211 UNAVAILABLE
= 'Unavailable',
215 export type Status
= {
221 authorizeRequests
?: number;
222 acceptedAuthorizeRequests
?: number;
223 rejectedAuthorizeRequests
?: number;
224 startTransactionRequests
?: number;
225 acceptedStartTransactionRequests
?: number;
226 rejectedStartTransactionRequests
?: number;
227 stopTransactionRequests
?: number;
228 acceptedStopTransactionRequests
?: number;
229 rejectedStopTransactionRequests
?: number;
230 skippedConsecutiveTransactions
?: number;
231 skippedTransactions
?: number;