1 import type { JsonObject
} from
'./JsonType'
3 export type ChargingStationData
= {
5 stationInfo
: ChargingStationInfo
6 connectors
: ConnectorStatus
[]
8 ocppConfiguration
: ChargingStationOcppConfiguration
10 | typeof WebSocket
.CONNECTING
11 | typeof WebSocket
.OPEN
12 | typeof WebSocket
.CLOSING
13 | typeof WebSocket
.CLOSED
14 bootNotificationResponse
?: BootNotificationResponse
15 automaticTransactionGenerator
?: Status
[]
18 export enum OCPP16FirmwareStatus
{
19 Downloaded
= 'Downloaded',
20 DownloadFailed
= 'DownloadFailed',
21 Downloading
= 'Downloading',
23 InstallationFailed
= 'InstallationFailed',
24 Installing
= 'Installing',
25 Installed
= 'Installed'
28 export const FirmwareStatus
= {
29 ...OCPP16FirmwareStatus
31 export type FirmwareStatus
= OCPP16FirmwareStatus
33 export type ChargingStationInfo
= {
36 chargingStationId
?: string
37 chargePointModel
: string
38 chargePointVendor
: string
39 firmwareVersionPattern
?: string
40 firmwareVersion
?: string
41 firmwareStatus
?: FirmwareStatus
42 numberOfConnectors
?: number | number[]
45 chargeBoxSerialNumber
?: string
46 chargePointSerialNumber
?: string
47 meterSerialNumber
?: string
48 maximumPower
?: number // Always in Watt
49 maximumAmperage
?: number // Always in Ampere
50 supervisionUrls
?: string | string[]
51 supervisionUrlOcppConfiguration
?: boolean
52 supervisionUrlOcppKey
?: string
53 supervisionUser
?: string
54 supervisionPassword
?: string
55 ocppVersion
?: OCPPVersion
56 ocppProtocol
?: OCPPProtocol
57 ocppStrictCompliance
?: boolean
58 ocppPersistentConfiguration
?: boolean
59 stationInfoPersistentConfiguration
?: boolean
66 powerSharedByConnectors
?: boolean
67 currentOutType
?: CurrentType
69 numberOfPhases
?: number
70 useConnectorId0
?: boolean
71 randomConnectors
?: boolean
73 autoRegister
?: boolean
74 autoReconnectMaxRetries
?: number
75 reconnectExponentialDelay
?: boolean
76 registrationMaxRetries
?: number
77 enableStatistics
?: boolean
78 remoteAuthorization
?: boolean
79 amperageLimitationOcppKey
?: string
80 amperageLimitationUnit
?: AmpereUnits
81 beginEndMeterValues
?: boolean
82 outOfOrderEndMeterValues
?: boolean
83 meteringPerTransaction
?: boolean
84 transactionDataMeterValues
?: boolean
85 mainVoltageMeterValues
?: boolean
86 phaseLineToLineVoltageMeterValues
?: boolean
87 customValueLimitationMeterValues
?: boolean
88 commandsSupport
?: CommandsSupport
89 messageTriggerSupport
?: Record
<MessageTrigger
, boolean>
92 export interface ChargingStationOcppConfiguration
{
93 configurationKey
?: ConfigurationKey
[]
96 export type ConfigurationKey
= OCPPConfigurationKey
& {
101 export type OCPPConfigurationKey
= {
107 export enum OCPP16IncomingRequestCommand
{
109 CLEAR_CACHE
= 'ClearCache',
110 CHANGE_AVAILABILITY
= 'ChangeAvailability',
111 UNLOCK_CONNECTOR
= 'UnlockConnector',
112 GET_CONFIGURATION
= 'GetConfiguration',
113 CHANGE_CONFIGURATION
= 'ChangeConfiguration',
114 SET_CHARGING_PROFILE
= 'SetChargingProfile',
115 CLEAR_CHARGING_PROFILE
= 'ClearChargingProfile',
116 REMOTE_START_TRANSACTION
= 'RemoteStartTransaction',
117 REMOTE_STOP_TRANSACTION
= 'RemoteStopTransaction',
118 GET_DIAGNOSTICS
= 'GetDiagnostics',
119 TRIGGER_MESSAGE
= 'TriggerMessage'
122 export const IncomingRequestCommand
= {
123 ...OCPP16IncomingRequestCommand
125 export type IncomingRequestCommand
= OCPP16IncomingRequestCommand
127 export enum OCPP16RequestCommand
{
128 BOOT_NOTIFICATION
= 'BootNotification',
129 HEARTBEAT
= 'Heartbeat',
130 STATUS_NOTIFICATION
= 'StatusNotification',
131 AUTHORIZE
= 'Authorize',
132 START_TRANSACTION
= 'StartTransaction',
133 STOP_TRANSACTION
= 'StopTransaction',
134 METER_VALUES
= 'MeterValues',
135 DIAGNOSTICS_STATUS_NOTIFICATION
= 'DiagnosticsStatusNotification'
138 export const RequestCommand
= {
139 ...OCPP16RequestCommand
141 export type RequestCommand
= OCPP16RequestCommand
143 export type BootNotificationResponse
= OCPP16BootNotificationResponse
145 export enum OCPP16RegistrationStatus
{
146 ACCEPTED
= 'Accepted',
148 REJECTED
= 'Rejected'
151 export interface OCPP16BootNotificationResponse
extends JsonObject
{
152 status: OCPP16RegistrationStatus
157 export enum OCPP16MessageTrigger
{
158 BootNotification
= 'BootNotification',
159 DiagnosticsStatusNotification
= 'DiagnosticsStatusNotification',
160 FirmwareStatusNotification
= 'FirmwareStatusNotification',
161 Heartbeat
= 'Heartbeat',
162 MeterValues
= 'MeterValues',
163 StatusNotification
= 'StatusNotification'
166 export const MessageTrigger
= {
167 ...OCPP16MessageTrigger
169 export type MessageTrigger
= OCPP16MessageTrigger
171 type CommandsSupport
= {
172 incomingCommands
: Record
<IncomingRequestCommand
, boolean>
173 outgoingCommands
?: Record
<RequestCommand
, boolean>
176 export enum OCPPVersion
{
181 export enum OCPPProtocol
{
185 export enum CurrentType
{
190 export enum Voltage
{
197 export enum AmpereUnits
{
204 export type ConnectorStatus
= {
205 availability
: AvailabilityType
206 bootStatus
?: ChargePointStatus
207 status?: ChargePointStatus
208 authorizeIdTag
?: string
209 idTagAuthorized
?: boolean
210 localAuthorizeIdTag
?: string
211 idTagLocalAuthorized
?: boolean
212 transactionRemoteStarted
?: boolean
213 transactionStarted
?: boolean
214 transactionId
?: number
215 transactionIdTag
?: string
216 energyActiveImportRegisterValue
?: number // In Wh
217 transactionEnergyActiveImportRegisterValue
?: number // In Wh
220 export type EvseStatus
= {
221 availability
: AvailabilityType
222 connectors
?: ConnectorStatus
[]
225 export enum OCPP16AvailabilityType
{
226 INOPERATIVE
= 'Inoperative',
227 OPERATIVE
= 'Operative'
229 export type AvailabilityType
= OCPP16AvailabilityType
231 export enum OCPP16ChargePointStatus
{
232 AVAILABLE
= 'Available',
233 PREPARING
= 'Preparing',
234 CHARGING
= 'Charging',
235 OCCUPIED
= 'Occupied',
236 SUSPENDED_EVSE
= 'SuspendedEVSE',
237 SUSPENDED_EV
= 'SuspendedEV',
238 FINISHING
= 'Finishing',
239 RESERVED
= 'Reserved',
240 UNAVAILABLE
= 'Unavailable',
243 export type ChargePointStatus
= OCPP16ChargePointStatus
245 export type Status
= {
251 authorizeRequests
?: number
252 acceptedAuthorizeRequests
?: number
253 rejectedAuthorizeRequests
?: number
254 startTransactionRequests
?: number
255 acceptedStartTransactionRequests
?: number
256 rejectedStartTransactionRequests
?: number
257 stopTransactionRequests
?: number
258 acceptedStopTransactionRequests
?: number
259 rejectedStopTransactionRequests
?: number
260 skippedConsecutiveTransactions
?: number
261 skippedTransactions
?: number