Parlez-vous OCPP?

How charging stations communicate with their central backend system

Elli Engineering
Elli Engineering
5 min readFeb 1, 2023

--

OCPP, c’est quoi?

If we observed a group of people with different native tongues trying to engage in discussion, we would likely observe them consolidating to the language that is understood by all people. They converse in a common language–one that is universally spoken, to make communication easier for all members of the group.

Similarly, for an Electric Vehicle (EV) charging station (hardware) to communicate with a central backend system (software) they must speak a common language. This common language or “communication protocol” is the Open Charge Point Protocol (OCPP). OCPP allows these two systems to exchange data and orchestrate the overall charging process for an electric vehicle.

A charging station that can speak this language is called OCPP-compliant and thus can communicate with any kind of software that is also OCPP-compliant. Any charge point from any vendor should be able to work with any charging management software as long as both can speak the language of OCPP.

Charge Station : The charger for an EV; the physical device that charges the electrical vehicle.

Charging Station Management System (CSMS): The central backend system that controls the charge points (from authorisation to charging session management).

OCPP in action

Imagine an EV driver who parks in front of a charging station to charge their vehicle. OCPP is involved in almost every step of the EV charging experience from reserving a charging station to the final payment process:

  • The EV driver reserves a charging station for use.
  • The EV driver is authorised to start a charging session.
  • The charging station reports the real-time status of its connectors (suspended, available, unavailable, charging, etc.) to the backend system.
  • Any information about the current charging session is relayed to the management system.
  • The EV driver remotely starts / stops sessions via a web or mobile console.
  • Load of charging stations is regulated based on the state of charging.
  • One can monitor or change the settings configured on a charging station.
  • The EV driver decides to stop charging and gets billed for the session.

In every action above, requests and responses are relayed back and forth between charging stations (client) and the CSMS (server).

The charging stations are connected to Elli’s CSMS via a WebSocket (WS) connection. Messages (JSON) are exchanged back and forth through this WS channel.

The charging station and the CSMS communicate via a back-and-forth rally of OCPP messages!

Basic Communication Pattern

Diagram from OCPP 1.6 Specification illustrating the start/stop of a transaction

The diagram above illustrates a typical communication pattern between the Charge Point and the Charging Station Management System.

The Charge Point and CSMS speak to each other via messages that:

  • Request the execution of an operation and
  • Respond/confirm that the requested operation has been performed

Smart Charging

Smart Charging, in e-mobility jargon, means leveraging information about the status of the energy grid and the state of EV charging to make informed decisions on how to optimise the charging process. OCPP enables smart charging by enabling the regulation of power at a charging station. For example, OCPP enables the CSMS to modify the charging power in real-time based on the charging status of the station or allows CSMS to limit the total load on a group of stations so that they do not draw more power than necessary from the grid.

Let’s say that an owner of a charging station wishes to reduce the maximum load (power) allocated to a single station. On the Elli Management Console, a user can send a request (via OCPP) to the station to reduce the station’s maximum power limit.

This is what happens behind the scenes…

  • Elli’s CSMS, which connects to the station via a WebSocket connection, sends a request to the station to down-regulate the power limit. The parameters of the request are described in what is called a “charging profile”.
A charging profile is a set of parameters that define how charging should proceed at a given station.
  • The station receives the request with the charging profile from CSMS:

SetChargingProfile.req:

{
"connectorId": 0,
"csChargingProfiles": {
"chargingProfileId": 1,
"stackLevel": 0,
"chargingProfilePurpose": "ChargePointMaxProfile",
"chargingProfileKind": "Absolute",
"chargingSchedule": {
"startSchedule": "2022-07-06T02:04:00Z",
"chargingRateUnit": "W",
"chargingSchedulePeriod": [{
"startPeriod": 0,
"limit": 9000
}]
}
}
}
  • The station returns a response message acknowledging that the message was received and
  • Executes the request: It adjusts its power limit based on the parameters described in the charging profile (in this case to 9 kW)

Pourquoi OCPP?

If a network of charging stations all manufactured by different vendors are all OCPP-compliant, they will all be able to communicate with the OCPP-compliant backend system to which they are connected.

Conversely, a single charging station that is OCPP-compliant will be able to communicate with various management systems built and maintained by separate companies.

This interoperability lends itself to the following benefits:

Open Source

  • Anyone can access and contribute to this protocol for continuous improvement.

No Vendor Lock-in

  • You can use any charge point provider as long as the hardware is OCPP-compliant. You are not “stuck” with a single brand and can switch at any time (e.g. if the manufacturer goes out of business!)

Vendor-Agnostic Hardware within Single Network:

  • You can keep charge points from various vendors in the same network and manage them in one place.

Competitive Prices

  • Providers following the OCPP protocol are in competition to provide the most cost-effective and feature-rich products to the market.

At Elli, we recognise the advantages of developing vendor-agnostic software for our customers and ensure that our charge point management system complies with the Open Charge Point Protocol to manage the stations in our network. To learn more about OCPP: check out the OCPP documentation provided by the Open Charge Alliance: https://www.openchargealliance.org/protocols/ocpp-201/

In this article, we gave a basic overview of OCPP, how it works, and the benefits that come from OCPP-compliancy. To learn more about e-mobility topics, and how we implement the latest standards and best practices for building Elli’s e-mobility solutions, please subscribe to our Medium blog or visit our company website! Stay tuned for the next article!

See you next time :)

Jane Kim is a Software Engineer in the Design System team and a part-time writer/illustrator for the Elli blog

--

--