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
= {
37 chargingStationId
?: string
38 chargePointModel
: string
39 chargePointVendor
: string
40 firmwareVersionPattern
?: string
41 firmwareVersion
?: string
42 firmwareStatus
?: FirmwareStatus
43 numberOfConnectors
?: number | number[]
46 chargeBoxSerialNumber
?: string
47 chargePointSerialNumber
?: string
48 meterSerialNumber
?: string
49 maximumPower
?: number // Always in Watt
50 maximumAmperage
?: number // Always in Ampere
51 supervisionUrls
?: string | string[]
52 supervisionUrlOcppConfiguration
?: boolean
53 supervisionUrlOcppKey
?: string
54 supervisionUser
?: string
55 supervisionPassword
?: string
56 ocppVersion
?: OCPPVersion
57 ocppProtocol
?: OCPPProtocol
58 ocppStrictCompliance
?: boolean
59 ocppPersistentConfiguration
?: boolean
60 stationInfoPersistentConfiguration
?: boolean
67 powerSharedByConnectors
?: boolean
68 currentOutType
?: CurrentType
70 numberOfPhases
?: number
71 useConnectorId0
?: boolean
72 randomConnectors
?: boolean
74 autoRegister
?: boolean
75 autoReconnectMaxRetries
?: number
76 reconnectExponentialDelay
?: boolean
77 registrationMaxRetries
?: number
78 enableStatistics
?: boolean
79 remoteAuthorization
?: boolean
80 amperageLimitationOcppKey
?: string
81 amperageLimitationUnit
?: AmpereUnits
82 beginEndMeterValues
?: boolean
83 outOfOrderEndMeterValues
?: boolean
84 meteringPerTransaction
?: boolean
85 transactionDataMeterValues
?: boolean
86 mainVoltageMeterValues
?: boolean
87 phaseLineToLineVoltageMeterValues
?: boolean
88 customValueLimitationMeterValues
?: boolean
89 commandsSupport
?: CommandsSupport
90 messageTriggerSupport
?: Record
<MessageTrigger
, boolean>
93 export interface ChargingStationOcppConfiguration
{
94 configurationKey
?: ConfigurationKey
[]
97 export type ConfigurationKey
= OCPPConfigurationKey
& {
102 export type OCPPConfigurationKey
= {
108 export enum OCPP16IncomingRequestCommand
{
110 CLEAR_CACHE
= 'ClearCache',
111 CHANGE_AVAILABILITY
= 'ChangeAvailability',
112 UNLOCK_CONNECTOR
= 'UnlockConnector',
113 GET_CONFIGURATION
= 'GetConfiguration',
114 CHANGE_CONFIGURATION
= 'ChangeConfiguration',
115 SET_CHARGING_PROFILE
= 'SetChargingProfile',
116 CLEAR_CHARGING_PROFILE
= 'ClearChargingProfile',
117 REMOTE_START_TRANSACTION
= 'RemoteStartTransaction',
118 REMOTE_STOP_TRANSACTION
= 'RemoteStopTransaction',
119 GET_DIAGNOSTICS
= 'GetDiagnostics',
120 TRIGGER_MESSAGE
= 'TriggerMessage'
123 export const IncomingRequestCommand
= {
124 ...OCPP16IncomingRequestCommand
126 export type IncomingRequestCommand
= OCPP16IncomingRequestCommand
128 export enum OCPP16RequestCommand
{
129 BOOT_NOTIFICATION
= 'BootNotification',
130 HEARTBEAT
= 'Heartbeat',
131 STATUS_NOTIFICATION
= 'StatusNotification',
132 AUTHORIZE
= 'Authorize',
133 START_TRANSACTION
= 'StartTransaction',
134 STOP_TRANSACTION
= 'StopTransaction',
135 METER_VALUES
= 'MeterValues',
136 DIAGNOSTICS_STATUS_NOTIFICATION
= 'DiagnosticsStatusNotification'
139 export const RequestCommand
= {
140 ...OCPP16RequestCommand
142 export type RequestCommand
= OCPP16RequestCommand
144 export type BootNotificationResponse
= OCPP16BootNotificationResponse
146 export enum OCPP16RegistrationStatus
{
147 ACCEPTED
= 'Accepted',
149 REJECTED
= 'Rejected'
152 export interface OCPP16BootNotificationResponse
extends JsonObject
{
153 status: OCPP16RegistrationStatus
158 export enum OCPP16MessageTrigger
{
159 BootNotification
= 'BootNotification',
160 DiagnosticsStatusNotification
= 'DiagnosticsStatusNotification',
161 FirmwareStatusNotification
= 'FirmwareStatusNotification',
162 Heartbeat
= 'Heartbeat',
163 MeterValues
= 'MeterValues',
164 StatusNotification
= 'StatusNotification'
167 export const MessageTrigger
= {
168 ...OCPP16MessageTrigger
170 export type MessageTrigger
= OCPP16MessageTrigger
172 type CommandsSupport
= {
173 incomingCommands
: Record
<IncomingRequestCommand
, boolean>
174 outgoingCommands
?: Record
<RequestCommand
, boolean>
177 export enum OCPPVersion
{
182 export enum OCPPProtocol
{
186 export enum CurrentType
{
191 export enum Voltage
{
198 export enum AmpereUnits
{
205 export type ConnectorStatus
= {
206 availability
: AvailabilityType
207 bootStatus
?: ChargePointStatus
208 status?: ChargePointStatus
209 authorizeIdTag
?: string
210 idTagAuthorized
?: boolean
211 localAuthorizeIdTag
?: string
212 idTagLocalAuthorized
?: boolean
213 transactionRemoteStarted
?: boolean
214 transactionStarted
?: boolean
215 transactionId
?: number
216 transactionIdTag
?: string
217 energyActiveImportRegisterValue
?: number // In Wh
218 transactionEnergyActiveImportRegisterValue
?: number // In Wh
221 export type EvseStatus
= {
222 availability
: AvailabilityType
223 connectors
?: ConnectorStatus
[]
226 export enum OCPP16AvailabilityType
{
227 INOPERATIVE
= 'Inoperative',
228 OPERATIVE
= 'Operative'
230 export type AvailabilityType
= OCPP16AvailabilityType
232 export enum OCPP16ChargePointStatus
{
233 AVAILABLE
= 'Available',
234 PREPARING
= 'Preparing',
235 CHARGING
= 'Charging',
236 OCCUPIED
= 'Occupied',
237 SUSPENDED_EVSE
= 'SuspendedEVSE',
238 SUSPENDED_EV
= 'SuspendedEV',
239 FINISHING
= 'Finishing',
240 RESERVED
= 'Reserved',
241 UNAVAILABLE
= 'Unavailable',
244 export type ChargePointStatus
= OCPP16ChargePointStatus
246 export type Status
= {
252 authorizeRequests
?: number
253 acceptedAuthorizeRequests
?: number
254 rejectedAuthorizeRequests
?: number
255 startTransactionRequests
?: number
256 acceptedStartTransactionRequests
?: number
257 rejectedStartTransactionRequests
?: number
258 stopTransactionRequests
?: number
259 acceptedStopTransactionRequests
?: number
260 rejectedStopTransactionRequests
?: number
261 skippedConsecutiveTransactions
?: number
262 skippedTransactions
?: number