What is OCPP 1.6?
Open Charge Point Protocol 1.6Reviewed

OCPP 1.6 is version 1.6 of the Open Charge Point Protocol, the open standard from the Open Charge Alliance that lets an EV charger talk to the central software that runs it. Released in 2015, it covers starting and stopping sessions, authorizing drivers, reporting meter values and status, remote commands, firmware updates and smart charging limits. It is the most widely deployed OCPP version.
- Published byOpen Charge Alliance (OCA)
- Released2015
- TransportsJSON over WebSocket (1.6J), SOAP (1.6S)
- SuccessorOCPP 2.0.1 (2020)
01
What OCPP 1.6 does
OCPP 1.6 defines the conversation between a charge point and a central system, today usually called a charging station management system (CSMS). The charger announces itself when it boots, sends a heartbeat, reports each connector’s status and asks the CSMS whether a driver’s RFID card or app token may charge.
During a session the charger sends meter values, and the CSMS can send commands back: start or stop a session remotely, release a stuck connector, change a configuration key, reset the charger or set a charging limit.
Key functions
- Boot, heartbeat and status reporting
- Driver authorization and local auth lists
- Start and stop transactions with meter readings
- Remote start and stop, connector release, reset
- Smart charging profiles that cap power over time
- Firmware updates and diagnostics upload
02
Why OCPP 1.6 matters
Before OCPP, a charger only worked with its maker’s software. OCPP 1.6 made chargers and software interchangeable: an operator can buy hardware from several vendors, run it all from one CSMS and change software without replacing chargers.
Its smart charging profiles also made load management practical. A site can share a fixed service capacity across many chargers by sending each one a power or current limit, instead of upgrading the electrical service.
03
How OCPP 1.6 works
In OCPP 1.6J the charger opens a WebSocket connection to the CSMS and keeps it open. Messages are small JSON arrays: a call with a message type and payload, and a result or error in reply. Either side can initiate a call, so the CSMS can send commands down the same connection the charger opened, without the charger needing a public address.
A charge point has numbered connectors; connector 0 means the charger as a whole. Configuration is a flat list of keys. Smart charging uses charging profiles, each a schedule of current or power limits over time, stacked by purpose: a limit for the whole charge point, a default for every session, and one for a specific transaction.
01
Charger
BootNotification, StatusNotification
02
WebSocket
JSON calls both ways
03
CSMS
Authorize, transactions, commands
04
Limits
SetChargingProfile
04
How OCPP 1.6 feeds Voltra
Voltra connects chargers that speak OCPP 1.6J or 2.0.1, from any vendor, and runs sessions, pricing, driver access and load balancing on top. Remote actions such as resets and connector unlocks go over OCPP and are logged.
Learn more
EV charging
Run chargers from any OCPP vendor on one network.
Learn more
CSMS
Sessions, pricing, roaming and load balancing on open protocols.
05
Frequently asked questions
They carry the same messages over different transports. 1.6J uses JSON over WebSocket and is what almost every charger ships with today. 1.6S uses SOAP over HTTP and is rarely deployed.
The original 1.6 specification left security to the deployment. The Open Charge Alliance later published security extensions for 1.6J that add security profiles with TLS and client certificates, security event logging and signed firmware updates. Check which profile a charger supports.
Sometimes, by a firmware update from the manufacturer. The two versions are not wire-compatible, so the charger’s firmware must implement 2.0.1, and the CSMS must support it too.
Yes. It remains the most widely installed version, and most charging software supports it alongside OCPP 2.0.1.



