Preskočiť na obsah

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.

SprávyDevice modelBezpečnostné profilyPrechod z 1.6Otázky

Č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í.

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á.
UnknownComponent
Nabíjacia stanica taký komponent nemá.
UnknownVariable
Komponent takú premennú nemá.
NotSupportedAttributeType
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 nastavujeV OCPP 1.6
OCPPCommCtrlr.HeartbeatIntervalcelé číslo v sekundáchPočet sekúnd bez iných správ, po ktorých nabíjacia stanica pošle Heartbeat.HeartbeatInterval
OCPPCommCtrlr.MessageAttemptsInštancia TransactionEventintegerKoľkokrát sa nabíjacia stanica pokúsi doručiť TransactionEvent, ktorý backoffice nedokázal spracovať.TransactionMessageAttempts
OCPPCommCtrlr.MessageAttemptIntervalInštancia TransactionEventintegerPočet sekúnd, ktoré nabíjacia stanica čaká pred ďalším pokusom.TransactionMessageRetryInterval
OCPPCommCtrlr.WebSocketPingIntervalcelé číslo v sekundáchPočet sekúnd medzi WebSocket pingmi; 0 vypne vlastné pingy nabíjacej stanice.WebSocketPingInterval
OCPPCommCtrlr.ResetRetriesintegerKoľkokrát nabíjacia stanica zopakuje reštart, ktorý zlyhal.ResetRetries
OCPPCommCtrlr.UnlockOnEVSideDisconnectbooleanOdomknúť kábel na nabíjacej stanici, keď sa odpojí na strane auta.UnlockConnectorOnEVSideDisconnect
SampledDataCtrlr.TxUpdatedMeasurandszoznamČo nabíjacia stanica meria počas nabíjania, posielané v TransactionEvent s eventType Updated.MeterValuesSampledData
SampledDataCtrlr.TxUpdatedIntervalcelé číslo v sekundáchPočet sekúnd medzi týmito odpočtami; 0 počas nabíjania neposiela žiadne.MeterValueSampleInterval
SampledDataCtrlr.TxEndedMeasurandszoznamČo sa dostane do TransactionEvent, ktorý nabíjanie ukončuje.StopTxnSampledData
AlignedDataCtrlr.Intervalcelé číslo v sekundáchPočet sekúnd medzi odpočtami zarovnanými na hodiny.ClockAlignedDataInterval
AlignedDataCtrlr.MeasurandszoznamČo obsahujú odpočty zarovnané na hodiny.MeterValuesAlignedData
AlignedDataCtrlr.TxEndedMeasurandszoznamOdpočty zarovnané na hodiny, ktoré sa dostanú do TransactionEvent, ktorý nabíjanie ukončuje.StopTxnAlignedData
TxCtrlr.EVConnectionTimeOutcelé číslo v sekundáchPočet sekúnd, ktoré má vodič na pripojenie auta po začiatku nabíjania, než sa zruší.ConnectionTimeOut
TxCtrlr.StopTxOnEVSideDisconnectbooleanUkončiť nabíjanie, keď sa kábel odpojí na strane auta.StopTransactionOnEVSideDisconnect
TxCtrlr.StopTxOnInvalidIdbooleanZastaviť prebiehajúce nabíjanie, keď sa ukáže, že jeho ID token nie je prijatý.StopTransactionOnInvalidId
TxCtrlr.MaxEnergyOnInvalidIdintegerEnergia vo Wh, ktorú nabíjacia stanica ešte môže dodať po tom, čo backoffice ID token odmietol.MaxEnergyOnInvalidId
TxCtrlr.TxStartPointzoznamKedy sa nabíjanie začína: pri autorizácii, pri pripojení, keď tečie energia a podobne.Nové v 2.0.1
TxCtrlr.TxStopPointzoznamKedy sa nabíjanie končí, vybrané z toho istého zoznamu.Nové v 2.0.1
AuthCtrlr.AuthorizeRemoteStartbooleanČi nabíjacia stanica pri vzdialenom spustení najprv overí ID token cez Authorize.AuthorizeRemoteTxRequests
AuthCtrlr.LocalAuthorizeOfflinebooleanSpúšťať nabíjania v režime offline pre ID tokeny, ktoré už pozná.LocalAuthorizeOffline
AuthCtrlr.LocalPreAuthorizebooleanSpúšťať pre ID tokeny, ktoré už pozná, bez čakania na backoffice.LocalPreAuthorize
AuthCtrlr.OfflineTxForUnknownIdEnabledbooleanSpúšťať nabíjania v režime offline pre neznáme ID tokeny.AllowOfflineTxForUnknownId
AuthCacheCtrlr.EnabledbooleanPoužívať autorizačnú cache.AuthorizationCacheEnabled
LocalAuthListCtrlr.EnabledbooleanPoužívať lokálny autorizačný zoznam.LocalAuthListEnabled
LocalAuthListCtrlr.ItemsPerMessageInštancia SendLocalListintegerNajviac ID tokenov v jednej správe SendLocalList.SendLocalListMaxLength
SmartChargingCtrlr.ProfileStackLevelintegerNajvyššia úroveň zásobníka (stack level), ktorú môže mať nabíjací profil.ChargeProfileMaxStackLevel
SmartChargingCtrlr.RateUnitzoznamČi môžu byť rozvrhy v ampéroch, vo wattoch alebo v oboch.ChargingScheduleAllowedChargingRateUnit
SmartChargingCtrlr.PeriodsPerScheduleintegerNajviac období v jednom rozvrhu nabíjania.ChargingScheduleMaxPeriods
SmartChargingCtrlr.Phases3to1booleanČi nabíjacia stanica dokáže počas nabíjania prepnúť z troch fáz na jednu.ConnectorSwitch3to1PhaseSupported
ReservationCtrlr.NonEvseSpecificbooleanČi môže byť rezervácia pre nabíjaciu stanicu ako celok namiesto jedného EVSE.ReserveConnectorZeroSupported

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.

ProfilAko nabíjacia stanica preukazuje, kto jeAko backoffice preukazuje, kto jeSpojenie
1. Nezabezpečený prenos so základnou autentifikáciouHTTP Basic autentifikácia s heslomNepreukazujeNešifrované. Iba pre dôveryhodné siete, napríklad VPN medzi nabíjacou stanicou a backofficom.
2. TLS so základnou autentifikáciouHTTP Basic autentifikácia s heslomSvojím TLS certifikátom serveraTLS 1.2 alebo vyšší
3. TLS s certifikátmi na strane klientaVlastným TLS certifikátom klientaSvojím TLS certifikátom serveraTLS 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.6OCPP 2.0.1 a 2.1Čo sa zmenilo
StartTransaction, StopTransactionTransactionEventJedna správa s eventType Started, Updated alebo Ended. ID nabíjania, reťazec, nastavuje nabíjacia stanica.
MeterValuesTransactionEvent, MeterValuesOdpočty počas nabíjania idú v TransactionEvent; MeterValues prenáša odpočty mimo nabíjania.
StatusNotificationStatusNotification, NotifyEventStatusNotification 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ť.
RemoteStartTransactionRequestStartTransactionPrenáša objekt idToken a remoteStartId, ktoré sa vráti v TransactionEvent, ktorý nabíjanie spúšťa.
RemoteStopTransactionRequestStopTransactionZastaví nabíjanie podľa jeho ID, ktoré je teraz reťazec.
ChangeConfigurationSetVariablesNastaví viac premenných device modelu v jednej správe.
GetConfigurationGetVariables, GetBaseReport, GetReportNačíta vybrané premenné alebo žiada report, ktorý príde v správach NotifyReport.
GetDiagnosticsGetLogŽiada diagnostický log alebo bezpečnostný log.
DiagnosticsStatusNotificationLogStatusNotificationHlási priebeh tohto nahrávania.
ResetResetImmediate alebo OnIdle namiesto Hard alebo Soft a dokáže reštartovať jedno EVSE.
ChangeAvailabilityChangeAvailabilityCieli na nabíjaciu stanicu, EVSE alebo konektor cez svoje pole evse.
AuthorizeAuthorizeObjekt idToken s typom namiesto reťazca idTag.
BootNotificationBootNotificationPridá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, FirmwareStatusNotificationRovnaké názvyRovnaké 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.