Liigu sisu juurde

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.

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.
UnknownComponent
Laadijal pole sellist komponenti.
UnknownVariable
Komponendil pole sellist muutujat.
NotSupportedAttributeType
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 muutujaTüüpMida see määrabOCPP 1.6-s
OCPPCommCtrlr.HeartbeatIntervalinteger sekunditesSekundid ilma muude sõnumiteta, mille järel laadija saadab Heartbeati.HeartbeatInterval
OCPPCommCtrlr.MessageAttemptsInstance TransactionEventintegerKui mitu korda laadija proovib edastada TransactionEventi, mida taustasüsteem ei suutnud töödelda.TransactionMessageAttempts
OCPPCommCtrlr.MessageAttemptIntervalInstance TransactionEventintegerSekundid, mida laadija enne uut katset ootab.TransactionMessageRetryInterval
OCPPCommCtrlr.WebSocketPingIntervalinteger sekunditesSekundid WebSocketi pingide vahel; 0 lülitab laadija enda pingid välja.WebSocketPingInterval
OCPPCommCtrlr.ResetRetriesintegerKui mitu korda laadija ebaõnnestunud lähtestust uuesti proovib.ResetRetries
OCPPCommCtrlr.UnlockOnEVSideDisconnectbooleanVabastage kaabel laadija juures, kui see auto poolelt lahti ühendatakse.UnlockConnectorOnEVSideDisconnect
SampledDataCtrlr.TxUpdatedMeasurandsloendMida laadija laadimissessiooni ajal mõõdab, saadetakse TransactionEventis, mille eventType on Updated.MeterValuesSampledData
SampledDataCtrlr.TxUpdatedIntervalinteger sekunditesSekundid nende näitude vahel; 0 ei saada laadimissessiooni ajal ühtegi.MeterValueSampleInterval
SampledDataCtrlr.TxEndedMeasurandsloendMis läheb TransactionEventi, mis laadimissessiooni lõpetab.StopTxnSampledData
AlignedDataCtrlr.Intervalinteger sekunditesSekundid kellaajaga joondatud näitude vahel.ClockAlignedDataInterval
AlignedDataCtrlr.MeasurandsloendMida kellaajaga joondatud näidud sisaldavad.MeterValuesAlignedData
AlignedDataCtrlr.TxEndedMeasurandsloendKellaajaga joondatud näidud, mis lähevad laadimissessiooni lõpetavasse TransactionEventi.StopTxnAlignedData
TxCtrlr.EVConnectionTimeOutinteger sekunditesSekundid, mis juhil on pärast laadimissessiooni algust kaabli ühendamiseks, enne kui laadimissessioon tühistatakse.ConnectionTimeOut
TxCtrlr.StopTxOnEVSideDisconnectbooleanLõpetage laadimissessioon, kui kaabel auto poolelt lahti ühendatakse.StopTransactionOnEVSideDisconnect
TxCtrlr.StopTxOnInvalidIdbooleanLõpetage käimasolev laadimissessioon, kui selgub, et selle ID-tunnust ei aktsepteerita.StopTransactionOnInvalidId
TxCtrlr.MaxEnergyOnInvalidIdintegerEnergia Wh-des, mida laadija võib veel anda pärast seda, kui taustasüsteem ID-tunnuse tagasi lükkas.MaxEnergyOnInvalidId
TxCtrlr.TxStartPointloendMillal laadimissessioon algab: autoriseerimisel, kaabli ühendamisel, kui energia liigub jne.Uus versioonis 2.0.1
TxCtrlr.TxStopPointloendMillal laadimissessioon lõpeb, valitakse samast loendist.Uus versioonis 2.0.1
AuthCtrlr.AuthorizeRemoteStartbooleanKas laadija kontrollib kaugkäivituse ID-tunnust esmalt Authorize-päringuga.AuthorizeRemoteTxRequests
AuthCtrlr.LocalAuthorizeOfflinebooleanAlustage võrguühenduseta olles laadimissessioone ID-tunnustega, mida laadija juba tunneb.LocalAuthorizeOffline
AuthCtrlr.LocalPreAuthorizebooleanAlustage juba tuntud ID-tunnuste jaoks taustasüsteemi ootamata.LocalPreAuthorize
AuthCtrlr.OfflineTxForUnknownIdEnabledbooleanAlustage võrguühenduseta olles laadimissessioone tundmatute ID-tunnustega.AllowOfflineTxForUnknownId
AuthCacheCtrlr.EnabledbooleanKasutage autoriseerimisvahemälu.AuthorizationCacheEnabled
LocalAuthListCtrlr.EnabledbooleanKasutage kohalikku autoriseerimisloendit.LocalAuthListEnabled
LocalAuthListCtrlr.ItemsPerMessageInstance SendLocalListintegerKõige rohkem ID-tunnuseid ühes SendLocalList-sõnumis.SendLocalListMaxLength
SmartChargingCtrlr.ProfileStackLevelintegerKõrgeim virnatase (stack level), mis laadimisprofiilil olla võib.ChargeProfileMaxStackLevel
SmartChargingCtrlr.RateUnitloendKas ajakavad võivad olla amprites, vattides või mõlemas.ChargingScheduleAllowedChargingRateUnit
SmartChargingCtrlr.PeriodsPerScheduleintegerKõige rohkem perioode ühes laadimisajakavas.ChargingScheduleMaxPeriods
SmartChargingCtrlr.Phases3to1booleanKas laadija saab laadimissessiooni ajal lülituda kolmelt faasilt ühele.ConnectorSwitch3to1PhaseSupported
ReservationCtrlr.NonEvseSpecificbooleanKas broneering võib olla kogu laadijale, mitte ühele EVSE-le.ReserveConnectorZeroSupported

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.

ProfiilKuidas laadija oma identiteeti tõendabKuidas taustasüsteem oma identiteeti tõendabÜhendus
1. Turvamata transport põhiautentimisegaHTTP Basic autentimine parooligaEi tõendaKrüpteerimata. Ainult usaldusväärsetes võrkudes, näiteks VPN laadija ja taustasüsteemi vahel.
2. TLS põhiautentimisegaHTTP Basic autentimine parooligaOma TLS-serverisertifikaadigaTLS 1.2 või uuem
3. TLS kliendipoolsete sertifikaatidegaOma TLS-kliendisertifikaadigaOma TLS-serverisertifikaadigaTLS 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.6OCPP 2.0.1 ja 2.1Mis muutus
StartTransaction, StopTransactionTransactionEventÜks sõnum, mille eventType on Started, Updated või Ended. Laadimissessiooni ID määrab laadija ja see on string.
MeterValuesTransactionEvent, MeterValuesNäidud laadimissessiooni ajal lähevad TransactionEventi; MeterValues sisaldab näite väljaspool laadimissessiooni.
StatusNotificationStatusNotification, NotifyEventStatusNotification teatab ainult pistiku oleku, koos evseId ja connectorId väärtustega. Veakoodid lähevad NotifyEventi ja 2.1 eelistab NotifyEventi ka kättesaadavuse jaoks.
RemoteStartTransactionRequestStartTransactionSisaldab idToken-objekti ja remoteStartId väärtust, mis tuleb tagasi laadimissessiooni alustavas TransactionEventis.
RemoteStopTransactionRequestStopTransactionLõpetab laadimissessiooni selle ID järgi, mis on nüüd string.
ChangeConfigurationSetVariablesSeab ühes sõnumis mitu seadmemudeli muutujat.
GetConfigurationGetVariables, GetBaseReport, GetReportLoeb valitud muutujaid või küsib aruannet, mis saabub NotifyReport-sõnumites.
GetDiagnosticsGetLogKüsib diagnostika- või turvalogi.
DiagnosticsStatusNotificationLogStatusNotificationTeatab selle üleslaadimise edenemise.
ResetResetHard või Soft asemel Immediate või OnIdle ning see saab lähtestada ühe EVSE.
ChangeAvailabilityChangeAvailabilitySihib evse-välja kaudu laadijat, EVSE-d või pistikut.
AuthorizeAuthorizeidTag-stringi asemel tüübiga idToken-objekt.
BootNotificationBootNotificationLisab käivitumise põhjuse; laadija andmed on chargingStation-objektis.
Heartbeat, UnlockConnector, ClearCache, DataTransfer, ReserveNow, CancelReservation, SendLocalList, GetLocalListVersion, SetChargingProfile, ClearChargingProfile, GetCompositeSchedule, TriggerMessage, UpdateFirmware, FirmwareStatusNotificationSamad nimedSamad 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.