- OCPP
- OCPP 1.6
OCPP 1.6
Simulating OCPP 1.6 chargers — core messages, transaction flow, and the configuration keys that matter for testing.
Source: OCPP 1.6 Specification
OCPP 1.6 is the most widely deployed EV charger protocol — JSON over WebSocket, with Core, Firmware Management, Remote Trigger, Reservation, and Smart Charging profiles. OCPPLab supports the full Core path and the configuration keys that matter for testing (HeartbeatInterval, MeterValueSampleInterval via GetConfiguration / ChangeConfiguration).
Core message flow
A typical session exercises these operations in order:
BootNotification— charger announces vendor/model on connect.Heartbeat— keepalive on the negotiated interval.StatusNotification— connector state transitions (Available → Preparing → Charging).Authorize— validate an idTag before energy delivery.StartTransaction/StopTransaction— bracket a charging session.MeterValues— periodic energy readings during the transaction.
Testing edge cases
OCPPLab makes failure modes reproducible:
- Reconnect mid-transaction — drop the WebSocket and verify the CPMS resumes the open transaction on reconnect.
- Clock skew — send a
BootNotificationwith acurrentTimefar from the server's to test heartbeat correction. - Unknown idTag — return
InvalidfromAuthorizeand confirm the session never starts.
Configuration keys
GetConfiguration and ChangeConfiguration let your CPMS read and write keys
such as HeartbeatInterval, MeterValueSampleInterval, and
ConnectionTimeOut. OCPPLab honors writes so you can test provisioning.
Go deeper
- OCPP 1.6 Actions — full reference for all 39 messages, one page each, grouped by feature profile.
- OCPP 1.6 Test Cases — all 178 OCTT compliance test cases, one page each, with step-by-step message flows.