foto van het logo van ocpp gepubliceerd door de open charge alliance
logo van OCPP

Wat is het OCPP protocol?

OCPP, voluit het Open Charge Point Protocol, legt communicatiewijze vast tussen een laadpunt (de EVSE) en een laadpunt beheersysteem (CSMS, Charging Station Management System). Het oorspronkelijk doel was om exploitanten van laadpunten de mogelijkheid te geven om met alle onder hun beheer vallende laadpunten te kunnen communiceren, op basis van één universeel protocol, ongeacht het merk en model laadpunt. Zou OCPP niet hebben bestaan, dan hadden laadpuntexploitanten voor ieder merk en model laadpunt een ander communicatieprotocol moeten implementeren.

In OCPP zijn een aantal gestandaardiseerde berichten vastgelegd. Zo'n bericht kan een verzoek bevatten, als voorbeeld, "mag ik met deze laadpas gaan laden?" of het bericht bevat een een antwoord "je pas is geautoriseerd, je krijgt toestemming om te laden".

Voorbeeld

Een vereenvoudigd voorbeeld maakt het gebruik van OCPP duidelijk. Bij OCPP zijn twee partijen betrokken, het laadpunt (EVSE) en de laadpuntexploitant (CSMS).

Het laadpunt wordt formeel de EVSE (Electric Vehicle Supply Equipment) genoemd, en deze communiceert met het CSMS, het Charge Station Management System van de laadpuntexploitant.

Wanneer je bij een openbaar laadpunt de EV wil laden en je haalt je laadpas langs de lezer, dan wordt op basis van OCPP een transactie gestart die bestaat uit diverse "OCPP berichten".

Als eerste stuurt de EVSE (laadpunt) een OCPP bericht met daarin de laadpas-id en vraagt om een autorisatie aan bij het CSMS (laadpuntexploitant). Via een OCPP bericht stuurt het CSMS (laadpunt exploitant) een autorisatie naar de EVSE (laadpunt). Vervolgens stuurt de EVSE via een OCPP bericht een aanvraag om te mogen laden naar het CSMS. Deze aanvraag wordt door het CSMS beantwoord met een OCPP bericht met daarin de opdracht de laadstekker te blokkeren, zodat hij er niet uitgetrokken kan worden en tevens de toestemming om het laden te starten.

Zodra men het laden van de EV wil stoppen verstuurt de EVSE via een OCPP bericht een verzoek tot beëindiging van het laden. Daarna geeft het CSMS via OCPP de opdracht aan het laadpunt om het laden te stoppen. Vervolgens stuurt het CSMS naar de EVSE via een OCPP bericht het verzoek om door te geven hoeveel kWh energie in deze laadsessie geleverd is. De EVSE verstuurt met een OCPP bericht de hoeveelheid geladen energie en zodra dit door het CSMS ontvangen is, zal het CSMS via een OCPP bericht een opdracht naar de EVSE versturen om de laadkabel te deblokkeren en daarmee is de laadsessie / transactie beëindigd.

Bedenk dat dit voorbeeld een vereenvoudigde voorstelling is van de werkelijkheid en dat het OCPP berichtenverkeer iets complexer is. Maar het geeft wel inzicht op welke manier OCPP, een rol speelt in het ondersteunen van (in dit geval) een laadtransactie.

Van welke communicatiemiddel maakt OCPP gebruik?

OCPP maakt doorgaans gebruik van mobiele netwerken (3G/4G/5G) of internet als communicatiemedium tussen de EVSE en het CSMS. Voor "thuistoepassingen", zie later, zal Ethernet of wifi gebruikt worden.

Wanneer de EVSE communiceert via een mobiel netwerk moet deze voorzien zijn van een cellular radio module en een simkaart of e-sim.

OCPP is, refererend aan het ISO-OSI zeven laags model, een "application-level" protocol. Het moet van andere protocollen gebruik maken om te communiceren "met de andere partij". OCPP maakt gebruik van TCP en IP eventueel aangevuld met TLS (versleuteling van de communicatie). Versie 1.6 kan gebruik maken van SOAP (XML) of websockets (ws:// en wss://).

Beveiligde communicatie

OCPP versie 1.6 biedt de mogelijkheid om gebruik te maken van TLS (transport layer security), om daarmee het berichtenverkeer te versleutelen. Maar OCPP versie 1.6 dwingt dit niet af. In de configuratie van de EVSE kan dus een websocket adres vastgelegd zijn met ws:// die niet beveiligd is, of van wss:// (websocket secure) die dan wel gebruik maakt van beveiliging.

Wat is OCPP niet

OCPP heeft géén betrekking op de communicatie tussen de EVSE (laadpunt) en de EV. Het betreft alleen de communicatie tussen een beherende partij van het laadpunt en het laadpunt zelf, de EVSE.

Geschiedenis

Het OCPP protocol[1], je zou het een universele laadpuntcommunicatietaal kunnen noemen, is bedacht door een Nederlands consortium ELaadNL. Bij dit consortium waren diverse Nederlandse partijen betrokken, waaronder Alfen (een producent van EVSE's) en de netbeheerder Enexis, die de voordelen zagen van een open protocol om met laadpunten te communiceren. Wat het belang van de netbeheerder was zal later in dit artikel duidelijk worden.

Zo had een laadpuntexploitant (die een laadnetwerk beheerd) en diverse merken en type laadpunten in beheer had, behoefte om de communicatie tussen het centrale beheerssysteem en de laadpunten (van welk merk dan ook) op een uniforme manier te laten verlopen.

In 2010 werd de eerste OCPP standaard gepubliceerd. Later werd het beheer en ontwikkeling van het OCPP protocol overgedragen naar de Open Charge Alliance die ook in Nederland zetelt. De OCA heeft meerdere nieuwe versies gepubliceerd waaronder versie 1.6 in 2015, versie 2.0.1 in 2020 en de laatste versie 2.1 is in 2025 gepubliceerd.

OCPP is zo populair geworden dat vrijwel iedere EVSE dit protocol ondersteund. De populariteit komt mede doordat de Open Charge Alliance een samenvoeging is van vergelijkbare initiatieven in Nederland, Ierland en de VS. Tevens is door bepaalde staten in de VS OCPP verplicht gesteld voor in de openbare ruimte te plaatsten laadpunten.

Andere OCPP functies

In het voorbeeld hiervoor hebben we ons geconcentreerd op die onderdelen van OCPP die een laadtransactie ondersteunen. Maar de laadpunten moeten ook, op afstand, beheerd worden.

Zo zal het laadpunt met regelmaat een "heartbeat" naar het centrale beheerssysteem verzenden. Met die heartbeat laat het laadpunt aan het beheerssysteem weten "ik ben nog actief en ben in staat laadsessies te ondersteunen". Stel dat een tijdlang zo'n heartbeat niet meer ontvangen wordt, dan is dat waarschijnlijk een teken dat het laadpunt niet meer functioneert en dat de service organisatie het laadpunt moet inspecteren.

foto van een laadpaal met twee laadpuntaansluitingen (dual socket)
dual socket EVSE

Met OCPP kan (op afstand) de status van de EVSE opvragen, de EVSE uitschakelen, resetten, van nieuwe firmware (software) voorzien, de configuratie wijzigen, het huidige laadvermogen opvragen (tijdens een laadsessie) en het maximale laadvermogen aanpassen.

Dat laatste is van belang bij een "dual socket" laadpunt. Een laadpunt die in staat is om maximaal twee EV's tegelijkertijd te laden. Het laadpunt heeft, vanwege een beperking van de aansluiting op het elektriciteitsnet een bepaalde maximale stroomsterkte en daar vloeit uit voort dat het maximum laadvermogen bijvoorbeeld 40 kW is.

Op het laadpunt, in dit voorbeeld, kan iedere laadaansluiting gebruikt worden met een laadvermogen van maximaal 22 kW. Als één EV laad dan kan deze 22 kW laadvermogen benutten, maar als twee EV's tegelijkertijd geladen moeten worden, en beiden vragen ze 22 kW laadvermogen aan, dan is de som daarvan 44 kW en dat is 4 kW meer dat het maximum van dat laadpunt. In dat geval zal het beschikbare laadvermogen per EV aangepast worden naar 20 kW. Het OCPP protocol voorziet namelijk in berichten om het huidige laadvermogen van de EVSE op te vragen en het maximaal beschikbare laadvermogen per EV aan te passen.

Deze functionaliteit heet loadbalancing en deze functie kan lokaal (autonoom) afgehandeld worden, maar het is ook mogelijk dat dit loadbalancing via OCPP verloopt. Het CSMS zal dan de loadbalancing via OCPP af handelen. Welke vorm van loadbalancing wordt gekozen is aan de eigenaar van het laadpunt.

Doordat OCPP voorziet in het op afstand aanpassen van de laadstroom, of dit zelfs tijdelijk geheel te stoppen, biedt dit de mogelijkheid dat een netbeheerder en een laadpuntexploitant afspraken maken door op bepaalde tijdstippen, of onder bepaalde omstandigheden, het laadvermogen te reduceren van vele of alle laadpunten of tijdelijk te stoppen. De netbeheerder zal zo'n verzoek elektronisch versturen en dit wordt door het beheerssysteem van de laadpuntexploitant direct verwerkt en naar alle of bepaalde laadpunten verstuurd (via OCPP).

De netbeheerder zal zo'n verzoek indienen als sprake is van een (dreigende) overbelasting van het (lokale) elektriciteitsnet. De laadpuntexploitant zal niet met plezier de laadsessies beperken of stilleggen, dat kost immers inkomsten, maar de netbeheerder zal een bepaalde vergoeding hier tegenover zetten waardoor het voor de laadpuntexploitant toch aantrekkelijk zal zijn om de netbeheerder "te helpen".

Dit voorbeeld is maar één voorbeeld, zo kan een laadpuntexploitant mogelijk op eigen beweging dit doen omdat hij bijvoorbeeld handelt op de onbalansmarkt.

OCPP niet alleen voor laadpuntexploitanten

Doordat je op afstand via OCPP een laadpunt kan in- of uitschakelen, of het laadvermogen kan aanpassen, kan dit ook gebruikt worden door bedrijven die "laag-tarief laden" aanbieden aan bezitters van laadpunten die deze functionaliteit niet hebben.

De eigenaar van het laadpunt geeft dan een bedrijf via OCPP toegang tot het laadpunt. Als een EV aan het laadpunt is gekoppeld staat het "klaar" om geladen te worden, maar dit laden zal pas starten als het bedrijf het gunstig vindt om op een specifiek tijdstip het laden te starten of te stoppen omdat dán de elektriciteit goedkoper is dan andere momenten (op die dag).

Het bedrijf die dit aanbiedt kan dit aanbieden omdat de laadpunteigenaar (bedrijf of particulier) een energiecontract heeft afgesloten met dat bedrijf en dat contract is dan financieel gunstiger dan een normaal elektriciteitscontract. De energieleverancier kan namelijk extra geld verdienen doordat deze op de day-ahead markt en/of de onbalansmarkt elektriciteit inkoopt en deze met een klein beetje winst verkoopt aan de laadpunteigenaar.

Deze dienst kan ook aangeboden worden door een backoffice, dat is een bedrijf die via OCPP het laden van een bedrijfsauto, met bijvoorbeeld jouw privé laadpaal, ondersteund en de elektriciteit die gebruikt is om de bedrijfsauto van energie te voorzien jouw vergoed en vervolgens jouw werkgever een factuur stuurt voor de kosten van de elektriciteit. Die backoffice zal winst maken door een bepaalde marge te hanteren richting jouw werkgever, bijvoorbeeld 10%, of de werkgever moet de backoffice iedere maand een vast bedrag betalen voor de geleverde dienst.

Om het jou als particulier aantrekkelijk te maken om via dié backoffice zaken te doen, kan die backoffice dit "laag-tarief laden" je gratis aanbieden waardoor je bijvoorbeeld een prive auto thuis goedkoop kan laten laden, of dat je een klein voordeel hebt omdat de prijs die je in rekening brengt naar de backoffice een vast bedrag is (door jou vast te stellen) maar de werkelijke elektriciteitskosten lager zullen zijn.

OCPP ook voor thuisgebruik

Wanneer je privé een laadpunt hebt, een laadpaal op je oprit of een wandlader aan de garage, en dit laadpunt OCPP ondersteund, want dat doen ze vrijwel allemaal, biedt interessante mogelijkheden.

Mocht jouw laadpunt functies als loadbalancing, zonne-laden of laag-tarief laden niet ondersteunen, dan zijn die functies toch beschikbaar te maken door gebruik te maken van software zoals Home Assistant, EVCC of Homey.

Wat is de meest gebruikte versie van OCPP?

Het OCPP protocol kent een aantal versies. Nieuwere versies zijn niet downwards compatible. Als voorbeeld, als een backoffice OCPP versie 1.5 ondersteund, maar het laadpunt ondersteund versie versie 1.6, dan kunnen deze dus niet samenwerken.

Op het moment van schrijven, zie datum onderaan artikel, is versie 1.6 de meest gangbare versie. Vrijwel iedereen ondersteund deze versie.

Wat is het verschil tussen versie OCPP 1.6 en OCPP 1.6J ?

Het OCPP protocol gebruikte eerst SOAP, een op XML gebaseerde dataoverdracht. In latere versies werd de mogelijkheid geboden om te kiezen voor JSON (JavaScript Object Notation) voor dataoverdracht, naast de oude XML versie. In versie 1.6 kan je kiezen om XML of JSON te gebruiken tijdens dataoverdracht.

Om duidelijk te maken dat de EVSE JSON gebruikt en niet XML wordt achter het protocol een J geplaatst. Dus als een EVSE OCPP 1.6J ondersteund wordt daarmee aangegeven dat het wel JSON en dus niet XML ondersteund. Overigens in OCPP versie 2.0.1 en latere versies wordt alleen nog JSON ondersteund, dus dat is de toekomstvaste versie.

  1. Taaltechnisch is het incorrect als we schrijven "het OCPP protocol" want dan staat er eigenlijk het Open Charge Point Protocol protocol. We weten het, maar anders "loopt" de zin niet lekker.

Verder lezen

Dit artikel maakt deel uit van een artikelenreeks waarbij we de vele aspecten van de laadpaal bespreken.


publicatie: 20260702

aanpassing/controle: 20260702

Foutje of aanvulling? Stuur ons een reactie