1 import type { JsonObject
} from
'./JsonType'
3 export enum IdTagDistribution
{
5 ROUND_ROBIN
= 'round-robin',
6 CONNECTOR_AFFINITY
= 'connector-affinity'
9 export interface AutomaticTransactionGeneratorConfiguration
{
13 minDelayBetweenTwoTransactions
: number
14 maxDelayBetweenTwoTransactions
: number
15 probabilityOfStart
: number
16 stopAfterHours
: number
17 stopAbsoluteDuration
: boolean
18 requireAuthorize
?: boolean
19 idTagDistribution
?: IdTagDistribution
22 export interface ChargingStationAutomaticTransactionGeneratorConfiguration
{
23 automaticTransactionGenerator
?: AutomaticTransactionGeneratorConfiguration
24 automaticTransactionGeneratorStatuses
?: Status
[]
27 export type ChargingStationData
= {
29 stationInfo
: ChargingStationInfo
30 connectors
: ConnectorStatus
[]
32 ocppConfiguration
: ChargingStationOcppConfiguration
33 supervisionUrl
: string
35 | typeof WebSocket
.CONNECTING
36 | typeof WebSocket
.OPEN
37 | typeof WebSocket
.CLOSING
38 | typeof WebSocket
.CLOSED
39 bootNotificationResponse
?: BootNotificationResponse
40 automaticTransactionGenerator
?: ChargingStationAutomaticTransactionGeneratorConfiguration
43 export enum OCPP16FirmwareStatus
{
44 Downloaded
= 'Downloaded',
45 DownloadFailed
= 'DownloadFailed',
46 Downloading
= 'Downloading',
48 InstallationFailed
= 'InstallationFailed',
49 Installing
= 'Installing',
50 Installed
= 'Installed'
53 export interface FirmwareUpgrade
{
59 failureStatus
?: FirmwareStatus
62 export const FirmwareStatus
= {
63 ...OCPP16FirmwareStatus
65 export type FirmwareStatus
= OCPP16FirmwareStatus
67 export type ChargingStationInfo
= {
71 chargingStationId
: string
72 chargeBoxSerialNumber
?: string
73 chargePointSerialNumber
?: string
74 meterSerialNumber
?: string
75 maximumPower
?: number // Always in Watt
76 maximumAmperage
?: number // Always in Ampere
77 firmwareStatus
?: FirmwareStatus
79 supervisionUrls
?: string | string[]
80 supervisionUrlOcppConfiguration
?: boolean
81 supervisionUrlOcppKey
?: string
82 supervisionUser
?: string
83 supervisionPassword
?: string
85 ocppVersion
?: OCPPVersion
86 ocppProtocol
?: OCPPProtocol
87 ocppStrictCompliance
?: boolean
88 ocppPersistentConfiguration
?: boolean
89 stationInfoPersistentConfiguration
?: boolean
90 automaticTransactionGeneratorPersistentConfiguration
?: boolean
95 chargePointModel
: string
96 chargePointVendor
: string
97 firmwareVersionPattern
?: string
98 firmwareVersion
?: string
99 firmwareUpgrade
?: FirmwareUpgrade
103 powerSharedByConnectors
?: boolean
104 currentOutType
?: CurrentType
106 numberOfPhases
?: number
107 useConnectorId0
?: boolean
108 randomConnectors
?: boolean
110 autoRegister
?: boolean
111 autoReconnectMaxRetries
?: number
112 reconnectExponentialDelay
?: boolean
113 registrationMaxRetries
?: number
114 enableStatistics
?: boolean
115 remoteAuthorization
?: boolean
116 amperageLimitationOcppKey
?: string
117 amperageLimitationUnit
?: AmpereUnits
118 beginEndMeterValues
?: boolean
119 outOfOrderEndMeterValues
?: boolean
120 meteringPerTransaction
?: boolean
121 transactionDataMeterValues
?: boolean
122 stopTransactionsOnStopped
?: boolean
123 mainVoltageMeterValues
?: boolean
124 phaseLineToLineVoltageMeterValues
?: boolean
125 customValueLimitationMeterValues
?: boolean
126 commandsSupport
?: CommandsSupport
127 messageTriggerSupport
?: Record
<MessageTrigger
, boolean>
130 export interface ChargingStationOcppConfiguration
{
131 configurationKey
?: ConfigurationKey
[]
134 export type ConfigurationKey
= OCPPConfigurationKey
& {
139 export type OCPPConfigurationKey
= {
145 export enum OCPP16IncomingRequestCommand
{
147 CLEAR_CACHE
= 'ClearCache',
148 CHANGE_AVAILABILITY
= 'ChangeAvailability',
149 UNLOCK_CONNECTOR
= 'UnlockConnector',
150 GET_CONFIGURATION
= 'GetConfiguration',
151 CHANGE_CONFIGURATION
= 'ChangeConfiguration',
152 SET_CHARGING_PROFILE
= 'SetChargingProfile',
153 CLEAR_CHARGING_PROFILE
= 'ClearChargingProfile',
154 REMOTE_START_TRANSACTION
= 'RemoteStartTransaction',
155 REMOTE_STOP_TRANSACTION
= 'RemoteStopTransaction',
156 GET_DIAGNOSTICS
= 'GetDiagnostics',
157 TRIGGER_MESSAGE
= 'TriggerMessage'
160 export const IncomingRequestCommand
= {
161 ...OCPP16IncomingRequestCommand
163 export type IncomingRequestCommand
= OCPP16IncomingRequestCommand
165 export enum OCPP16RequestCommand
{
166 BOOT_NOTIFICATION
= 'BootNotification',
167 HEARTBEAT
= 'Heartbeat',
168 STATUS_NOTIFICATION
= 'StatusNotification',
169 AUTHORIZE
= 'Authorize',
170 START_TRANSACTION
= 'StartTransaction',
171 STOP_TRANSACTION
= 'StopTransaction',
172 METER_VALUES
= 'MeterValues',
173 DIAGNOSTICS_STATUS_NOTIFICATION
= 'DiagnosticsStatusNotification'
176 export const RequestCommand
= {
177 ...OCPP16RequestCommand
179 export type RequestCommand
= OCPP16RequestCommand
181 export type BootNotificationResponse
= OCPP16BootNotificationResponse
183 export enum OCPP16RegistrationStatus
{
184 ACCEPTED
= 'Accepted',
186 REJECTED
= 'Rejected'
189 export interface OCPP16BootNotificationResponse
extends JsonObject
{
190 status: OCPP16RegistrationStatus
195 export enum OCPP16MessageTrigger
{
196 BootNotification
= 'BootNotification',
197 DiagnosticsStatusNotification
= 'DiagnosticsStatusNotification',
198 FirmwareStatusNotification
= 'FirmwareStatusNotification',
199 Heartbeat
= 'Heartbeat',
200 MeterValues
= 'MeterValues',
201 StatusNotification
= 'StatusNotification'
204 export const MessageTrigger
= {
205 ...OCPP16MessageTrigger
207 export type MessageTrigger
= OCPP16MessageTrigger
209 type CommandsSupport
= {
210 incomingCommands
: Record
<IncomingRequestCommand
, boolean>
211 outgoingCommands
?: Record
<RequestCommand
, boolean>
214 export enum OCPPVersion
{
217 VERSION_201
= '2.0.1'
220 export enum OCPPProtocol
{
224 export enum CurrentType
{
229 export enum Voltage
{
236 export enum AmpereUnits
{
243 export type ConnectorStatus
= {
244 availability
: AvailabilityType
245 bootStatus
?: ChargePointStatus
246 status?: ChargePointStatus
247 authorizeIdTag
?: string
248 idTagAuthorized
?: boolean
249 localAuthorizeIdTag
?: string
250 idTagLocalAuthorized
?: boolean
251 transactionRemoteStarted
?: boolean
252 transactionStarted
?: boolean
253 transactionId
?: number
254 transactionIdTag
?: string
255 energyActiveImportRegisterValue
?: number // In Wh
256 transactionEnergyActiveImportRegisterValue
?: number // In Wh
259 export type EvseStatus
= {
260 availability
: AvailabilityType
261 connectors
?: ConnectorStatus
[]
264 export enum OCPP16AvailabilityType
{
265 INOPERATIVE
= 'Inoperative',
266 OPERATIVE
= 'Operative'
268 export type AvailabilityType
= OCPP16AvailabilityType
270 export enum OCPP16ChargePointStatus
{
271 AVAILABLE
= 'Available',
272 PREPARING
= 'Preparing',
273 CHARGING
= 'Charging',
274 OCCUPIED
= 'Occupied',
275 SUSPENDED_EVSE
= 'SuspendedEVSE',
276 SUSPENDED_EV
= 'SuspendedEV',
277 FINISHING
= 'Finishing',
278 RESERVED
= 'Reserved',
279 UNAVAILABLE
= 'Unavailable',
282 export type ChargePointStatus
= OCPP16ChargePointStatus
284 export type Status
= {
290 authorizeRequests
?: number
291 acceptedAuthorizeRequests
?: number
292 rejectedAuthorizeRequests
?: number
293 startTransactionRequests
?: number
294 acceptedStartTransactionRequests
?: number
295 rejectedStartTransactionRequests
?: number
296 stopTransactionRequests
?: number
297 acceptedStopTransactionRequests
?: number
298 rejectedStopTransactionRequests
?: number
299 skippedConsecutiveTransactions
?: number
300 skippedTransactions
?: number