Skip to content
Documentation Menu

OCPP 1.6

Source: OCPP 1.6 Specification

OCPP 1.6 is the most widely deployed EV charger protocol, using JSON over WebSocket. A typical session flows through BootNotification, Heartbeat, StatusNotification, Authorize, StartTransaction/StopTransaction, and MeterValues. The protocol supports Core, Firmware Management, Remote Trigger, Reservation, and Smart Charging profiles; configuration keys such as HeartbeatInterval and MeterValueSampleInterval are managed via GetConfiguration and ChangeConfiguration.

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:

  1. BootNotification — charger announces vendor/model on connect.
  2. Heartbeat — keepalive on the negotiated interval.
  3. StatusNotification — connector state transitions (Available → Preparing → Charging).
  4. Authorize — validate an idTag before energy delivery.
  5. StartTransaction / StopTransaction — bracket a charging session.
  6. 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 BootNotification with a currentTime far from the server's to test heartbeat correction.
  • Unknown idTag — return Invalid from Authorize and 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.