• Home
  • Resources
  • OCPP guide

Guide · OCPP

OCPP, explained.

How a charger and the software that runs it talk to each other, how OCPP 1.6J and 2.0.1 differ, and what happens when your chargers connect to ChargeIT.

OCPP is the reason you can choose your chargers and your software separately. Here is how it works, and how ChargeIT uses it.

What OCPP is

The Open Charge Point Protocol is an open standard maintained by the Open Charge Alliance. It defines the messages a charger and its central system exchange: the charger reports its state, its sessions and its meter readings; the central system authorises drivers, sends commands and sets charging limits.

Because the standard is open, any charger that speaks it can be run by any central system that speaks it. That is what lets you choose your hardware and your software separately.

In OCPP 1.6 the two sides are called the charge point and the central system. In OCPP 2.0.1 they are the charging station and the charging station management system (CSMS). ChargeIT is the central system for every charger connected to it.

How a charger connects

The charger opens a WebSocket connection to the central system’s address and keeps it open. Messages travel as JSON over that one connection, in both directions. The charger only needs internet access, through a SIM card or the site’s network; the central system never has to reach into the site.

  1. The charger connects to the address it was given and identifies itself.
  2. It sends a boot notification with its model and firmware, and ChargeIT accepts it.
  3. It reports the status of each connector.
  4. From then on it sends heartbeats, status changes, authorisation requests, transactions and meter values, and receives commands and charging limits.

OCPP 1.6J and 2.0.1

Both versions are in wide use. A charger speaks one of them on a given connection; some chargers can be switched between the two in their settings.

OCPP 1.6JOCPP 2.0.1
Published20152020
TransportJSON over WebSocketJSON over WebSocket
SessionsSeparate start and stop transaction messagesOne transaction event message for start, updates and end
Charger settingsA list of configuration keysA device model of components and variables
Security profilesAdded later, in the Open Charge Alliance’s security extension for 1.6JPart of the standard
Smart chargingCharging profilesCharging profiles, with ISO 15118 support in the standard

The table compares the standards themselves. What a given charger supports depends on its firmware.

How ChargeIT runs OCPP

ChargeIT has a separate handler for each version. A 2.0.1 charger is never translated through 1.6 logic, so each version keeps its own messages, states and rules.

  • Remote commands from the console or the API: start, stop, unlock a connector and change availability.
  • A security profile set per charger, with charger credentials stored hashed.
  • Charging profiles sent by the load balancer to keep every site under its limit.
  • An event log per charger, with every message received and every command sent.
  • Restart recovery: if the platform restarts during a charge, the session continues, and transactions in an unknown state are recovered instead of lost.
  • Fail closed: when an authorisation cannot be decided, the answer is no.

What your charger needs

  1. OCPP 1.6J or 2.0.1, with ChargeIT set as its central system.
  2. Internet at the charger, through a SIM card or the site’s network.
  3. Firmware that supports the features you want: smart charging and load balancing need the matching OCPP profiles.

The models on our hardware page are tested. Other chargers connect after a compatibility check: send us the brand and model.

Bring your chargers.

Tell us the brands and models you run and we’ll show you them working on ChargeIT.

Book a demo