Referenčná príručka protokolov OCPP 2.0.1 a 2.1.
Všetkých 91 správ OCPP 2.0.1 a 2.1 s ich poľami a príkladom, ktoré pridala verzia 2.1, device model, ktorý nahradil konfiguračné kľúče z 1.6, a tri bezpečnostné profily.
Čo sú OCPP 2.0.1 a 2.1?
Sú to novšie verzie protokolu Open Charge Point Protocol, otvoreného štandardu organizácie Open Charge Alliance o tom, ako nabíjacia stanica komunikuje so softvérom, ktorý ju spravuje: v špecifikácii je to CSMS, na trhu backoffice. Rovnako ako pri 1.6J nabíjacia stanica otvorí WebSocket do backofficu a obe strany cez neho posielajú JSON správy.
OCPP 2.0.1 nie je spätne kompatibilný s 1.6. Opisuje nabíjaciu stanicu ako device model z komponentov a premenných, má zabudované tri bezpečnostné profily, hlási nabíjanie jednou správou, TransactionEvent, a podporuje ISO 15118 pre Plug and Charge a pre inteligentné nabíjanie so vstupom z auta.
OCPP 2.1 stavia na 2.0.1. Jeho schémy sú schémy 2.0.1 s pridanými voliteľnými poľami a pridáva 27 správ pre obojsmerné nabíjanie, riadenie DER, tarify na nabíjacej stanici, ktorá si cenu počíta sama, platbu pri nabíjacej stanici, pravidelné prúdy udalostí a výmenu batérií. Nabíjacia stanica a jej backoffice sa pri otvorení WebSocketu dohodnú na jednej verzii.
- Otvorený štandardImplementácia je bezplatná, štandard spravuje Open Charge Alliance. OCPP 2.1 je zverejnený aj ako IEC 63584-210.
- WebSocket a JSONJedno spojenie, ktoré nabíjacia stanica drží otvorené. 2.1 pridáva SEND, správu, na ktorú neprichádza odpoveď.
- 91 správ64 v 2.0.1 a ďalších 27 v 2.1, v 19 funkčných blokoch.
- Oba smeryNabíjacia stanica aj backoffice začínajú vlastné správy.
Všetkých 91 správ OCPP 2.0.1 a 2.1
Každá správa je požiadavka jednej strany a odpoveď druhej, spárované ID správy. Jedinou výnimkou je NotifyPeriodicEventStream: správa SEND v 2.1, na ktorú neprichádza odpoveď.
Bezpečnosť
Certifikáty pre nabíjaciu stanicu a backoffice a bezpečnostné udalosti, ktoré nabíjacia stanica hlási.
Provisioning
Spustenie, registrácia v backoffice systéme, čítanie a nastavovanie device modelu a reštarty.
Autorizácia
Kontrola ID tokenu pred nabíjaním, autorizačná cache a v 2.1 jednorazová platba.
Lokálny autorizačný zoznam
Zoznam ID tokenov, ktoré backoffice ukladá na nabíjaciu stanicu, aby mohla autorizovať sama.
Nabíjania
Jedna správa, TransactionEvent, pre začiatok, priebežné aktualizácie a koniec každého nabíjania.
Diaľkové ovládanie
Spustenie a zastavenie nabíjania z backofficu, odomknutie konektora a vyvolanie správy.
Dostupnosť
Stav každého konektora, heartbeat a vyradenie nabíjacej stanice alebo EVSE z prevádzky.
Rezervácia
Rezervácia EVSE pre ID token a zrušenie tejto rezervácie.
Tarifa a cena
Ceny a priebežná cena pre vodiča; v 2.1 aj tarify na nabíjacej stanici, ktorá si cenu počíta sama.
Namerané hodnoty
Odpočty elektromera mimo nabíjania; počas nabíjania sa prenášajú v TransactionEvent.
Inteligentné nabíjanie
Nabíjacie profily s limitmi výkonu alebo prúdu, limity zvonku a potreby vozidla.
Správa firmvéru
Aktualizácia firmvéru na nabíjacej stanici a jeho zverejnenie cez lokálny kontrolér.
Správa certifikátov
Inštalácia a kontrola certifikátov vrátane zmluvných certifikátov pre Plug and Charge.
Diagnostika
Logy, monitory v device modeli, udalosti, údaje o zákazníkoch a v 2.1 pravidelné prúdy udalostí.
Správy na displeji
Správy, ktoré backoffice nastaví, aby ich nabíjacia stanica ukazovala vodičom.
Prenos údajov
Údaje výrobcu pre funkcie, ktoré štandard nepokrýva.
Obojsmerný prenos energie
Nové v 2.1: riadenie nabíjania a vybíjania (V2X) cez nabíjacie profily.
Riadenie DER
Nové v 2.1: nastavenia podpory siete pre nabíjaciu stanicu a auto, ktoré fungujú ako distribuovaný zdroj energie.
Výmena batérií
Nové v 2.1: stanice na výmenu batérií.
Tomuto vyhľadávaniu nezodpovedá žiadna správa.
Device model v OCPP 2.0.1
V OCPP 1.6 má nabíjacia stanica plochý zoznam konfiguračných kľúčov. V 2.0.1 a 2.1 sa opisuje ako komponenty, napríklad nabíjacia stanica, EVSE, konektor alebo kontrolér ako OCPPCommCtrlr, a každý komponent má premenné. Premenná môže mať štyri hodnoty: Actual, Target, MinSet a MaxSet. Čo bolo predtým konfiguračným kľúčom, je teraz premennou komponentu kontroléra.
Ako s ním pracujete
- GetVariables a SetVariablesČítajú alebo nastavujú viac premenných v jednej správe. Nabíjacia stanica odpovedá pre každú premennú zvlášť.
- GetBaseReport a GetReportŽiadajú celý device model alebo jeho časť. Nabíjacia stanica ho pošle späť v správach NotifyReport.
- MonitorySetVariableMonitoring sleduje premennú na prekročenie hranice, zmenu alebo v pevnom intervale a nabíjacia stanica hlási cez NotifyEvent.
- Enabled, pre každú funkciuKontrolér voliteľnej funkcie, napríklad AuthCacheCtrlr alebo ReservationCtrlr, má premennú Enabled, ktorá túto funkciu zapína alebo vypína.
Odpovede na SetVariables
- Prijaté
- Hodnota je nastavená.
- Rejected
- Premenná existuje, ale hodnota bola odmietnutá.
- Unknown
Component - Nabíjacia stanica taký komponent nemá.
- Unknown
Variable - Komponent takú premennú nemá.
- NotSupported
AttributeType - Premenná nemá hodnotu tohto typu, napríklad žiadnu Target.
- RebootRequired
- Hodnota je uložená a začne platiť po reštarte.
Premenné, ktoré nahradili najznámejšie kľúče z 1.6
Špecifikácia štandardizuje oveľa viac premenných, uvedených v jej prílohách. Nabíjacia stanica hlási tie, ktoré má, v odpovedi na GetBaseReport.
| Komponent a premenná | Typ | Čo nastavuje | V OCPP 1.6 |
|---|---|---|---|
| OCPPCommCtrlr | celé číslo v sekundách | Počet sekúnd bez iných správ, po ktorých nabíjacia stanica pošle Heartbeat. | Heartbeat |
| OCPPCommCtrlr | integer | Koľkokrát sa nabíjacia stanica pokúsi doručiť TransactionEvent, ktorý backoffice nedokázal spracovať. | Transaction |
| OCPPCommCtrlr | integer | Počet sekúnd, ktoré nabíjacia stanica čaká pred ďalším pokusom. | Transaction |
| OCPPCommCtrlr | celé číslo v sekundách | Počet sekúnd medzi WebSocket pingmi; 0 vypne vlastné pingy nabíjacej stanice. | Web |
| OCPPCommCtrlr | integer | Koľkokrát nabíjacia stanica zopakuje reštart, ktorý zlyhal. | Reset |
| OCPPCommCtrlr | boolean | Odomknúť kábel na nabíjacej stanici, keď sa odpojí na strane auta. | Unlock |
| SampledDataCtrlr | zoznam | Čo nabíjacia stanica meria počas nabíjania, posielané v TransactionEvent s eventType Updated. | Meter |
| SampledDataCtrlr | celé číslo v sekundách | Počet sekúnd medzi týmito odpočtami; 0 počas nabíjania neposiela žiadne. | Meter |
| SampledDataCtrlr | zoznam | Čo sa dostane do TransactionEvent, ktorý nabíjanie ukončuje. | Stop |
| AlignedDataCtrlr | celé číslo v sekundách | Počet sekúnd medzi odpočtami zarovnanými na hodiny. | Clock |
| AlignedDataCtrlr | zoznam | Čo obsahujú odpočty zarovnané na hodiny. | Meter |
| AlignedDataCtrlr | zoznam | Odpočty zarovnané na hodiny, ktoré sa dostanú do TransactionEvent, ktorý nabíjanie ukončuje. | Stop |
| TxCtrlr | celé číslo v sekundách | Počet sekúnd, ktoré má vodič na pripojenie auta po začiatku nabíjania, než sa zruší. | Connection |
| TxCtrlr | boolean | Ukončiť nabíjanie, keď sa kábel odpojí na strane auta. | Stop |
| TxCtrlr | boolean | Zastaviť prebiehajúce nabíjanie, keď sa ukáže, že jeho ID token nie je prijatý. | Stop |
| TxCtrlr | integer | Energia vo Wh, ktorú nabíjacia stanica ešte môže dodať po tom, čo backoffice ID token odmietol. | Max |
| TxCtrlr | zoznam | Kedy sa nabíjanie začína: pri autorizácii, pri pripojení, keď tečie energia a podobne. | Nové v 2.0.1 |
| TxCtrlr | zoznam | Kedy sa nabíjanie končí, vybrané z toho istého zoznamu. | Nové v 2.0.1 |
| AuthCtrlr | boolean | Či nabíjacia stanica pri vzdialenom spustení najprv overí ID token cez Authorize. | Authorize |
| AuthCtrlr | boolean | Spúšťať nabíjania v režime offline pre ID tokeny, ktoré už pozná. | Local |
| AuthCtrlr | boolean | Spúšťať pre ID tokeny, ktoré už pozná, bez čakania na backoffice. | Local |
| AuthCtrlr | boolean | Spúšťať nabíjania v režime offline pre neznáme ID tokeny. | Allow |
| AuthCacheCtrlr | boolean | Používať autorizačnú cache. | Authorization |
| LocalAuthListCtrlr | boolean | Používať lokálny autorizačný zoznam. | Local |
| LocalAuthListCtrlr | integer | Najviac ID tokenov v jednej správe SendLocalList. | Send |
| SmartChargingCtrlr | integer | Najvyššia úroveň zásobníka (stack level), ktorú môže mať nabíjací profil. | Charge |
| SmartChargingCtrlr | zoznam | Či môžu byť rozvrhy v ampéroch, vo wattoch alebo v oboch. | Charging |
| SmartChargingCtrlr | integer | Najviac období v jednom rozvrhu nabíjania. | Charging |
| SmartChargingCtrlr | boolean | Či nabíjacia stanica dokáže počas nabíjania prepnúť z troch fáz na jednu. | Connector |
| ReservationCtrlr | boolean | Či môže byť rezervácia pre nabíjaciu stanicu ako celok namiesto jedného EVSE. | Reserve |
Tomuto vyhľadávaniu nezodpovedá žiadna premenná.
Bezpečnostné profily OCPP 2.0.1 a 2.1
Obe verzie definujú tri bezpečnostné profily. Nabíjacia stanica a jej backoffice používajú vždy jeden a nastavuje sa pred prvou správou OCPP. Backoffice ho nastavuje pre každý slot spojenia cez SetNetworkProfile a nabíjacia stanica hlási používaný profil v SecurityCtrlr.SecurityProfile.
| Profil | Ako nabíjacia stanica preukazuje, kto je | Ako backoffice preukazuje, kto je | Spojenie |
|---|---|---|---|
| 1. Nezabezpečený prenos so základnou autentifikáciou | HTTP Basic autentifikácia s heslom | Nepreukazuje | Nešifrované. Iba pre dôveryhodné siete, napríklad VPN medzi nabíjacou stanicou a backofficom. |
| 2. TLS so základnou autentifikáciou | HTTP Basic autentifikácia s heslom | Svojím TLS certifikátom servera | TLS 1.2 alebo vyšší |
| 3. TLS s certifikátmi na strane klienta | Vlastným TLS certifikátom klienta | Svojím TLS certifikátom servera | TLS 1.2 alebo vyšší |
- Prechod na nižší profilNabíjacia stanica môže prejsť iba z profilu 3 na profil 2, a len keď je AllowSecurityProfileDowngrade nastavené na true. Na profil 1 cez OCPP nikdy neprejde.
- Heslá a certifikátyHeslo je SecurityCtrlr.BasicAuthPassword. Nabíjacia stanica žiada nový certifikát cez SignCertificate a backoffice ho doručí cez CertificateSigned.
- Bezpečnostné udalostiNabíjacia stanica hlási, čo sa stalo, napríklad reštart, aktualizáciu firmvéru alebo prihlasovacie údaje, ktoré backoffice odmietol, cez SecurityEventNotification.
Z OCPP 1.6 na 2.0.1, správa po správe
OCPP 2.0.1 ponechal mnohé názvy správ z 1.6 a iné premenoval alebo zlúčil. Odkaz otvorí správu v tejto príručke alebo v príručke 1.6J.
| OCPP 1.6 | OCPP 2.0.1 a 2.1 | Čo sa zmenilo |
|---|---|---|
| StartTransaction, StopTransaction | TransactionEvent | Jedna správa s eventType Started, Updated alebo Ended. ID nabíjania, reťazec, nastavuje nabíjacia stanica. |
| MeterValues | TransactionEvent, MeterValues | Odpočty počas nabíjania idú v TransactionEvent; MeterValues prenáša odpočty mimo nabíjania. |
| StatusNotification | StatusNotification, NotifyEvent | StatusNotification hlási iba stav konektora, s evseId a connectorId. Kódy chýb idú v NotifyEvent a 2.1 uprednostňuje NotifyEvent aj pre dostupnosť. |
| RemoteStartTransaction | RequestStartTransaction | Prenáša objekt idToken a remoteStartId, ktoré sa vráti v TransactionEvent, ktorý nabíjanie spúšťa. |
| RemoteStopTransaction | RequestStopTransaction | Zastaví nabíjanie podľa jeho ID, ktoré je teraz reťazec. |
| ChangeConfiguration | SetVariables | Nastaví viac premenných device modelu v jednej správe. |
| GetConfiguration | GetVariables, GetBaseReport, GetReport | Načíta vybrané premenné alebo žiada report, ktorý príde v správach NotifyReport. |
| GetDiagnostics | GetLog | Žiada diagnostický log alebo bezpečnostný log. |
| DiagnosticsStatusNotification | LogStatusNotification | Hlási priebeh tohto nahrávania. |
| Reset | Reset | Immediate alebo OnIdle namiesto Hard alebo Soft a dokáže reštartovať jedno EVSE. |
| ChangeAvailability | ChangeAvailability | Cieli na nabíjaciu stanicu, EVSE alebo konektor cez svoje pole evse. |
| Authorize | Authorize | Objekt idToken s typom namiesto reťazca idTag. |
| BootNotification | BootNotification | Pridáva dôvod spustenia; údaje o nabíjacej stanici sú v objekte chargingStation. |
| Heartbeat, UnlockConnector, ClearCache, DataTransfer, ReserveNow, CancelReservation, SendLocalList, GetLocalListVersion, SetChargingProfile, ClearChargingProfile, GetCompositeSchedule, TriggerMessage, UpdateFirmware, FirmwareStatusNotification | Rovnaké názvy | Rovnaké správy s poľami pre EVSE a novšími dátovými typmi. |
Otázky o OCPP 2.0.1 a 2.1
Verzia 2.0.1 protokolu Open Charge Point Protocol, ktorú Open Charge Alliance vydala v roku 2020. Nahradila OCPP 2.0 a oproti 1.6 pridáva device model, bezpečnostné profily, podporu ISO 15118 a TransactionEvent. Nie je spätne kompatibilná s 1.6.
OCPP 2.1 vyšiel v januári 2025 a je zároveň normou IEC 63584-210. Pridáva 27 správ a žiadnu neodstraňuje: obojsmerné nabíjanie (V2X) a riadenie DER, ISO 15118-20, tarify na nabíjacej stanici, ktorá si cenu počíta sama, platbu pri nabíjacej stanici kartovým terminálom alebo QR kódom, prioritné nabíjanie, dynamické nabíjacie profily, pravidelné prúdy udalostí a výmenu batérií. Zvoľte Nové v 2.1 nad správami a zobrazia sa.
Schémy 2.1 sú schémy 2.0.1 s pridanými voliteľnými poľami a podľa Open Charge Alliance logika napísaná pre 2.0.1 funguje ďalej s dvoma malými zmenami: SignCertificate môže niesť requestId, ktoré CertificateSigned potom zopakuje, a NotifyMonitoringReport má jedno nové povinné pole. Verzia sa stále dohaduje pre každé spojenie: pri WebSocket handshake nabíjacia stanica ponúkne napríklad ocpp2.1, ocpp2.0.1 a ocpp1.6 a backoffice si jednu vyberie.
2.0.1 má vlastnú sadu správ: device model namiesto konfiguračných kľúčov, bezpečnostné profily, TransactionEvent namiesto StartTransaction a StopTransaction, EVSE ako úroveň medzi nabíjacou stanicou a jej konektormi a správy pre ISO 15118. Nabíjacia stanica a jej backoffice sa pri otvorení spojenia dohodnú na jednej verzii. Tabuľka vyššie páruje správy a príručka OCPP 1.6J obsahuje každú správu 1.6.
Po vydaní OCPP 2.0 sa objavili problémy, ktoré sa dali opraviť iba zmenou schém správ, a tým implementácia 2.0 nemohla nasledovať. Open Charge Alliance dala opravenej verzii vlastné číslo, 2.0.1, a odporúča implementovať iba 2.0.1. V špecifikácii OCPP 2.0 znamená 2.0.1, ak nie je uvedené inak.
Open Charge Alliance zverejňuje obe bezplatne na svojom webe, s JSON schémou pre každú správu a so zoznamom errát. Táto príručka sa riadi JSON schémami a časťou 2 špecifikácie. Kde sa líšia, platí špecifikácia a jej errata.
Pozrite sa do databázy nabíjacích staníc: 102 nabíjacích staníc v nej uvádza OCPP 2.0.1 a 4 uvádzajú 2.1. Zvyčajne to uvádza aj technický list. Nabíjacia stanica, ktorá podporuje viac verzií, ich pri pripojení ponúkne všetky a backoffice si jednu vyberie.
OCPP 1.6J na Plugchoice
Plugchoice dnes pripája nabíjacie stanice s OCPP 1.6J, v závislosti od modelu, firmvéru a konfigurácie.