OCPP 1.6
OCPP 1.6 (JSON over WebSocket) is the most widely deployed charger protocol. The emulator supports the Core, Firmware Management, Remote Trigger, Reservation, and Smart Charging profiles.
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
The emulator 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. The emulator 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.