Guide

The Complete OCPP Guide

Maximizing the potential of EV charging networks in 2024

1. What is Open Charge Point Protocol (OCPP)?

The Open Charge Point Protocol, OCPP, is an open-source protocol that facilitates smooth communication and management of EV charging infrastructure. It enables interoperability between various EV charging equipment and central management systems, regardless of the manufacturer or type of charging station. With OCPP, charge point operators can remotely monitor their charging stations, authorize access, configure hardware, update firmware, and integrate different payment and billing systems.

2. A short history of OCPP and how it has evolved over time

OCPP was first developed by the Dutch company E-laad in 2009 in collaboration with several other organizations in the EV industry, notably Logica and Alfen. The initial version of OCPP, OCPP 1.0, was released in 2010 and focused on providing basic communication between EV charging stations and EV charging management systems. In 2013, the E-laad Foundation in the Netherlands, Greenlots in North America, and ESB in Ireland joined forces to establish the Open Charge Alliance (OCA), a worldwide consortium of EV infrastructure experts from both public and private sectors. The OCA’s primary goal is to encourage the widespread adoption of a standardized communication protocol, OCPP.

Over the years, OCPP has continued to evolve with new releases, including OCPP 1.2 (2012), OCPP 1.5 (2015), OCPP 2.0 (2018), and OCPP 2.0.1 (2020). With each new release, OCPP has added new features and capabilities, such as support for different types of charging stations and improved security. OCPP is now widely adopted and recognized as the industry standard for communication between EV charging stations and management systems.

The history of OCPP

3. The benefits of OCPP

These are the main benefits of using OCPP as a communication protocol for EV charging:

Interoperability and compatibility: OCPP enables EV charging equipment from different manufacturers to communicate with EV charging management systems and with each other, regardless of the specific hardware or software used. This allows for greater scalability and business flexibility by allowing operators to mix and match different charging stations and equipment without worrying about compatibility issues.

Improved management and monitoring: OCPP allows for remote monitoring, control, and management of EV charging stations. Operators can remotely start and stop charging sessions, monitor energy consumption and billing, and troubleshoot issues in real-time.

Enhanced customer experience: OCPP enables operators to manage customer accounts and billing and offer a range of payment options, making it easier for customers to use charging stations. By leveraging OCPP technology, AMPECO aims to provide better and more intuitive driver apps that simplify the process of finding, accessing, and paying for EV charging services. 

Cost savings: OCPP helps network operators save money by reducing the need for manual maintenance and by enabling more efficient use of their charging infrastructure. It also helps operators optimize pricing and tariffs to maximize revenue. With OCPP, operators can gather data on usage patterns, such as the time of day and the duration of charging sessions. This data can be used to optimize pricing strategies and tailor pricing plans to specific user groups. Additionally, OCPP supports dynamic pricing, enabling operators to adjust real-time pricing based on factors such as demand, energy costs, and supply constraints. 

Future-proofing your network: OCPP is an open-source protocol that continues to evolve and improve over time. It includes robust security features, such as encryption and authentication, to protect against unauthorized access or tampering with data. This ensures that EV charging infrastructure remains up-to-date and compatible with new technology and standards.

Smart charging connects charge points with users and operators. When an EV is plugged in, the charging station sends information such as the charging time and speed to a cloud-based EV charging management platform. Additional data about the grid’s capacity and how energy is currently being used is automatically sent and analyzed by the platform. This data is then used to decide how and when EVs are charged. This way, network operators can remotely regulate energy usage via an EV charging management platform, and drivers can set smart charging capabilities through their mobile application.

Want to see what the AMPECO platform provides beyond OCPP?

4. How OCPP works

OCPP provides a standardized protocol for communication between EV charging stations (also called Charge Points) and a central management system (also called the Central System). The protocol enables the EV charging stations and central backend systems to exchange messages and data with each other. There are also other protocols that are either being used or developed that work alongside OCPP that handle communication between charging stations and EVs.

How OCPP works diagram

The Open Charge Point Protocol defines two roles:

Charge Point (or the client): The physical EV charging station where an electric vehicle can charge. A Charge Point will have one or more connectors. It provides information about the availability and status of charging sessions and energy consumption.

Central System (or the server): The backend charge point management system (CPMS) communicates with the Charge Point using OCPP to monitor and manage charging sessions and collect data on energy consumption and billing.

OCPP Operations example

The two types of OCPP implementations

SOAP: Simple Object ACESS Protocol (SOAP) is a message-based protocol that uses XML to represent data. XML is a very bulky format, making it less suitable for EV charging stations with unreliable internet connectivity. The size of the XML messages can cause delays and timeouts, which can be a problem for real-time communication. Additionally, SOAP requires both the backend and the Charge Point to act as servers to facilitate two-way communication. This can be problematic because it eliminates the possibility of operating several Charge Points behind the same router, as each Charge Point will require a unique IP address, which can be costly.

JSON: JavaScript Object Notation (JSON) is a lightweight and flexible data interchange format that is easier to read and write than XML. It also has much better diagnostics capabilities. Receiving and sending data with JSON is simple as it uses HTTP requests. It relies on a websocket for two-way communication, which requires only one entity to act as a server, which in OCPP’s case is the backend.

5. The main OCPP terms

OCPP profiles are an essential component of the Open Charge Point Protocol (OCPP) standard, which defines how charging stations and management systems communicate with each other. OCPP profiles specify the messages exchanged, the format of these messages, and the functionality and behavior supported by each system. Additionally, OCPP profiles use specific data types to define the format and structure of data transmitted between the charge point and the central management system. Configuration keys control various settings during a charging session, while use cases describe desired behavior during different stages of a session. Finally, predefined test cases help developers ensure the correct implementation of the protocol. Each is described in detail below.

Profiles

OCPP profiles define how charging stations and management systems should communicate with each other, including the messages exchanged, the format of these messages, and the specific functionality and behavior supported by each system.

In OCPP 1.6, features and associated messages are grouped in profiles. Depending on the required functionality, implementers can choose to implement one or more of the profiles. Customers can use these profiles to determine if an OCPP 1.6 product has the required functionality for their business case. The list of profiles includes: Core Profile, Firmware Management Profile, Local Auth List Management Profile, Remote Trigger Profile, Reservation, SmartCharging.

In OCPP 2.0.1 a ChargingProfile consists of ChargingSchedule, describing the amount of power or current that can be delivered per time interval (power over time). It defines how quickly a vehicle charges over time and how much power is used. Charging profiles can be defined by using external technology such as CPMS or an energy management system.

Message

A message refers to a data unit transmitted between a charge point (CP) and a central management system (CMS) during a charging session. Each message has a specific format and purpose and multiple messages may be exchanged during a charging session.

Data type

OCPP profiles use specific data types to define the format and structure of data that is transmitted between the CP and CMS. These data types include common data types such as string, integer, and boolean, as well as more specialized data types such as date-time and enumeration.

Configuration keys

Configuration keys are used to define various settings and parameters that control the behavior of the CP during a charging session. These settings can include charging rates, maximum power limits, and authorization requirements. Each profile includes a set of predefined configuration keys, which can be modified by the CP or CMS as needed. However, some of these keys can only be configured by the CP and cannot be changed with the ChangeConfiguration message.

Use Case

The use case refers to a specific scenario or behavior that the protocol is designed to support describing the desired behavior of the CP and CS during various stages of a charging session. Examples of use cases include start transaction, stop transaction and remote start transaction.

Test case

Test cases are used by developers to ensure that the OCPP protocol is implemented correctly. Each OCPP profile includes a set of predefined test cases that developers can use to verify their implementation’s behavior. These test cases cover various scenarios and edge cases to ensure robust and reliable implementation.

6. The functional blocks of OCPP

OCPP 2.0.1 is divided into several functional blocks, each containing a set of use cases and requirements for that block. The main functional blocks of the OCPP protocol are:

Security

This functional Block describes a security specification for the OCPP protocol.

Provisioning

This functional Block describes all the functionalities that help a CSP provision their Charging Stations, allowing them to be registered and accepted on their network and retrieving basic configuration information from these Charging Stations.

Authorization

This Functional Block describes all the related functionality: AuthorizeRequest message handling/behavior and Authorization Cache functionality.

Local Authorization List Management

This Functional Block describes functionality for managing the Local Authorization list.

Transactions

This Functional Block describes the basic OCPP Transaction related functionality for transactions that are started/stopped on the Charging Station.

Remote Control

This Functional Block describes three types of use cases for remote control management from the CSMS: Remote Transaction Control, Unlocking a Connector and Remote Trigger.

Availability

This Functional Block describes the functionality of sending status notification messages.

Reservation

This Functional Block describes the reservation functionality of a Charging Station.

Tariff and Cost

This Functional Block provides tariff and cost information to an EV Driver when a Charging Station is capable of showing this on a display. Before a driver starts charging, tariff information needs to be given, detailed prices for all the components that make up the tariff plan applicable to this driver at this Charging Station. During charging the EV Driver needs to be shown the total running cost, updated at a regular, fitting interval. When the EV Driver stops charging the total cost of this transaction needs to be shown.

Metering

This Functional Block describes the functionality for sending meter values, on a periodic sampling and/or clock-aligned timing basis.

Smart Charging

This Functional Block describes all the functionality that enables the CSO ( or indirectly a third party) to influence the charging current/power of a charging session, or set limits to the amount of power/current a Charge Station can offer to an EV.

Firmware Management

This Functional Block describes the functionality that enables a CSO to update the firmware of a Charging Station.

ISO 15118 Certificate Management

This Functional Block provides the installation and update of ISO 15118 certificates.

Diagnostics

This Functional Block describes the functionality that enables a CSO to request and track the upload of a diagnostics file from a Charging Station, and to manage the monitoring of Charging Station data.

Display Message

With the DIsplayMessage feature OCPP enables a CSO to display a message on a Charging Station, that is not part of the firmware of the Charging Station. The CSO gets control over these messages: the CSO can set, retrieve (get), replace and clear messages.

Data Transfer

This Functional Block describes the functionality that enables a party to add custom commands to OCPP, enabling custom extension to OCPP.

7. A quick overview of the versions of OCPP

OCPP versions - 1.5, 1.6, 2.0

OCPP 1.5

Although OCPP 1.5 was standardized in 2012 and has been widely used since then, there are different implementations of the protocol, some of which are partially incompatible. This is why the Open Charge Alliance only certifies OCPP compliance starting from OCPP 1.6, despite adhering to the main content of OCPP 1.5.

OCPP 1.6

OCCP brings additional functionality, such as smart charging, which enables local and central load balancing and sending JSON data and retrieving on-demand information through trigger messages. However, like OCPP 1.5, version 1.6 doesn’t provide secure end-to-end encryption. To ensure the security of your devices and applications, you will need to implement an alternative solution for encryption, such as a private network or IPsec connection.

OCPP Protocol extension

OCPP 2.0

When OCPP 2.0 was first introduced in April 2018, some issues were discovered that couldn’t be resolved by simply fixing textual nuances in the documentation. Instead, significant changes were required, rendering it not backward compatible with its predecessors.

Compared to earlier versions, OCPP 2.0 is an entirely different protocol, with almost all messages being different and a host of new functionalities added. Despite this lack of backward compatibility, this version boasts significant functionality, security, and interoperability improvements.

For instance, OCPP 2.0 supports bidirectional power transfer allowing vehicle-to-grid (V2G) applications where the EV battery can supply energy back to the grid. Additionally, enhanced security features and better interoperability with other protocols have been introduced.

OCPP 2.0.1

OCPP 2.0.1 is the latest version of the protocol, launched in 2019. Its primary objective is to resolve bugs and inconsistencies in OCPP 2.0 while providing more clarity on specific aspects of the protocol. In terms of how OCPP 2.0 followed by 2.0.1 have changed compared to OCPP 1.6, there have been some major changes:

Device Management

Charge point operators who manage complex, multi-vendor (DC)charging networks have been anticipating the device management feature. It provides detailed information regarding charging stations to the software management platform, enhances charger visibility and makes it easier to operate and maintain the chargers in your network.

Improved Transaction handling

Transaction data reporting was split over several messages in previous protocol versions. But reducing the amount of data has become increasingly important to CPOs who manage numerous stations and transactions. In OCPP 2.0.1, the structure and method for reporting transactions are unified, reducing the amount of data as a whole.

Enhanced security

The data packets are now encrypted at the protocol level and do not require VPN or any third party for a secure connection. This makes it difficult for unauthorized parties to intercept and access the transmitted information. This version also added secure firmware updates, security logging and event notification, security profiles for authentication (key management for client-side certificates), and secure communication (TLS).

Extended Smart Charging functionalities

A significant improvement in OCPP 2.0.1 is the possibility for the EV to communicate the requested energy amount in kWh. EV charging management systems can now accurately view the energy (kWh) each EV needs and set the smart charging output accordingly, allowing for more grid-friendly, secure, and convenient EV charging.

Support for ISO 15118

OCPP 2.0.1 has native integration with ISO 15118, allowing for new features and more secure communication between EVSE and EV. The newly added features are:

  • Plug & Charge
  • Smart Charging, including input from the EV

Improvement in display and messaging:

OCPP 2.0.1 allows charge point operators to configure messages from their EV charging management platform that can be displayed to drivers on the charging stations.

These include display messages:

  • in the preferred language of the EV driver,
  • that shows the applicable tariff before a driver starts charging,
  • that shows the running cost during a charging transaction and the final total cost.

8. The main use cases for OCPP

Remote Connectivity and Management Of Charging Stations

OCPP allows EV charging network operators to remotely monitor and manage their charging stations, enabling them to stay on top of their operations from any location. By implementing OCPP, the backend management system can receive multiple measurements, including voltage level readings for each phase and charge point status updates. DSOs or utility companies can then use this data for monitoring and grid management purposes. Essentially, this level of data and insight serves as smart meter information, streamlining remote management and improving overall efficiency. 

Using OCPP to enable smart charging and load management

Smart EV charging involves syncing EV charging energy demands with grid capacity. This ensures that power is distributed evenly across individual charge points, sites, campuses, and the grid itself, reducing the burden on the grid during peak demand periods.

OCPP can be implemented at different levels, including the EVSE (outlet), station, or group/location,  to manage load from various perspectives such as the grid, home grid, and generation capacities. The OCPP backend system receives charging data and sends charging commands back based on dynamic load management principles.

Using OCPP’s smart charging modules, a unique charging profile can be created for each charger at a given site. This module in the OCPP protocol allows the central backend system to send customized charging commands (charging profiles) to all connected charging stations, making energy usage more efficient.

Interfacing with other protocols

Interfacing with other protocols refers to the ability of a system to communicate and exchange information with other systems that use different communication standards or protocols. This can greatly enhance the functionality and capabilities of electric vehicle (EV) charging infrastructure. Two important protocols that can be combined with OCPP are ISO15118 and OpenADR.

ISO15118

ISO15118 is a communication protocol that enables Plug&Charge functionality and Vehicle-to-Grid (V2G) capabilities.

  • Plug&Charge allows an EV to automatically identify and authorize itself to a compatible charging station on behalf of the driver. The EV driver only needs to plug in the car and charge exchange certificates for payment, eliminating the need for drivers to carry multiple payment cards or use mobile apps to access charging stations
  • Vehicle-to-grid (V2G)  facilitates two-way energy transfer between EVs and the grid, enabling a more efficient and sustainable energy ecosystem. V2G technology enables EV batteries to be used as energy storage devices, providing a valuable resource for the grid during peak demand periods.

OpenADR

OpenADR (Open Automated Demand Response) is a communication protocol that allows utilities and grid operators to send signals to energy-consuming devices to manage electricity demand during times of peak usage or supply shortages. By integrating OpenADR with EV charging infrastructure, the charging process can be managed to minimize the impact on the grid during peak demand periods. This enables EV charging to be used as a demand-response tool, helping to balance the grid and prevent overloading.

Country-specific charging regulations

UK EVSCP regulations

The UK EVSCP (Electric Vehicle Smart Charging Protocol) Regulations require that all new public EV chargers are equipped with smart charging technology from 2022. OCPP plays a vital role in enabling compliance with these regulations. OCPP enables smart charging, allowing charging stations to receive real-time data on grid demand and adjust their charging rates accordingly. This ensures that EVs are charged at the most efficient times, reducing the strain on the grid during peak demand periods and helping to avoid power outages. By enabling smart charging, OCPP facilitates the sustainable growth of the EV charging infrastructure, supporting the UK’s ambitious targets for decarbonizing transportation.

German calibration law – Eichrecht

To comply with Eichrecht regulations, EV charging stations must meet specific criteria, including installing a kWh meter to ensure precise billing and accurate data reporting. The implementation of Eichrecht is facilitated by OCPP which enables charging stations to communicate with charge point management systems. The CPMS can efficiently manage meter data and present it to the EV driver through a mobile application, providing an efficient user experience.

9. Getting started with OCPP

EV charging software

There are two primary approaches to implementing OCPP. You can either build your own implementation of the protocol, which requires an experienced development team to build the solution from scratch, or you can buy a ready-made solution. 

While building your own implementation of OCPP provides complete customization and control over the solution, it also comes with significant downsides. It is worth mentioning that even industry giants opt for existing solutions instead of building their own. This is partly due to the steep learning curve associated with the EV charging industry, which requires a deep understanding of the complexity of the various use cases, the numerous protocols, and the local market regulations.

Ready-made solutions cover all different business models and use cases, making it easier to find a solution that fits specific needs. These solutions often include flexible tariffing options that allow network operators to set pricing based on factors like time-of-use or peak demand periods. This helps them maximize revenue and profitability while providing fair pricing for customers.

Implementing OCPP straight from the documentation generally provides basic functionality that may not be sufficient for comprehensive EV charging business operations. Instead, opting for an existing solution can save time, resources, and provide access to advanced features that are essential for success in this rapidly evolving industry.

EV charging hardware

EV chargers with poor OCPP implementation lead can lead to limited interoperability and poor performance. That’s why evaluating your EV charger’s OCPP implementation is crucial. At AMPECO, we’ve developed a comprehensive evaluation procedure that covers both core and advanced scenarios. It involves extensive testing of all OCPP feature profiles and crucial functionalities, such as remote start/stop of charging sessions, firmware updates, and smart charging capabilities, providing you with reliable and effective solutions for your EV charging needs. These tests allow us to collaborate closely with hardware manufacturers by providing them with specific recommendations on how to improve their OCPP implementation. In doing so, we contribute to the industry and support all stakeholders’ growth. Our platform allows network operators to choose hardware that meets their specific needs, as we have compatibility across charging stations from 40+ manufacturers.

Maintaining and upgrading your OCPP version is essential as protocol versions are not backward compatible, meaning newer versions may not work with older implementations. Upgrading to a new version often requires a hardware or software upgrade, so it’s important to plan accordingly before making any changes to avoid compatibility issues. Regular system maintenance is also essential to ensure that the OCPP version you use remains efficient and effective over time and continues to meet the evolving needs of the charging infrastructure.

10. Latest developments in OCPP

The OCPP standard constantly evolves, with new developments and updates being released regularly. One recent development is the OCPP Compliance Test Tool (OCTT2) which allows developers to test their implementations of the protocol against official specifications and ensure compliance with industry standards. OCTT2 comprises the first set of OCPP 2.0.1 test cases; however, future enhancements are expected to include additional test cases and coverage for functional blocks like ISO15118 and APIs that allow automatic execution of test cases for integration in CI/CD and test automation. Charging station manufacturers and service providers can apply for certification of their products and services to demonstrate compliance with the OCPP standard.

The OCPP standard is constantly evolving to continue to improve functionality and accommodate new features. This progress is driven by working groups of industry experts collaborating to develop new standards and best practices for EV charging infrastructure. Plugfest events are also held regularly, bringing together developers and manufacturers to test their OCPP implementations for interoperability. 

In addition to supporting EV charging, OCPP has also been used in other non-EV charging-related applications, such as energy storage systems, transformers or stand-alone battery packs. This demonstrates the versatility of the protocol and its potential use in a wide range of applications beyond EV charging.

How AMPECO helps you maximize the benefits of OCPP

For charge point operators seeking to scale and manage their EV charging infrastructure, understanding and utilizing OCPP offers multiple advantages. By adopting OCPP, operators can enjoy improved communication between charging stations and back-end systems, greater interoperability, flexibility, and control over their systems. With the ongoing development of the protocol, OCPP continues to evolve and improve, supporting the needs of EV drivers and the industry.

However, for EV charging network operators serious about growing their business, relying on software or hardware with basic OCPP implementation is not enough. The key is how it is implemented and how all the complex use cases are addressed. This is where platforms like AMPECO come in – with years of development and driven by real-life practical use cases from clients in 45 markets worldwide. Our platform brings not just the basic implementation of OCPP but also custom flows and interpretation of how business cases can be turned into technical solutions.

We encourage all EV charging network operators to adopt OCPP as part of their EV charging infrastructure and to consider working with an EV charging management platform like AMPECO to unlock even more value from this powerful protocol. With our expertise and experience in developing custom solutions for complex use cases, we can help you take your EV charging business to the next level.

Book a consultation with our industry experts

Schedule a consultation with our EV charging experts to learn more about OCPP and everything related to running a thriving EV charging business. Let us show you how AMPECO’s EV charging management platform can meet your needs and set you up for success.

The OCPP Handbook (2024) - The Open Charge Point Protocol, OCPP, is an open-source protocol that facilitates smooth communication and management of EV charging infrastructure. It enables interoperability between various EV charging equipment and central management systems, regardless of the manufacturer or type of charging station. With OCPP, charge point operators can remotely monitor their charging stations, authorize access, configure hardware, update firmware, and integrate different payment and billing systems.