OCPP protocol implementation statement

OCPP specifies the exchange of messages between a charge point and a CSMS such as PcVue. OCPP messages are grouped in profiles. This topic includes detailed information about the level of support of OCPP by PcVue.

Only one CSMS can be connected with PcVue proxy at the time of writing.

Supported OCPP versions

  • OCPP protocol revision 1.6 - OCPP via Json over WebSocket.

  • OCPP protocol revision 2.0.1.

When creating a WebSocket connection to a 3rd party system PcVue sends an HTTP header of type "Connection”. The value of this header consists of two directives: “Upgrade,Keep-Alive”. However, when evaluating the HTTP response to this message, PcVue is unable to parse a value that contains more than one directive. In other words, the value of the HTTP header “Connection” in the HTTP response must be nothing else than “Upgrade”.

Supported OCPP profiles

Profile name Description
Core Basic charge point functionality. No support for firmware updates, local authorization list management and reservations
Local Auth List Management Features to manage the local authorization list in charge point
Reservation Support for reservation of a charge point
Smart Charging Support for basic Smart Charging functionality, for instance, using control pilot
Remote Trigger Support for remote triggering of charge point initiated messages

Supported OCPP messages

Message Profile Initiated by Responded directly by proxy Forwarded by proxy Requested/Responded from proxy routed to charge point
Authorize (see note below) Core

Client (Charge Point)

No

Yes

Yes

BootNotification Core

Client (Charge Point)

Yes

Yes

No

ChangeAvailability Core

Client (Charge Point)

 

Yes

Yes

ChangeConfiguration Core

Server (Central System)

 

Yes

Yes

ClearCache Core

Server (Central System)

 

Yes

Yes

DataTransfer Core

Client (Charge Point)

/ Server (Central System)

No

Yes

Yes

GetConfiguration Core

Client (Charge Point)

 

Yes

Yes

Heartbeat Core

Client (Charge Point)

Yes

Yes

No

MeterValues Core

Server (Central System)

Yes

Yes

No

RemoteStartTransaction Core

Server (Central System)

 

Yes

Yes

RemoteStopTransaction Core

Server (Central System)

 

Yes

Yes

Reset Core

Server (Central System)

 

Yes

Yes

StartTransaction (See note below) Core

Client (Charge Point)

No

Yes

Yes

StatusNotification Core

Client (Charge Point)

Yes

Yes

No

StopTransaction (See note below) Core

Client (Charge Point)

No

Yes

Yes

UnlockConnector Core

Server (Central System)

 

Yes

Yes

GetDiagnostics Firmware Management

Server (Central System)

 

Yes

Yes

DiagnosticsStatusNotification Firmware Management

Client (Charge Point)

 

Yes

No

FirmwareStatusNotification Firmware Management

Client (Charge Point)

 

Yes

No

UpdateFirmware Firmware Management

Server (Central System)

 

Yes

Yes

GetLocalListVersion Local Auth List Management

Server (Central System)

 

Yes

Yes

SendLocalList Local Auth List Management

Server (Central System)

 

Yes

Yes

CancelReservation Reservation

Server (Central System)

 

Yes

Yes

ReserveNow Reservation

Server (Central System)

 

Yes

Yes

ClearChargingProfile Smart Charging

Server (Central System)

 

Yes

Yes

GetCompositeSchedule Smart Charging

Server (Central System)

 

Yes

Yes

SetChargingProfile Smart Charging

Server (Central System)

 

Yes

Yes

TriggerMessage (See note below) Remote Trigger

Server (Central System)

 

Yes

Yes

For the messages Authorize, StartTransaction, StopTransation, and TriggerMessage to be processed, some form of trigger must be implemented as part of the PcVue project. It typically consists of a SCADA Basic script to monitor and control the value of some variables but may vary depending on the design of your project (could be event-based, executed cyclically or upon a user action, etc.).