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 interface FirmwareUpgrade
{
35 failureStatus
?: FirmwareStatus
38 export const FirmwareStatus
= {
39 ...OCPP16FirmwareStatus
41 export type FirmwareStatus
= OCPP16FirmwareStatus
43 export type ChargingStationInfo
= {
47 chargingStationId
?: string
48 chargeBoxSerialNumber
?: string
49 chargePointSerialNumber
?: string
50 meterSerialNumber
?: string
51 maximumPower
?: number // Always in Watt
52 maximumAmperage
?: number // Always in Ampere
53 firmwareStatus
?: FirmwareStatus
55 supervisionUrls
?: string | string[]
56 supervisionUrlOcppConfiguration
?: boolean
57 supervisionUrlOcppKey
?: string
58 supervisionUser
?: string
59 supervisionPassword
?: string
61 ocppVersion
?: OCPPVersion
62 ocppProtocol
?: OCPPProtocol
63 ocppStrictCompliance
?: boolean
64 ocppPersistentConfiguration
?: boolean
65 stationInfoPersistentConfiguration
?: boolean
66 automaticTransactionGeneratorPersistentConfiguration
?: boolean
71 chargePointModel
: string
72 chargePointVendor
: string
73 firmwareVersionPattern
?: string
74 firmwareVersion
?: string
75 firmwareUpgrade
?: FirmwareUpgrade
79 powerSharedByConnectors
?: boolean
80 currentOutType
?: CurrentType
82 numberOfPhases
?: number
83 useConnectorId0
?: boolean
84 randomConnectors
?: boolean
86 autoRegister
?: boolean
87 autoReconnectMaxRetries
?: number
88 reconnectExponentialDelay
?: boolean
89 registrationMaxRetries
?: number
90 enableStatistics
?: boolean
91 remoteAuthorization
?: boolean
92 amperageLimitationOcppKey
?: string
93 amperageLimitationUnit
?: AmpereUnits
94 beginEndMeterValues
?: boolean
95 outOfOrderEndMeterValues
?: boolean
96 meteringPerTransaction
?: boolean
97 transactionDataMeterValues
?: boolean
98 stopTransactionsOnStopped
?: boolean
99 mainVoltageMeterValues
?: boolean
100 phaseLineToLineVoltageMeterValues
?: boolean
101 customValueLimitationMeterValues
?: boolean
102 commandsSupport
?: CommandsSupport
103 messageTriggerSupport
?: Record
<MessageTrigger
, boolean>
106 export interface ChargingStationOcppConfiguration
{
107 configurationKey
?: ConfigurationKey
[]
110 export type ConfigurationKey
= OCPPConfigurationKey
& {
115 export type OCPPConfigurationKey
= {
121 export enum OCPP16IncomingRequestCommand
{
123 CLEAR_CACHE
= 'ClearCache',
124 CHANGE_AVAILABILITY
= 'ChangeAvailability',
125 UNLOCK_CONNECTOR
= 'UnlockConnector',
126 GET_CONFIGURATION
= 'GetConfiguration',
127 CHANGE_CONFIGURATION
= 'ChangeConfiguration',
128 SET_CHARGING_PROFILE
= 'SetChargingProfile',
129 CLEAR_CHARGING_PROFILE
= 'ClearChargingProfile',
130 REMOTE_START_TRANSACTION
= 'RemoteStartTransaction',
131 REMOTE_STOP_TRANSACTION
= 'RemoteStopTransaction',
132 GET_DIAGNOSTICS
= 'GetDiagnostics',
133 TRIGGER_MESSAGE
= 'TriggerMessage'
136 export const IncomingRequestCommand
= {
137 ...OCPP16IncomingRequestCommand
139 export type IncomingRequestCommand
= OCPP16IncomingRequestCommand
141 export enum OCPP16RequestCommand
{
142 BOOT_NOTIFICATION
= 'BootNotification',
143 HEARTBEAT
= 'Heartbeat',
144 STATUS_NOTIFICATION
= 'StatusNotification',
145 AUTHORIZE
= 'Authorize',
146 START_TRANSACTION
= 'StartTransaction',
147 STOP_TRANSACTION
= 'StopTransaction',
148 METER_VALUES
= 'MeterValues',
149 DIAGNOSTICS_STATUS_NOTIFICATION
= 'DiagnosticsStatusNotification'
152 export const RequestCommand
= {
153 ...OCPP16RequestCommand
155 export type RequestCommand
= OCPP16RequestCommand
157 export type BootNotificationResponse
= OCPP16BootNotificationResponse
159 export enum OCPP16RegistrationStatus
{
160 ACCEPTED
= 'Accepted',
162 REJECTED
= 'Rejected'
165 export interface OCPP16BootNotificationResponse
extends JsonObject
{
166 status: OCPP16RegistrationStatus
171 export enum OCPP16MessageTrigger
{
172 BootNotification
= 'BootNotification',
173 DiagnosticsStatusNotification
= 'DiagnosticsStatusNotification',
174 FirmwareStatusNotification
= 'FirmwareStatusNotification',
175 Heartbeat
= 'Heartbeat',
176 MeterValues
= 'MeterValues',
177 StatusNotification
= 'StatusNotification'
180 export const MessageTrigger
= {
181 ...OCPP16MessageTrigger
183 export type MessageTrigger
= OCPP16MessageTrigger
185 type CommandsSupport
= {
186 incomingCommands
: Record
<IncomingRequestCommand
, boolean>
187 outgoingCommands
?: Record
<RequestCommand
, boolean>
190 export enum OCPPVersion
{
195 export enum OCPPProtocol
{
199 export enum CurrentType
{
204 export enum Voltage
{
211 export enum AmpereUnits
{
218 export type ConnectorStatus
= {
219 availability
: AvailabilityType
220 bootStatus
?: ChargePointStatus
221 status?: ChargePointStatus
222 authorizeIdTag
?: string
223 idTagAuthorized
?: boolean
224 localAuthorizeIdTag
?: string
225 idTagLocalAuthorized
?: boolean
226 transactionRemoteStarted
?: boolean
227 transactionStarted
?: boolean
228 transactionId
?: number
229 transactionIdTag
?: string
230 energyActiveImportRegisterValue
?: number // In Wh
231 transactionEnergyActiveImportRegisterValue
?: number // In Wh
234 export type EvseStatus
= {
235 availability
: AvailabilityType
236 connectors
?: ConnectorStatus
[]
239 export enum OCPP16AvailabilityType
{
240 INOPERATIVE
= 'Inoperative',
241 OPERATIVE
= 'Operative'
243 export type AvailabilityType
= OCPP16AvailabilityType
245 export enum OCPP16ChargePointStatus
{
246 AVAILABLE
= 'Available',
247 PREPARING
= 'Preparing',
248 CHARGING
= 'Charging',
249 OCCUPIED
= 'Occupied',
250 SUSPENDED_EVSE
= 'SuspendedEVSE',
251 SUSPENDED_EV
= 'SuspendedEV',
252 FINISHING
= 'Finishing',
253 RESERVED
= 'Reserved',
254 UNAVAILABLE
= 'Unavailable',
257 export type ChargePointStatus
= OCPP16ChargePointStatus
259 export type Status
= {
265 authorizeRequests
?: number
266 acceptedAuthorizeRequests
?: number
267 rejectedAuthorizeRequests
?: number
268 startTransactionRequests
?: number
269 acceptedStartTransactionRequests
?: number
270 rejectedStartTransactionRequests
?: number
271 stopTransactionRequests
?: number
272 acceptedStopTransactionRequests
?: number
273 rejectedStopTransactionRequests
?: number
274 skippedConsecutiveTransactions
?: number
275 skippedTransactions
?: number