1 import type { JsonObject
} from
'./JsonType'
3 export type ChargingStationData
= {
5 stationInfo
: ChargingStationInfo
6 connectors
: ConnectorStatus
[]
8 ocppConfiguration
: ChargingStationOcppConfiguration
11 | typeof WebSocket
.CONNECTING
12 | typeof WebSocket
.OPEN
13 | typeof WebSocket
.CLOSING
14 | typeof WebSocket
.CLOSED
15 bootNotificationResponse
?: BootNotificationResponse
16 automaticTransactionGenerator
?: Status
[]
19 export enum OCPP16FirmwareStatus
{
20 Downloaded
= 'Downloaded',
21 DownloadFailed
= 'DownloadFailed',
22 Downloading
= 'Downloading',
24 InstallationFailed
= 'InstallationFailed',
25 Installing
= 'Installing',
26 Installed
= 'Installed'
29 export const FirmwareStatus
= {
30 ...OCPP16FirmwareStatus
32 export type FirmwareStatus
= OCPP16FirmwareStatus
34 export type ChargingStationInfo
= {
38 chargingStationId
?: string
39 chargePointModel
: string
40 chargePointVendor
: string
41 firmwareVersionPattern
?: string
42 firmwareVersion
?: string
43 firmwareStatus
?: FirmwareStatus
44 numberOfConnectors
?: number | number[]
47 chargeBoxSerialNumber
?: string
48 chargePointSerialNumber
?: string
49 meterSerialNumber
?: string
50 maximumPower
?: number // Always in Watt
51 maximumAmperage
?: number // Always in Ampere
52 supervisionUrls
?: string | string[]
53 supervisionUrlOcppConfiguration
?: boolean
54 supervisionUrlOcppKey
?: string
55 supervisionUser
?: string
56 supervisionPassword
?: string
57 ocppVersion
?: OCPPVersion
58 ocppProtocol
?: OCPPProtocol
59 ocppStrictCompliance
?: boolean
60 ocppPersistentConfiguration
?: boolean
61 stationInfoPersistentConfiguration
?: boolean
68 powerSharedByConnectors
?: boolean
69 currentOutType
?: CurrentType
71 numberOfPhases
?: number
72 useConnectorId0
?: boolean
73 randomConnectors
?: boolean
75 autoRegister
?: boolean
76 autoReconnectMaxRetries
?: number
77 reconnectExponentialDelay
?: boolean
78 registrationMaxRetries
?: number
79 enableStatistics
?: boolean
80 remoteAuthorization
?: boolean
81 amperageLimitationOcppKey
?: string
82 amperageLimitationUnit
?: AmpereUnits
83 beginEndMeterValues
?: boolean
84 outOfOrderEndMeterValues
?: boolean
85 meteringPerTransaction
?: boolean
86 transactionDataMeterValues
?: boolean
87 mainVoltageMeterValues
?: boolean
88 phaseLineToLineVoltageMeterValues
?: boolean
89 customValueLimitationMeterValues
?: boolean
90 commandsSupport
?: CommandsSupport
91 messageTriggerSupport
?: Record
<MessageTrigger
, boolean>
94 export interface ChargingStationOcppConfiguration
{
95 configurationKey
?: ConfigurationKey
[]
98 export type ConfigurationKey
= OCPPConfigurationKey
& {
103 export type OCPPConfigurationKey
= {
109 export enum OCPP16IncomingRequestCommand
{
111 CLEAR_CACHE
= 'ClearCache',
112 CHANGE_AVAILABILITY
= 'ChangeAvailability',
113 UNLOCK_CONNECTOR
= 'UnlockConnector',
114 GET_CONFIGURATION
= 'GetConfiguration',
115 CHANGE_CONFIGURATION
= 'ChangeConfiguration',
116 SET_CHARGING_PROFILE
= 'SetChargingProfile',
117 CLEAR_CHARGING_PROFILE
= 'ClearChargingProfile',
118 REMOTE_START_TRANSACTION
= 'RemoteStartTransaction',
119 REMOTE_STOP_TRANSACTION
= 'RemoteStopTransaction',
120 GET_DIAGNOSTICS
= 'GetDiagnostics',
121 TRIGGER_MESSAGE
= 'TriggerMessage'
124 export const IncomingRequestCommand
= {
125 ...OCPP16IncomingRequestCommand
127 export type IncomingRequestCommand
= OCPP16IncomingRequestCommand
129 export enum OCPP16RequestCommand
{
130 BOOT_NOTIFICATION
= 'BootNotification',
131 HEARTBEAT
= 'Heartbeat',
132 STATUS_NOTIFICATION
= 'StatusNotification',
133 AUTHORIZE
= 'Authorize',
134 START_TRANSACTION
= 'StartTransaction',
135 STOP_TRANSACTION
= 'StopTransaction',
136 METER_VALUES
= 'MeterValues',
137 DIAGNOSTICS_STATUS_NOTIFICATION
= 'DiagnosticsStatusNotification'
140 export const RequestCommand
= {
141 ...OCPP16RequestCommand
143 export type RequestCommand
= OCPP16RequestCommand
145 export type BootNotificationResponse
= OCPP16BootNotificationResponse
147 export enum OCPP16RegistrationStatus
{
148 ACCEPTED
= 'Accepted',
150 REJECTED
= 'Rejected'
153 export interface OCPP16BootNotificationResponse
extends JsonObject
{
154 status: OCPP16RegistrationStatus
159 export enum OCPP16MessageTrigger
{
160 BootNotification
= 'BootNotification',
161 DiagnosticsStatusNotification
= 'DiagnosticsStatusNotification',
162 FirmwareStatusNotification
= 'FirmwareStatusNotification',
163 Heartbeat
= 'Heartbeat',
164 MeterValues
= 'MeterValues',
165 StatusNotification
= 'StatusNotification'
168 export const MessageTrigger
= {
169 ...OCPP16MessageTrigger
171 export type MessageTrigger
= OCPP16MessageTrigger
173 type CommandsSupport
= {
174 incomingCommands
: Record
<IncomingRequestCommand
, boolean>
175 outgoingCommands
?: Record
<RequestCommand
, boolean>
178 export enum OCPPVersion
{
183 export enum OCPPProtocol
{
187 export enum CurrentType
{
192 export enum Voltage
{
199 export enum AmpereUnits
{
206 export type ConnectorStatus
= {
207 availability
: AvailabilityType
208 bootStatus
?: ChargePointStatus
209 status?: ChargePointStatus
210 authorizeIdTag
?: string
211 idTagAuthorized
?: boolean
212 localAuthorizeIdTag
?: string
213 idTagLocalAuthorized
?: boolean
214 transactionRemoteStarted
?: boolean
215 transactionStarted
?: boolean
216 transactionId
?: number
217 transactionIdTag
?: string
218 energyActiveImportRegisterValue
?: number // In Wh
219 transactionEnergyActiveImportRegisterValue
?: number // In Wh
222 export type EvseStatus
= {
223 availability
: AvailabilityType
224 connectors
?: ConnectorStatus
[]
227 export enum OCPP16AvailabilityType
{
228 INOPERATIVE
= 'Inoperative',
229 OPERATIVE
= 'Operative'
231 export type AvailabilityType
= OCPP16AvailabilityType
233 export enum OCPP16ChargePointStatus
{
234 AVAILABLE
= 'Available',
235 PREPARING
= 'Preparing',
236 CHARGING
= 'Charging',
237 OCCUPIED
= 'Occupied',
238 SUSPENDED_EVSE
= 'SuspendedEVSE',
239 SUSPENDED_EV
= 'SuspendedEV',
240 FINISHING
= 'Finishing',
241 RESERVED
= 'Reserved',
242 UNAVAILABLE
= 'Unavailable',
245 export type ChargePointStatus
= OCPP16ChargePointStatus
247 export type Status
= {
253 authorizeRequests
?: number
254 acceptedAuthorizeRequests
?: number
255 rejectedAuthorizeRequests
?: number
256 startTransactionRequests
?: number
257 acceptedStartTransactionRequests
?: number
258 rejectedStartTransactionRequests
?: number
259 stopTransactionRequests
?: number
260 acceptedStopTransactionRequests
?: number
261 rejectedStopTransactionRequests
?: number
262 skippedConsecutiveTransactions
?: number
263 skippedTransactions
?: number