When you plug your phone into charge, it just works. As electric vehicle drivers know, that's hardly the experience when it comes to EVs. After all, your phone charger doesn't have to prevent unauthorized usage, block malware attacks, track energy usage, or process transactions. This is where OCPP messages come into play. OCPP, or the Open Charge Point Protocol, facilitates the exchange of vital information between the hardware and software components of a charging system.
What are OCPP messages?
OCPP messages are communications exchanged between a charger and a CSMS (charging station management system) using the Open Charge Point Protocol. These messages effectively coordinate the charging experience between hardware and software, ensuring proper authorization, load management, energy dispensation, and more.
Learn about the difference between OCPI vs OCPP here.
OCPP messages often include information relevant to charger diagnostics and troubleshooting, such as configuration status and session details. A technical administrator may review OCPP message logs to answer questions like:
- Is the charger faulting because something is broken?
- Why did a particular session fail to start? Why did it stop?
- What amperage allowance was last set on the charger?
- Is the charger communicating with the CSMS at all?
Chargers may experience faults for a variety of reasons, ranging from lost connectivity to weather damage. OCPP messages empower site hosts to swiftly diagnose issues, thereby maximizing the reliability of their deployments.
How to access OCPP messages
Depending on your CSMS provider, OCPP messages may not be readily accessible. At ChargeLab, we recognize that self-serve tooling is crucial in managing sites at scale, so we've built a message stream directly in our platform. Simply log into the dashboard and navigate to the charger detail page for the device in question.
ChargeLab's system uses the OCPP 1.6 protocol to communicate with networked chargers. To view the logs, select the "OCPP messages" tab at the top of the detail modal. Here you'll find OCPP messages listed in reverse chronological order. Each row contains the timestamp, the type (incoming or outgoing), and the message JSON. You may filter messages by date or time range. To search for a specific message, enter your query into the search box in the top right. Use the dropdown to search based on common OCPP message types, or enter a custom text entry.
OCPP message glossary
OCPP messages can be incoming, from the charger, or outgoing, from the CSMS. Refer to the table below to understand the various message codes.
|Authorize||Charger||Check the authorization status of an idTag|
|BootNotification||Charger||Sent when the charger boots up, contains info such as FW version, vendor/model, serial number, etc.|
|DiagnosticStatusNotification||Charger||Indicates current diagnostics upload status|
|FirmwareStatusNotification||Charger||Indicates current firmware version upload status|
|Heartbeat||Charger||Informs that the charger is still “alive”|
|MeterValues||Charger||Informs about the charging status and contains info about the charging session, e.g. watt hours dispensed|
|StartTransaction||Charger||Sent at the start of a transaction|
|StopTransaction||Charger||Sent at the end of a transaction|
|DataTransfer||Both||Vendor-specific custom messages|
|ChangeConfiguration||CSMS||Used to change the configuration of a charger (if they’re not read-only)|
|GetConfiguration||CSMS||Read the contents of the configuration items|
|RemoteStartTransaction||CSMS||Used to start a session remotely|
|RemoteStopTransaction||CSMS||Used to end a session remotely|
|Reset||CSMS||Used to reboot a charger|
|SetChargingProfile||CSMS||Send a charging profile to a charger|
|TriggerMessage||CSMS||Used to trigger a charger to send messages, e.g. BootNotification, DiagnosticsStatusNotification, Heartbeat, etc.|
|UpdateFirmware||CSMS||Performs a firmware upgrade on the charger, contains a link to a firmware file's location (usually FTP), and a date to indicate when the upgrade package should be downloaded. Also contains optional fields, such as retry count and retry interval|
Get started with OCPP messages
Charger troubleshooting shouldn't mean memorizing the user manual for every model you deploy. That's exactly why OCPP was created: To drive interoperability in an otherwise stratified technical landscape. The EV charging industry will inevitably consolidate over time, but reliability matters today. We believe our OCPP message log feature brings the vision of a 100% charge success rate closer to reality.
If you'd like to learn more about how ChargeLab is empowering charge point operators and site hosts with self-serve tooling, reach out to our Sales team for a conversation.