- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `state`: {
- `version`: string,
- `configuration`: ConfigurationData,
- `started`: boolean,
- `templateStatistics`: Record<string, TemplateStatistics>
- }
+ `status`: 'success' | 'failure',
+ `state`: {
+ `version`: string,
+ `configuration`: ConfigurationData,
+ `started`: boolean,
+ `templateStatistics`: Record<string, TemplateStatistics>
+ }
}
###### Start Simulator
- Response:
`PDU`: {
- `status`: 'success' | 'failure'
+ `status`: 'success' | 'failure'
}
###### Stop Simulator
- Response:
`PDU`: {
- `status`: 'success' | 'failure'
+ `status`: 'success' | 'failure'
}
###### List Charging Station Templates
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `templates`: string[]
+ `status`: 'success' | 'failure',
+ `templates`: string[]
}
###### Add Charging Stations
- Request:
`ProcedureName`: 'addChargingStations'
`PDU`: {
- `template`: string,
- `numberOfStations`: number,
- `options?`: {
- `autoRegister?`: boolean,
- `autoStart?`: boolean,
- `baseName?`: string,
- `enableStatistics?`: boolean,
- `fixedName?`: boolean,
- `nameSuffix?`: string,
- `ocppStrictCompliance?`: boolean,
- `persistentConfiguration?`: boolean,
- `stopTransactionsOnStopped?`: boolean,
- `supervisionPassword?`: string,
- `supervisionUrls?`: string | string[],
- `supervisionUser?`: string
- }
+ `template`: string,
+ `numberOfStations`: number,
+ `options?`: {
+ `autoRegister?`: boolean,
+ `autoStart?`: boolean,
+ `baseName?`: string,
+ `enableStatistics?`: boolean,
+ `fixedName?`: boolean,
+ `nameSuffix?`: string,
+ `ocppStrictCompliance?`: boolean,
+ `persistentConfiguration?`: boolean,
+ `stopTransactionsOnStopped?`: boolean,
+ `supervisionPassword?`: string,
+ `supervisionUrls?`: string | string[],
+ `supervisionUser?`: string
+ }
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array (optional),
- `hashIdsFailed`: charging station unique identifier strings array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array (optional),
+ `hashIdsFailed`: charging station unique identifier strings array (optional)
}
###### Delete Charging Stations
- Request:
`ProcedureName`: 'deleteChargingStations'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
- `deleteConfiguration?`: boolean
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
+ `deleteConfiguration?`: boolean
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
###### Set Charging Station Supervision URL
- Request:
`ProcedureName`: 'setSupervisionUrl'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
- `url`: string,
- `supervisionUser?`: string,
- `supervisionPassword?`: string
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
+ `url`: string,
+ `supervisionUser?`: string,
+ `supervisionPassword?`: string
}
`url` is required. `supervisionUser` and `supervisionPassword` are each optional and independent: a string (including `""`, which clears the field) updates the value; omitting the field preserves the existing value. Changes take effect on the next WebSocket (re)connect.
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
###### Performance Statistics
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `performanceStatistics`: Statistics[]
+ `status`: 'success' | 'failure',
+ `performanceStatistics`: Statistics[]
}
###### List Charging Stations
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `chargingStations`: ChargingStationData[]
+ `status`: 'success' | 'failure',
+ `chargingStations`: ChargingStationData[]
}
###### Start Charging Station
- Request:
`ProcedureName`: 'startChargingStation'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations)
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations)
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
###### Stop Charging Station
- Request:
`ProcedureName`: 'stopChargingStation'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations)
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations)
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
###### Open Connection
- Request:
`ProcedureName`: 'openConnection'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations)
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations)
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
###### Close Connection
- Request:
`ProcedureName`: 'closeConnection'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations)
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations)
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
###### Start Automatic Transaction Generator
- Request:
`ProcedureName`: 'startAutomaticTransactionGenerator'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
- `connectorIds`: connector id integer array (optional, default: all connectors)
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
+ `connectorIds`: connector id integer array (optional, default: all connectors)
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
###### Stop Automatic Transaction Generator
- Request:
`ProcedureName`: 'stopAutomaticTransactionGenerator'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
- `connectorIds`: connector id integer array (optional, default: all connectors)
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
+ `connectorIds`: connector id integer array (optional, default: all connectors)
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
###### Lock Connector
- Request:
`ProcedureName`: 'lockConnector'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
- `connectorId`: connector id integer
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
+ `connectorId`: connector id integer
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
###### Unlock Connector
- Request:
`ProcedureName`: 'unlockConnector'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
- `connectorId`: connector id integer
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
+ `connectorId`: connector id integer
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
###### OCPP commands trigger
- Request:
`ProcedureName`: 'commandName' (the OCPP command name in camel case)
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
- ...`commandPayload`
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
+ ...`commandPayload`
} (the OCPP command payload with some optional fields added to target the simulated charging stations)
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
Available OCPP command procedure names:
- **Authorize**
- Request:
- `ProcedureName`: 'authorize'
- `PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
- `idTag`: RFID tag string
- }
+ `ProcedureName`: 'authorize'
+ `PDU`: {
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
+ `idTag`: RFID tag string
+ }
- Response:
- `PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
- }
+ `PDU`: {
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
+ }
- **Start Transaction**
- Request:
`ProcedureName`: 'startTransaction'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
- `connectorId`: connector id integer,
- `idTag`: RFID tag string
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
+ `connectorId`: connector id integer,
+ `idTag`: RFID tag string
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
- **Stop Transaction**
- Request:
`ProcedureName`: 'stopTransaction'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
- `transactionId`: transaction id integer
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
+ `transactionId`: transaction id integer
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
- **Status Notification**
- Request:
`ProcedureName`: 'statusNotification'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
- `connectorId`: connector id integer,
- `errorCode`: connector error code,
- `status`: connector status
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations),
+ `connectorId`: connector id integer,
+ `errorCode`: connector error code,
+ `status`: connector status
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
- **Heartbeat**
- Request:
`ProcedureName`: 'heartbeat'
`PDU`: {
- `hashIds`: charging station unique identifier strings array (optional, default: all charging stations)
+ `hashIds`: charging station unique identifier strings array (optional, default: all charging stations)
}
- Response:
`PDU`: {
- `status`: 'success' | 'failure',
- `hashIdsSucceeded`: charging station unique identifier strings array,
- `hashIdsFailed`: charging station unique identifier strings array (optional),
- `responsesFailed`: failed responses payload array (optional)
+ `status`: 'success' | 'failure',
+ `hashIdsSucceeded`: charging station unique identifier strings array,
+ `hashIdsFailed`: charging station unique identifier strings array (optional),
+ `responsesFailed`: failed responses payload array (optional)
}
### HTTP Protocol (deprecated)
switch (requestedMessage) {
case MessageTriggerEnumType.BootNotification:
chargingStation.ocppRequestService
- .requestHandler<
- OCPP20BootNotificationRequest,
- OCPP20BootNotificationResponse
- >(chargingStation, OCPP20RequestCommand.BOOT_NOTIFICATION, chargingStation.bootNotificationRequest as OCPP20BootNotificationRequest, { skipBufferingOnError: true, triggerMessage: true })
+ .requestHandler<OCPP20BootNotificationRequest, OCPP20BootNotificationResponse>(
+ chargingStation,
+ OCPP20RequestCommand.BOOT_NOTIFICATION,
+ chargingStation.bootNotificationRequest as OCPP20BootNotificationRequest,
+ { skipBufferingOnError: true, triggerMessage: true }
+ )
.catch(errorHandler)
break
case MessageTriggerEnumType.FirmwareStatusNotification: {
.requestHandler<
OCPP20FirmwareStatusNotificationRequest,
OCPP20FirmwareStatusNotificationResponse
- >(chargingStation, OCPP20RequestCommand.FIRMWARE_STATUS_NOTIFICATION, { requestId: stationState.activeFirmwareUpdateRequestId, status: firmwareStatus }, { skipBufferingOnError: true, triggerMessage: true })
+ >(
+ chargingStation,
+ OCPP20RequestCommand.FIRMWARE_STATUS_NOTIFICATION,
+ { requestId: stationState.activeFirmwareUpdateRequestId, status: firmwareStatus },
+ { skipBufferingOnError: true, triggerMessage: true }
+ )
.catch(errorHandler)
break
}
case MessageTriggerEnumType.Heartbeat:
chargingStation.ocppRequestService
- .requestHandler<
- OCPP20HeartbeatRequest,
- OCPP20HeartbeatResponse
- >(chargingStation, OCPP20RequestCommand.HEARTBEAT, OCPP20Constants.OCPP_RESPONSE_EMPTY as OCPP20HeartbeatRequest, { skipBufferingOnError: true, triggerMessage: true })
+ .requestHandler<OCPP20HeartbeatRequest, OCPP20HeartbeatResponse>(
+ chargingStation,
+ OCPP20RequestCommand.HEARTBEAT,
+ OCPP20Constants.OCPP_RESPONSE_EMPTY as OCPP20HeartbeatRequest,
+ { skipBufferingOnError: true, triggerMessage: true }
+ )
.catch(errorHandler)
break
case MessageTriggerEnumType.LogStatusNotification:
.requestHandler<
OCPP20LogStatusNotificationRequest,
OCPP20LogStatusNotificationResponse
- >(chargingStation, OCPP20RequestCommand.LOG_STATUS_NOTIFICATION, { status: UploadLogStatusEnumType.Idle }, { skipBufferingOnError: true, triggerMessage: true })
+ >(
+ chargingStation,
+ OCPP20RequestCommand.LOG_STATUS_NOTIFICATION,
+ { status: UploadLogStatusEnumType.Idle },
+ { skipBufferingOnError: true, triggerMessage: true }
+ )
.catch(errorHandler)
break
case MessageTriggerEnumType.MeterValues: {
)) {
const resolvedStatus = connectorStatus.status ?? ConnectorStatusEnum.Available
chargingStation.ocppRequestService
- .requestHandler<
- OCPP20StatusNotificationRequest,
- OCPP20StatusNotificationResponse
- >(chargingStation, OCPP20RequestCommand.STATUS_NOTIFICATION, { connectorId, connectorStatus: resolvedStatus, evseId } as unknown as OCPP20StatusNotificationRequest, { skipBufferingOnError: true, triggerMessage: true })
+ .requestHandler<OCPP20StatusNotificationRequest, OCPP20StatusNotificationResponse>(
+ chargingStation,
+ OCPP20RequestCommand.STATUS_NOTIFICATION,
+ {
+ connectorId,
+ connectorStatus: resolvedStatus,
+ evseId,
+ } as unknown as OCPP20StatusNotificationRequest,
+ { skipBufferingOnError: true, triggerMessage: true }
+ )
.catch(errorHandler)
}
}
const connectorStatus = evseStatus?.connectors.get(evse.connectorId)
const resolvedStatus = connectorStatus?.status ?? ConnectorStatusEnum.Available
chargingStation.ocppRequestService
- .requestHandler<
- OCPP20StatusNotificationRequest,
- OCPP20StatusNotificationResponse
- >(chargingStation, OCPP20RequestCommand.STATUS_NOTIFICATION, { connectorId: evse.connectorId, connectorStatus: resolvedStatus, evseId: evse.id } as unknown as OCPP20StatusNotificationRequest, { skipBufferingOnError: true, triggerMessage: true })
+ .requestHandler<OCPP20StatusNotificationRequest, OCPP20StatusNotificationResponse>(
+ chargingStation,
+ OCPP20RequestCommand.STATUS_NOTIFICATION,
+ {
+ connectorId: evse.connectorId,
+ connectorStatus: resolvedStatus,
+ evseId: evse.id,
+ } as unknown as OCPP20StatusNotificationRequest,
+ { skipBufferingOnError: true, triggerMessage: true }
+ )
.catch(errorHandler)
} else if (chargingStation.hasEvses) {
this.triggerAllEvseStatusNotifications(chargingStation, errorHandler)