OCPP 2.0.1 ja 2.1 protokolli teatmik.
Kõik 91 OCPP 2.0.1 ja 2.1 sõnumit koos väljade ja näitega, millised lisas 2.1, seadmemudel, mis asendas versiooni 1.6 konfiguratsioonivõtmed, ja kolm turbeprofiili.
SõnumidSeadmemudelTurbeprofiilidÜleminek versioonilt 1.6Küsimused
Mis on OCPP 2.0.1 ja 2.1?
Need on Open Charge Point Protocoli uuemad versioonid. OCPP on Open Charge Alliance'i avatud standard selle kohta, kuidas laadija suhtleb tarkvaraga, mis seda haldab: spetsifikatsioonis on see CSMS, turul taustasüsteem. Nagu 1.6J puhul, avab laadija taustasüsteemiga WebSocket-ühenduse ja mõlemad pooled saadavad selle kaudu JSON-sõnumeid.
OCPP 2.0.1 ei ole versiooniga 1.6 tagasiühilduv. See kirjeldab laadijat komponentidest ja muutujatest koosneva seadmemudelina, sisaldab kolme turbeprofiili, teatab laadimissessioonist ühes sõnumis, TransactionEvent, ning toetab ISO 15118 standardit Plug and Charge'i ja auto sisendiga nutika laadimise jaoks.
OCPP 2.1 tugineb versioonile 2.0.1. Selle skeemid on 2.0.1 skeemid lisatud valikuliste väljadega ning see lisab 27 sõnumit kahesuunalise laadimise, DER-juhtimise, ise kulu arvutava laadija tariifide, laadija juures maksmise, perioodiliste sündmusvoogude ja akuvahetuse jaoks. Laadija ja selle taustasüsteem lepivad WebSocketi avamisel kokku ühes versioonis.
- Avatud standardTasuta rakendatav, haldab Open Charge Alliance. OCPP 2.1 on avaldatud ka kui IEC 63584-210.
- WebSocket ja JSONÜks ühendus, mida laadija hoiab avatuna. 2.1 lisab SEND-sõnumi, millele vastust ei tule.
- 91 sõnumit64 versioonis 2.0.1 ja veel 27 versioonis 2.1, 19 funktsionaalses plokis.
- Mõlemas suunasLaadija ja taustasüsteem algatavad kumbki oma sõnumeid.
Kõik 91 OCPP 2.0.1 ja 2.1 sõnumit
Iga sõnum on ühe poole päring ja teise poole vastus, mida seob sõnumi ID. Ainus erand on NotifyPeriodicEventStream: versiooni 2.1 SEND-sõnum, millele vastust ei tule.
Turve
Laadija ja taustasüsteemi sertifikaadid ning turbesündmused, millest laadija teatab.
Seadistamine
Käivitumine, taustasüsteemis registreerumine, seadmemudeli lugemine ja seadmine ning lähtestused.
Autoriseerimine
ID-tunnuse kontrollimine enne laadimist, autoriseerimisvahemälu ja versioonis 2.1 ühekordne makse.
Kohalik autoriseerimisloend
ID-tunnuste loend, mille taustasüsteem laadijale salvestab, et see saaks ise autoriseerida.
Laadimissessioonid
Üks sõnum, TransactionEvent, iga laadimissessiooni alguse, uuenduste ja lõpu jaoks.
Kaugjuhtimine
Laadimissessiooni alustamine ja lõpetamine taustasüsteemist, pistiku vabastamine ja sõnumi käivitamine.
Kättesaadavus
Iga pistiku olek, heartbeat ning laadija või EVSE kasutusest kõrvaldamine.
Broneerimine
EVSE broneerimine ID-tunnusele ja selle broneeringu tühistamine.
Tariif ja kulu
Hinnad ja jooksev kulu juhile; versioonis 2.1 ka tariifid laadijal, mis arvutab kulu ise.
Arvestinäidud
Arvestinäidud väljaspool laadimissessiooni; laadimissessiooni ajal liiguvad need TransactionEventis.
Nutikas laadimine
Laadimisprofiilid võimsuse või voolu piirangutega, välised piirangud ja sõiduki vajadused.
Püsivara haldus
Laadija püsivara uuendamine ja selle avaldamine kohaliku kontrolleri kaudu.
Sertifikaatide haldus
Sertifikaatide paigaldamine ja kontrollimine, sealhulgas Plug and Charge'i lepingusertifikaadid.
Diagnostika
Logid, seadmemudeli monitorid, sündmused, kliendiandmed ja versioonis 2.1 perioodilised sündmusvood.
Ekraaniteated
Teated, mille taustasüsteem seab laadijale juhtidele näitamiseks.
Andmeedastus
Tootja andmed funktsioonide jaoks, mida standard ei kata.
Kahesuunaline energiaedastus
Uus versioonis 2.1: laadimise ja tühjendamise (V2X) juhtimine laadimisprofiilide kaudu.
DER-juhtimine
Uus versioonis 2.1: võrgu toetamise seaded laadijale ja autole, mis toimivad hajutatud energiaressursina.
Akuvahetus
Uus versioonis 2.1: akuvahetusjaamad.
Sellele otsingule ei vasta ükski sõnum.
OCPP 2.0.1 seadmemudel
OCPP 1.6-s on laadijal lame konfiguratsioonivõtmete loend. Versioonides 2.0.1 ja 2.1 kirjeldab laadija end komponentidena, näiteks laadimisjaam, EVSE, pistik või kontroller nagu OCPPCommCtrlr, ja igal komponendil on muutujad. Muutujal võib olla neli väärtust: Actual, Target, MinSet ja MaxSet. See, mis varem oli konfiguratsioonivõti, on nüüd kontrollerkomponendi muutuja.
Kuidas sellega töötada
- GetVariables ja SetVariablesLugege või seadke ühes sõnumis mitu muutujat. Laadija vastab iga muutuja kohta eraldi.
- GetBaseReport ja GetReportKüsige kogu seadmemudelit või selle osa. Laadija saadab selle tagasi NotifyReport-sõnumites.
- MonitoridSetVariableMonitoring jälgib muutujat läve, muutuse või kindla intervalli suhtes ja laadija teatab NotifyEventi kaudu.
- Enabled, funktsiooni kaupaValikulise funktsiooni kontrolleril, näiteks AuthCacheCtrlr või ReservationCtrlr, on muutuja Enabled, mis lülitab selle funktsiooni sisse või välja.
Vastused SetVariablesile
- Accepted
- Väärtus on seatud.
- Rejected
- Muutuja on olemas, kuid väärtus lükati tagasi.
- Unknown
Component - Laadijal pole sellist komponenti.
- Unknown
Variable - Komponendil pole sellist muutujat.
- NotSupported
AttributeType - Muutujal pole seda tüüpi väärtust, näiteks puudub Target.
- RebootRequired
- Väärtus on salvestatud ja hakkab kehtima pärast taaskäivitust.
Muutujad, mis asendasid tuntuimad 1.6 võtmed
Spetsifikatsioon standardiseerib neid palju rohkem, need on loetletud selle lisades. Laadija teatab olemasolevad GetBaseReporti vastuses.
| Komponent ja muutuja | Tüüp | Mida see määrab | OCPP 1.6-s |
|---|---|---|---|
| OCPPCommCtrlr | integer sekundites | Sekundid ilma muude sõnumiteta, mille järel laadija saadab Heartbeati. | Heartbeat |
| OCPPCommCtrlr | integer | Kui mitu korda laadija proovib edastada TransactionEventi, mida taustasüsteem ei suutnud töödelda. | Transaction |
| OCPPCommCtrlr | integer | Sekundid, mida laadija enne uut katset ootab. | Transaction |
| OCPPCommCtrlr | integer sekundites | Sekundid WebSocketi pingide vahel; 0 lülitab laadija enda pingid välja. | Web |
| OCPPCommCtrlr | integer | Kui mitu korda laadija ebaõnnestunud lähtestust uuesti proovib. | Reset |
| OCPPCommCtrlr | boolean | Vabastage kaabel laadija juures, kui see auto poolelt lahti ühendatakse. | Unlock |
| SampledDataCtrlr | loend | Mida laadija laadimissessiooni ajal mõõdab, saadetakse TransactionEventis, mille eventType on Updated. | Meter |
| SampledDataCtrlr | integer sekundites | Sekundid nende näitude vahel; 0 ei saada laadimissessiooni ajal ühtegi. | Meter |
| SampledDataCtrlr | loend | Mis läheb TransactionEventi, mis laadimissessiooni lõpetab. | Stop |
| AlignedDataCtrlr | integer sekundites | Sekundid kellaajaga joondatud näitude vahel. | Clock |
| AlignedDataCtrlr | loend | Mida kellaajaga joondatud näidud sisaldavad. | Meter |
| AlignedDataCtrlr | loend | Kellaajaga joondatud näidud, mis lähevad laadimissessiooni lõpetavasse TransactionEventi. | Stop |
| TxCtrlr | integer sekundites | Sekundid, mis juhil on pärast laadimissessiooni algust kaabli ühendamiseks, enne kui laadimissessioon tühistatakse. | Connection |
| TxCtrlr | boolean | Lõpetage laadimissessioon, kui kaabel auto poolelt lahti ühendatakse. | Stop |
| TxCtrlr | boolean | Lõpetage käimasolev laadimissessioon, kui selgub, et selle ID-tunnust ei aktsepteerita. | Stop |
| TxCtrlr | integer | Energia Wh-des, mida laadija võib veel anda pärast seda, kui taustasüsteem ID-tunnuse tagasi lükkas. | Max |
| TxCtrlr | loend | Millal laadimissessioon algab: autoriseerimisel, kaabli ühendamisel, kui energia liigub jne. | Uus versioonis 2.0.1 |
| TxCtrlr | loend | Millal laadimissessioon lõpeb, valitakse samast loendist. | Uus versioonis 2.0.1 |
| AuthCtrlr | boolean | Kas laadija kontrollib kaugkäivituse ID-tunnust esmalt Authorize-päringuga. | Authorize |
| AuthCtrlr | boolean | Alustage võrguühenduseta olles laadimissessioone ID-tunnustega, mida laadija juba tunneb. | Local |
| AuthCtrlr | boolean | Alustage juba tuntud ID-tunnuste jaoks taustasüsteemi ootamata. | Local |
| AuthCtrlr | boolean | Alustage võrguühenduseta olles laadimissessioone tundmatute ID-tunnustega. | Allow |
| AuthCacheCtrlr | boolean | Kasutage autoriseerimisvahemälu. | Authorization |
| LocalAuthListCtrlr | boolean | Kasutage kohalikku autoriseerimisloendit. | Local |
| LocalAuthListCtrlr | integer | Kõige rohkem ID-tunnuseid ühes SendLocalList-sõnumis. | Send |
| SmartChargingCtrlr | integer | Kõrgeim virnatase (stack level), mis laadimisprofiilil olla võib. | Charge |
| SmartChargingCtrlr | loend | Kas ajakavad võivad olla amprites, vattides või mõlemas. | Charging |
| SmartChargingCtrlr | integer | Kõige rohkem perioode ühes laadimisajakavas. | Charging |
| SmartChargingCtrlr | boolean | Kas laadija saab laadimissessiooni ajal lülituda kolmelt faasilt ühele. | Connector |
| ReservationCtrlr | boolean | Kas broneering võib olla kogu laadijale, mitte ühele EVSE-le. | Reserve |
Sellele otsingule ei vasta ükski muutuja.
OCPP 2.0.1 ja 2.1 turbeprofiilid
Mõlemad versioonid määratlevad kolm turbeprofiili. Laadija ja selle taustasüsteem kasutavad korraga ühte ning see seatakse enne esimest OCPP-sõnumit. Taustasüsteem seab selle iga ühenduspesa kohta SetNetworkProfile'iga ja laadija teatab kasutusel oleva väärtuses SecurityCtrlr.SecurityProfile.
| Profiil | Kuidas laadija oma identiteeti tõendab | Kuidas taustasüsteem oma identiteeti tõendab | Ühendus |
|---|---|---|---|
| 1. Turvamata transport põhiautentimisega | HTTP Basic autentimine parooliga | Ei tõenda | Krüpteerimata. Ainult usaldusväärsetes võrkudes, näiteks VPN laadija ja taustasüsteemi vahel. |
| 2. TLS põhiautentimisega | HTTP Basic autentimine parooliga | Oma TLS-serverisertifikaadiga | TLS 1.2 või uuem |
| 3. TLS kliendipoolsete sertifikaatidega | Oma TLS-kliendisertifikaadiga | Oma TLS-serverisertifikaadiga | TLS 1.2 või uuem |
- Madalamale profiilile minekLaadija võib minna ainult profiililt 3 profiilile 2 ja ainult siis, kui AllowSecurityProfileDowngrade on true. OCPP kaudu ei lähe see kunagi profiilile 1.
- Paroolid ja sertifikaadidParool on SecurityCtrlr.BasicAuthPassword. Laadija küsib uut sertifikaati SignCertificate'iga ja taustasüsteem toimetab selle CertificateSignediga.
- TurbesündmusedLaadija teatab SecurityEventNotificationiga, mis juhtus, näiteks lähtestusest, püsivara uuendusest või mandaatidest, mille taustasüsteem tagasi lükkas.
OCPP 1.6-lt 2.0.1-le sõnumi kaupa
OCPP 2.0.1 säilitas paljud 1.6 sõnumite nimed ning nimetas teised ümber või ühendas need. Link avab sõnumi selles teatmikus või 1.6J teatmikus.
| OCPP 1.6 | OCPP 2.0.1 ja 2.1 | Mis muutus |
|---|---|---|
| StartTransaction, StopTransaction | TransactionEvent | Üks sõnum, mille eventType on Started, Updated või Ended. Laadimissessiooni ID määrab laadija ja see on string. |
| MeterValues | TransactionEvent, MeterValues | Näidud laadimissessiooni ajal lähevad TransactionEventi; MeterValues sisaldab näite väljaspool laadimissessiooni. |
| StatusNotification | StatusNotification, NotifyEvent | StatusNotification teatab ainult pistiku oleku, koos evseId ja connectorId väärtustega. Veakoodid lähevad NotifyEventi ja 2.1 eelistab NotifyEventi ka kättesaadavuse jaoks. |
| RemoteStartTransaction | RequestStartTransaction | Sisaldab idToken-objekti ja remoteStartId väärtust, mis tuleb tagasi laadimissessiooni alustavas TransactionEventis. |
| RemoteStopTransaction | RequestStopTransaction | Lõpetab laadimissessiooni selle ID järgi, mis on nüüd string. |
| ChangeConfiguration | SetVariables | Seab ühes sõnumis mitu seadmemudeli muutujat. |
| GetConfiguration | GetVariables, GetBaseReport, GetReport | Loeb valitud muutujaid või küsib aruannet, mis saabub NotifyReport-sõnumites. |
| GetDiagnostics | GetLog | Küsib diagnostika- või turvalogi. |
| DiagnosticsStatusNotification | LogStatusNotification | Teatab selle üleslaadimise edenemise. |
| Reset | Reset | Hard või Soft asemel Immediate või OnIdle ning see saab lähtestada ühe EVSE. |
| ChangeAvailability | ChangeAvailability | Sihib evse-välja kaudu laadijat, EVSE-d või pistikut. |
| Authorize | Authorize | idTag-stringi asemel tüübiga idToken-objekt. |
| BootNotification | BootNotification | Lisab käivitumise põhjuse; laadija andmed on chargingStation-objektis. |
| Heartbeat, UnlockConnector, ClearCache, DataTransfer, ReserveNow, CancelReservation, SendLocalList, GetLocalListVersion, SetChargingProfile, ClearChargingProfile, GetCompositeSchedule, TriggerMessage, UpdateFirmware, FirmwareStatusNotification | Samad nimed | Samad sõnumid, väljadega EVSE-de ja uuemate andmetüüpide jaoks. |
Küsimused OCPP 2.0.1 ja 2.1 kohta
Open Charge Point Protocoli versioon 2.0.1, mille Open Charge Alliance avaldas 2020. aastal. See asendas OCPP 2.0 ja lisab võrreldes versiooniga 1.6 seadmemudeli, turbeprofiilid, ISO 15118 toe ja TransactionEventi. See ei ole versiooniga 1.6 tagasiühilduv.
OCPP 2.1 avaldati 2025. aasta jaanuaris ja see on ka standard IEC 63584-210. See lisab 27 sõnumit ega eemalda ühtegi: kahesuunaline laadimine (V2X) ja DER-juhtimine, ISO 15118-20, tariifid laadijal, mis arvutab kulu ise, maksmine laadija juures kaarditerminali või QR-koodiga, prioriteetne laadimine, dünaamilised laadimisprofiilid, perioodilised sündmusvood ja akuvahetus. Nende nägemiseks valige sõnumite kohal Uus versioonis 2.1.
2.1 skeemid on 2.0.1 skeemid lisatud valikuliste väljadega ja Open Charge Alliance'i sõnul töötab 2.0.1 jaoks kirjutatud loogika edasi kahe väikese muudatusega: SignCertificate võib sisaldada requestId väärtust, mida CertificateSigned seejärel kordab, ja NotifyMonitoringReportil on üks uus kohustuslik väli. Versioon lepitakse endiselt kokku iga ühenduse kohta: WebSocketi kättlemisel pakub laadija näiteks ocpp2.1, ocpp2.0.1 ja ocpp1.6 ning taustasüsteem valib ühe.
2.0.1-l on oma sõnumite komplekt: konfiguratsioonivõtmete asemel seadmemudel, turbeprofiilid, StartTransactioni ja StopTransactioni asemel TransactionEvent, EVSE kui tase laadija ja selle pistikute vahel ning sõnumid ISO 15118 jaoks. Laadija ja selle taustasüsteem lepivad ühenduse avamisel kokku ühes versioonis. Ülaltoodud tabel paneb sõnumid paari ja OCPP 1.6J teatmikus on kõik 1.6 sõnumid.
Pärast OCPP 2.0 ilmumist tuli välja probleeme, mida sai parandada ainult sõnumiskeeme muutes, ja 2.0 rakendus ei saanud seda järgida. Open Charge Alliance andis parandatud versioonile oma numbri, 2.0.1, ja soovitab rakendada ainult 2.0.1. Spetsifikatsioonis tähendab OCPP 2.0 versiooni 2.0.1, kui pole öeldud teisiti.
Open Charge Alliance avaldab mõlemad tasuta oma veebilehel koos iga sõnumi JSON-skeemi ja paranduste lehega. See teatmik järgib JSON-skeeme ja spetsifikatsiooni 2. osa. Kui need erinevad, on õigus spetsifikatsioonil ja selle parandustel.
Vaadake laadijate andmebaasist: seal on 102 laadijal märgitud OCPP 2.0.1 ja 4 laadijal 2.1. Tavaliselt ütleb seda ka andmeleht. Mitut versiooni toetav laadija pakub ühendudes need kõik välja ja taustasüsteem valib ühe.
OCPP 1.6J Plugchoice'is
Plugchoice ühendab täna OCPP 1.6J laadijaid, sõltuvalt mudelist, püsivarast ja konfiguratsioonist.