## OCPP-specific conventions
- **Command naming**: Follow OCPP standard naming exactly (e.g., RemoteStartTransaction, BootNotification, StatusNotification).
-- **Version handling**: Clearly distinguish between OCPP 1.6 and 2.x implementations in separate namespaces/files.
+- **Version handling**: Clearly distinguish between OCPP 1.6 and 2.0.x implementations in separate namespaces/files.
- **Payload validation**: Validate against OCPP JSON schemas when ocppStrictCompliance is enabled.
- **Message format**: Use standard SRPC format: [messageTypeId, messageId, action, payload] or [messageTypeId, messageId, payload].
- **UUID tracking**: Use UUIDs to correlate requests with responses; store pending operations in Maps with UUID keys.
- [Docker](#docker)
- [OCPP-J commands supported](#ocpp-j-commands-supported)
- [Version 1.6](#version-16)
- - [Version 2.x.x](#version-2xx)
+ - [Version 2.0.x](#version-20x)
- [OCPP-J standard parameters supported](#ocpp-j-standard-parameters-supported)
- [Version 1.6](#version-16-1)
- - [Version 2.x.x](#version-2xx-1)
+ - [Version 2.0.x](#version-20x-1)
- [UI Protocol](#ui-protocol)
- [WebSocket Protocol](#websocket-protocol)
- [HTTP Protocol](#http-protocol)
- :white_check_mark: TriggerMessage
-### Version 2.x.x
+### Version 2.0.x
+
+> **Note**: OCPP 2.0.x implementation is **partial** and under active development.
#### Provisioning
- :white_check_mark: BootNotification
+- :white_check_mark: GetBaseReport (partial)
+- :white_check_mark: NotifyReport
#### Authorization
- _none_
-### Version 2.x.x
+### Version 2.0.x
+
+> **Note**: OCPP 2.0.x variables management is not implemented yet.
## UI Protocol
'shutdowning',
'VCAP',
'workerd',
- // OCPP 2.0 Component Names
+ // OCPP 2.0.x Component Names
'cppwm',
'recloser',
],
case OCPPVersion.VERSION_201:
if (isEmpty(chargingStation.evses)) {
throw new BaseError(
- `${chargingStationId}: OCPP 2.0 or superior requires at least one EVSE defined in the charging station template/configuration`
+ `${chargingStationId}: OCPP 2.0.x requires at least one EVSE defined in the charging station template/configuration`
)
}
}
export interface StatusInfoType extends JsonObject {
additionalInfo?: string
+ customData?: CustomDataType
reasonCode: string
}