OCPP 1.6 message reference
All 28 messages in OCPP 1.6, grouped by feature profile. Each page has the request and response fields, every enum value, a complete OCPP-J frame, and the places implementations usually go wrong.
Core
Mandatory for every OCPP 1.6 implementation. Boot, heartbeat, authorization, transactions, meter values and remote control.
- AuthorizeCharge Point → CSMSAsks the CSMS whether an identifier (RFID card, app token) is allowed to start charging.
- BootNotificationCharge Point → CSMSThe first message a charge point sends after connecting. Identifies the hardware and asks the CSMS for a heartbeat interval.
- ChangeAvailabilityCSMS → Charge PointTakes a connector, or a whole charge point, in or out of service.
- ChangeConfigurationCSMS → Charge PointSets a configuration key on the charge point. The main remote-configuration mechanism in OCPP 1.6.
- ClearCacheCSMS → Charge PointEmpties the charge point's local authorization cache.
- DataTransferEither directionThe vendor extension escape hatch. Carries data OCPP has no message for, in either direction.
- GetConfigurationCSMS → Charge PointReads configuration keys from the charge point, or enumerates all of them.
- HeartbeatCharge Point → CSMSKeeps the connection alive and lets the charge point synchronise its clock with the CSMS.
- MeterValuesCharge Point → CSMSSends periodic or clock-aligned meter readings, either for a running transaction or for an idle connector.
- RemoteStartTransactionCSMS → Charge PointAsks the charge point to start a session on behalf of a user — the message behind every 'start charging' button in an app.
- RemoteStopTransactionCSMS → Charge PointAsks the charge point to stop a running session by transaction id.
- ResetCSMS → Charge PointReboots the charge point, either gracefully (Soft) or immediately (Hard).
- StartTransactionCharge Point → CSMSTells the CSMS a charging session has begun, and gets back the transactionId used for the rest of it.
- StatusNotificationCharge Point → CSMSReports a connector's state, and any fault, to the CSMS. The main source of availability data.
- StopTransactionCharge Point → CSMSCloses a charging session and reports the final meter reading, the reason, and any buffered meter data.
- UnlockConnectorCSMS → Charge PointReleases the cable lock on a connector, for a driver whose cable is stuck.
Firmware Management
Remote firmware updates and diagnostics uploads.
- DiagnosticsStatusNotificationCharge Point → CSMSReports whether a diagnostics upload is in progress, finished, or failed.
- FirmwareStatusNotificationCharge Point → CSMSReports progress of a firmware update: downloading, installing, installed, or failed.
- GetDiagnosticsCSMS → Charge PointAsks the charge point to upload a diagnostics file to a location you supply.
- UpdateFirmwareCSMS → Charge PointTells the charge point to download and install firmware from a URL at a given time.
Local Auth List Management
The offline authorization list, so a charger can authorize users with no backend connection.
Reservation
Holding a connector for a specific user until a deadline.
Smart Charging
Limiting current or power on a schedule — load management, tariffs and grid curtailment.
- ClearChargingProfileCSMS → Charge PointRemoves charging profiles matching a filter. Every field is optional, and omitting all of them clears everything.
- GetCompositeScheduleCSMS → Charge PointAsks the charge point for the flattened schedule it will actually follow, with all profiles already combined.
- SetChargingProfileCSMS → Charge PointInstalls a charging profile that limits how much current or power a connector may deliver, and when.
Remote Trigger
Asking a charge point to send a message immediately rather than on its own schedule.