What is OCPP?

OCPP (the Open Charge Point Protocol) is an open standard, maintained by the Open Charge Alliance, that defines how an EV charging station talks to the central system that manages it. It lets chargers from different manufacturers work with management systems from different vendors.

The two sides: Charge Point and CSMS

OCPP describes a conversation between two roles:

  • Charge Point(also called a Charging Station) — the physical charger with one or more connectors. Chargeflux.io simulates this side in your browser.
  • CSMS(Charging Station Management System) — the central backend that authorizes sessions, starts and stops transactions remotely, collects meter data and monitors charger status. You connect the simulator to your CSMS.

How they communicate

In OCPP 1.6J, the Charge Point opens a WebSocket connection to the CSMS and the two exchange JSON messages. The J stands for JSON; there is also a SOAP variant, which Chargeflux.io does not target. Either side can send a request, and the protocol uses three message types:

CALL       [2, uniqueId, action, payload]
CALLRESULT [3, uniqueId, payload]
CALLERROR  [4, uniqueId, errorCode, errorDescription, errorDetails]

Each CALL carries a unique ID. The matching CALLRESULT or CALLERROR repeats that ID so each request can be paired with its response. The simulator shows this correlation in the message console.

Connectors and station identity

A Charge Point connects to the CSMS using a station identity, for example CF-DEMO-A7K2. Each physical outlet is represented by a numeric connector ID (1, 2, and so on). Connector ID 0 is reserved for Charge Point-level status and commands, not a normal charging outlet.

The core message vocabulary

A typical session uses a handful of messages. The most common are:

  • BootNotification— the station introduces itself and asks whether it may operate.
  • Heartbeat— a periodic message that keeps the connection alive and syncs the clock.
  • StatusNotification— the station reports a connector’s current state.
  • Authorize— the station asks whether an idTag may charge.
  • StartTransaction and StopTransaction— the boundaries of a charging session.
  • MeterValues— periodic energy and electrical readings during a transaction.

The CSMS can also send commands to the station, such as RemoteStartTransaction and RemoteStopTransaction. You can exercise all of these with the simulator.

Limitations to keep in mind

OCPP has several versions; Chargeflux.io currently supports OCPP 1.6J Core. It is a learning and testing tool, not an official certification service. To actually connect, your CSMS must accept a browser-originated connection.

Last reviewed June 2026 · Chargeflux.io