Siirry sisältöön

OCPP 2.0.1:n ja 2.1:n protokollaviite.

OCPP 2.0.1:n ja 2.1:n kaikki 91 viestiä kenttineen ja esimerkkeineen, mitkä niistä 2.1 lisäsi, 1.6:n määritysavaimet korvannut laitemalli sekä kolme tietoturvaprofiilia.

ViestitLaitemalliTietoturvaprofiilitSiirtymä 1.6:staKysymykset

Mitä ovat OCPP 2.0.1 ja 2.1?

Ne ovat Open Charge Point Protocolin uudemmat versiot. Protokolla on Open Charge Alliancen avoin standardi sille, miten latausasema keskustelee sitä hallitsevan ohjelmiston kanssa: spesifikaatiossa se on CSMS, markkinoilla taustajärjestelmä. Kuten versiossa 1.6J, latausasema avaa WebSocket-yhteyden taustajärjestelmään, ja molemmat osapuolet lähettävät sen kautta JSON-viestejä.

OCPP 2.0.1 ei ole taaksepäin yhteensopiva version 1.6 kanssa. Se kuvaa latausaseman komponenteista ja muuttujista koostuvana laitemallina, määrittelee kolme tietoturvaprofiilia, raportoi lataustapahtuman yhdellä viestillä, TransactionEventillä, ja tukee ISO 15118:aa Plug and Chargea ja auton tietoja hyödyntävää älylatausta varten.

OCPP 2.1 rakentuu version 2.0.1 päälle. Sen skeemat ovat 2.0.1:n skeemoja, joihin on lisätty valinnaisia kenttiä, ja se lisää 27 viestiä kaksisuuntaiseen lataukseen, DER-ohjaukseen, tariffeihin latausasemassa, joka laskee hinnan itse, maksamiseen latausasemalla, jaksottaisiin tapahtumavirtoihin ja akunvaihtoon. Latausasema ja sen taustajärjestelmä sopivat yhdestä versiosta, kun WebSocket-yhteys avataan.

  • Avoin standardiVapaasti toteutettavissa, Open Charge Alliancen ylläpitämä. OCPP 2.1 on julkaistu myös standardina IEC 63584-210.
  • WebSocket ja JSONYksi yhteys, jota latausasema pitää auki. 2.1 lisää SEND-viestin, johon ei vastata.
  • 91 viestiä64 versiossa 2.0.1 ja 27 lisää versiossa 2.1, 19 toiminnallisessa lohkossa.
  • Molempiin suuntiinLatausasema ja taustajärjestelmä aloittavat kumpikin omat viestinsä.

Kaikki 91 OCPP 2.0.1:n ja 2.1:n viestiä

Jokainen viesti on yhden osapuolen pyyntö ja toisen vastaus, jotka yhdistetään toisiinsa viestitunnuksella. NotifyPeriodicEventStream on ainoa poikkeus: se on 2.1:n SEND-viesti, johon ei vastata.

Tietoturva

Latausaseman ja taustajärjestelmän varmenteet sekä latausaseman raportoimat tietoturvatapahtumat.

Käyttöönotto

Käynnistys, rekisteröityminen taustajärjestelmään, laitemallin lukeminen ja asettaminen sekä uudelleenkäynnistykset.

Valtuutus

ID-tunnisteen tarkistus ennen latausta, valtuutusvälimuisti ja versiossa 2.1 kertamaksu.

Paikallinen valtuutuslista

Lista ID-tunnisteista, jotka taustajärjestelmä tallentaa latausasemalle, jotta latausasema voi valtuuttaa itse.

Lataustapahtumat

Yksi viesti, TransactionEvent, jokaisen lataustapahtuman alulle, päivityksille ja lopulle.

Etäohjaus

Lataustapahtuman käynnistys ja pysäytys taustajärjestelmästä, latauspisteen lukituksen vapautus ja viestin pyytäminen.

Käytettävyys

Jokaisen latauspisteen tila, heartbeat sekä latausaseman tai EVSE:n ottaminen pois käytöstä.

Varaus

EVSE:n varaaminen ID-tunnisteelle ja varauksen peruminen.

Tariffi ja hinta

Hinnat ja kertyvä hinta kuljettajalle; versiossa 2.1 myös tariffit latausasemassa, joka laskee hinnan itse.

Mittariarvot

Mittarilukemat lataustapahtuman ulkopuolella; lataustapahtuman aikana ne kulkevat TransactionEvent-viestissä.

Älylataus

Latausprofiilit teho- tai virtarajoineen, ulkopuolelta asetetut rajat ja ajoneuvon tarpeet.

Laiteohjelmiston hallinta

Latausaseman laiteohjelmiston päivitys ja sen jakelu paikallisen ohjaimen kautta.

Varmenteiden hallinta

Varmenteiden asennus ja tarkistus, myös Plug and Chargen sopimusvarmenteet.

Diagnostiikka

Lokit, laitemallin valvonnat, tapahtumat, asiakastiedot ja versiossa 2.1 jaksottaiset tapahtumavirrat.

Näyttöviestit

Viestit, jotka taustajärjestelmä asettaa latausaseman näytettäviksi kuljettajille.

Tiedonsiirto

Valmistajan tiedot toimintoihin, joita standardi ei kata.

Kaksisuuntainen tehonsiirto

Uutta versiossa 2.1: latauksen ja purun (V2X) ohjaus latausprofiilien avulla.

DER-ohjaus

Uutta versiossa 2.1: verkon tukiasetukset latausasemalle ja autolle, jotka toimivat hajautettuna energiaresurssina (DER).

Akunvaihto

Uutta versiossa 2.1: akunvaihtoasemat.

OCPP 2.0.1:n laitemalli

OCPP 1.6:ssa latausasemalla on litteä lista määritysavaimia. Versioissa 2.0.1 ja 2.1 se kuvaa itsensä komponentteina, joita ovat esimerkiksi latausasema, EVSE, latauspiste tai OCPPCommCtrlr-ohjaimen kaltainen ohjain, ja jokaisella komponentilla on muuttujia. Muuttujalla voi olla neljä arvoa: Actual, Target, MinSet ja MaxSet. Entisestä määritysavaimesta on tullut ohjainkomponentin muuttuja.

Miten sitä käytetään

  • GetVariables ja SetVariablesLue tai aseta useita muuttujia yhdellä viestillä. Latausasema vastaa jokaisesta muuttujasta erikseen.
  • GetBaseReport ja GetReportPyydä koko laitemalli tai osa siitä. Latausasema lähettää sen NotifyReport-viesteissä.
  • ValvonnatSetVariableMonitoring valvoo muuttujaa raja-arvon, muutoksen tai kiinteän välin perusteella, ja latausasema raportoi NotifyEvent-viestillä.
  • Enabled toiminnoittainValinnaisen toiminnon ohjaimella, kuten AuthCacheCtrlr tai ReservationCtrlr, on Enabled-muuttuja, joka kytkee toiminnon päälle tai pois.

SetVariables-vastaukset

Accepted
Arvo on asetettu.
Rejected
Muuttuja on olemassa, mutta arvo hylättiin.
UnknownComponent
Latausasemalla ei ole tällaista komponenttia.
UnknownVariable
Komponentilla ei ole tällaista muuttujaa.
NotSupportedAttributeType
Muuttujalla ei ole sen tyyppistä arvoa, esimerkiksi Target-arvoa.
RebootRequired
Arvo on tallennettu, ja se tulee voimaan uudelleenkäynnistyksen jälkeen.

Muuttujat, jotka korvasivat tunnetuimmat 1.6:n avaimet

Spesifikaatio standardoi paljon muitakin, ja ne on lueteltu sen liitteissä. Latausasema raportoi omansa vastauksena GetBaseReport-viestiin.

Komponentti ja muuttujaTyyppiMitä se asettaaOCPP 1.6:ssa
OCPPCommCtrlr.HeartbeatIntervalinteger, sekunteinaSekunnit ilman muita viestejä, joiden jälkeen latausasema lähettää Heartbeat-viestin.HeartbeatInterval
OCPPCommCtrlr.MessageAttemptsInstanssi TransactionEventintegerKuinka monta kertaa latausasema yrittää toimittaa TransactionEvent-viestin, jota taustajärjestelmä ei pystynyt käsittelemään.TransactionMessageAttempts
OCPPCommCtrlr.MessageAttemptIntervalInstanssi TransactionEventintegerSekunnit, jotka latausasema odottaa ennen uutta yritystä.TransactionMessageRetryInterval
OCPPCommCtrlr.WebSocketPingIntervalinteger, sekunteinaSekunnit WebSocket-pingien välillä; 0 kytkee latausaseman omat pingit pois.WebSocketPingInterval
OCPPCommCtrlr.ResetRetriesintegerKuinka monta uusintayritystä latausasema tekee, kun uudelleenkäynnistys epäonnistuu.ResetRetries
OCPPCommCtrlr.UnlockOnEVSideDisconnectbooleanVapauta kaapelin lukitus latausasemalla, kun kaapeli irrotetaan autosta.UnlockConnectorOnEVSideDisconnect
SampledDataCtrlr.TxUpdatedMeasurandslistMitä latausasema mittaa lataustapahtuman aikana; lähetetään TransactionEvent-viestissä, jonka eventType on Updated.MeterValuesSampledData
SampledDataCtrlr.TxUpdatedIntervalinteger, sekunteinaSekunnit näiden lukemien välillä; arvolla 0 niitä ei lähetetä lataustapahtuman aikana.MeterValueSampleInterval
SampledDataCtrlr.TxEndedMeasurandslistMitä lataustapahtuman päättävään TransactionEvent-viestiin tulee.StopTxnSampledData
AlignedDataCtrlr.Intervalinteger, sekunteinaSekunnit kelloon tahdistettujen lukemien välillä.ClockAlignedDataInterval
AlignedDataCtrlr.MeasurandslistMitä kelloon tahdistetut lukemat sisältävät.MeterValuesAlignedData
AlignedDataCtrlr.TxEndedMeasurandslistKelloon tahdistetut lukemat, jotka tulevat lataustapahtuman päättävään TransactionEvent-viestiin.StopTxnAlignedData
TxCtrlr.EVConnectionTimeOutinteger, sekunteinaSekunnit, jotka kuljettajalla on aikaa kytkeä auto lataustapahtuman alettua, ennen kuin lataustapahtuma perutaan.ConnectionTimeOut
TxCtrlr.StopTxOnEVSideDisconnectbooleanPäätä lataustapahtuma, kun kaapeli irrotetaan autosta.StopTransactionOnEVSideDisconnect
TxCtrlr.StopTxOnInvalidIdbooleanPysäytä käynnissä oleva lataustapahtuma, kun sen ID-tunnistetta ei hyväksytä.StopTransactionOnInvalidId
TxCtrlr.MaxEnergyOnInvalidIdintegerEnergia wattitunteina, jonka latausasema saa vielä toimittaa sen jälkeen, kun taustajärjestelmä hylkäsi ID-tunnisteen.MaxEnergyOnInvalidId
TxCtrlr.TxStartPointlistMilloin lataustapahtuma alkaa: valtuutuksesta, kytkennästä, energian alkaessa virrata ja niin edelleen.Uusi 2.0.1:ssä
TxCtrlr.TxStopPointlistMilloin lataustapahtuma päättyy, valittuna samasta listasta.Uusi 2.0.1:ssä
AuthCtrlr.AuthorizeRemoteStartbooleanTarkistaako latausasema etäkäynnistyksen ID-tunnisteen ensin Authorize-viestillä.AuthorizeRemoteTxRequests
AuthCtrlr.LocalAuthorizeOfflinebooleanAloita lataustapahtumat jo tunnetuille ID-tunnisteille offline-tilassa.LocalAuthorizeOffline
AuthCtrlr.LocalPreAuthorizebooleanAloita jo tunnetuille ID-tunnisteille odottamatta taustajärjestelmää.LocalPreAuthorize
AuthCtrlr.OfflineTxForUnknownIdEnabledbooleanAloita lataustapahtumat tuntemattomille ID-tunnisteille offline-tilassa.AllowOfflineTxForUnknownId
AuthCacheCtrlr.EnabledbooleanKäytä valtuutusvälimuistia.AuthorizationCacheEnabled
LocalAuthListCtrlr.EnabledbooleanKäytä paikallista valtuutuslistaa.LocalAuthListEnabled
LocalAuthListCtrlr.ItemsPerMessageInstanssi SendLocalListintegerID-tunnisteiden enimmäismäärä yhdessä SendLocalList-viestissä.SendLocalListMaxLength
SmartChargingCtrlr.ProfileStackLevelintegerKorkein pinotaso, joka latausprofiililla voi olla.ChargeProfileMaxStackLevel
SmartChargingCtrlr.RateUnitlistVoivatko aikataulut olla ampeereina, watteina vai molempina.ChargingScheduleAllowedChargingRateUnit
SmartChargingCtrlr.PeriodsPerScheduleintegerJaksojen enimmäismäärä yhdessä latausaikataulussa.ChargingScheduleMaxPeriods
SmartChargingCtrlr.Phases3to1booleanVoiko latausasema vaihtaa kolmesta vaiheesta yhteen lataustapahtuman aikana.ConnectorSwitch3to1PhaseSupported
ReservationCtrlr.NonEvseSpecificbooleanVoiko varaus koskea koko latausasemaa yhden EVSE:n sijaan.ReserveConnectorZeroSupported

OCPP 2.0.1:n ja 2.1:n tietoturvaprofiilit

Molemmat versiot määrittelevät kolme tietoturvaprofiilia. Latausasema ja sen taustajärjestelmä käyttävät yhtä kerrallaan, ja se asetetaan ennen ensimmäistä OCPP-viestiä. Taustajärjestelmä asettaa sen yhteyspaikkakohtaisesti SetNetworkProfile-viestillä, ja latausasema raportoi käytössä olevan profiilin muuttujassa SecurityCtrlr.SecurityProfile.

ProfiiliMiten latausasema todistaa identiteettinsäMiten taustajärjestelmä todistaa identiteettinsäYhteys
1. Suojaamaton siirto ja Basic-todennusHTTP Basic -todennus salasanallaEi todistaEi salattu. Vain luotettuihin verkkoihin, kuten latausaseman ja taustajärjestelmän väliseen VPN:ään.
2. TLS ja Basic-todennusHTTP Basic -todennus salasanallaSen TLS-palvelinvarmenneTLS 1.2 tai uudempi
3. TLS ja asiakasvarmenteetSen oma TLS-asiakasvarmenneSen TLS-palvelinvarmenneTLS 1.2 tai uudempi
  • Siirtyminen alemmalle tasolleLatausasema voi siirtyä vain profiilista 3 profiiliin 2, ja vain kun AllowSecurityProfileDowngrade on true. Profiiliin 1 se ei koskaan siirry OCPP:n kautta.
  • Salasanat ja varmenteetSalasana on SecurityCtrlr.BasicAuthPassword. Latausasema pyytää uutta varmennetta SignCertificate-viestillä, ja taustajärjestelmä toimittaa sen CertificateSigned-viestillä.
  • TietoturvatapahtumatLatausasema raportoi tapahtuneen, kuten uudelleenkäynnistyksen, laiteohjelmistopäivityksen tai taustajärjestelmän hylkäämät tunnistetiedot, SecurityEventNotification-viestillä.

OCPP 1.6:sta 2.0.1:een viesti viestiltä

OCPP 2.0.1 säilytti monet 1.6:n viestien nimet ja nimesi uudelleen tai yhdisti muita. Linkki avaa viestin tässä viitteessä tai 1.6J-viitteessä.

OCPP 1.6OCPP 2.0.1 ja 2.1Mitä muuttui
StartTransaction, StopTransactionTransactionEventYksi viesti, jonka eventType on Started, Updated tai Ended. Latausasema asettaa lataustapahtuman ID:n, joka on merkkijono.
MeterValuesTransactionEvent, MeterValuesLataustapahtuman aikaiset lukemat kulkevat TransactionEvent-viestissä; MeterValues välittää lukemat lataustapahtuman ulkopuolella.
StatusNotificationStatusNotification, NotifyEventStatusNotification raportoi vain latauspisteen tilan evseId- ja connectorId-kenttineen. Virhekoodit kulkevat NotifyEvent-viestissä, ja 2.1 suosii NotifyEventiä myös käytettävyyden raportointiin.
RemoteStartTransactionRequestStartTransactionSisältää idToken-olion ja remoteStartId:n, joka palaa lataustapahtuman aloittavassa TransactionEvent-viestissä.
RemoteStopTransactionRequestStopTransactionPysäyttää lataustapahtuman sen ID:n perusteella, joka on nyt merkkijono.
ChangeConfigurationSetVariablesAsettaa useita laitemallin muuttujia yhdellä viestillä.
GetConfigurationGetVariables, GetBaseReport, GetReportLukee valitut muuttujat tai pyytää raportin, joka saapuu NotifyReport-viesteissä.
GetDiagnosticsGetLogPyytää diagnostiikka- tai tietoturvalokin.
DiagnosticsStatusNotificationLogStatusNotificationRaportoi lähetyksen etenemisen.
ResetResetImmediate tai OnIdle Hardin tai Softin sijaan, ja se voi käynnistää uudelleen yhden EVSE:n.
ChangeAvailabilityChangeAvailabilityKohdistuu latausasemaan, EVSE:hen tai latauspisteeseen evse-kentän kautta.
AuthorizeAuthorizeidToken-olio, jolla on tyyppi, idTag-merkkijonon sijaan.
BootNotificationBootNotificationLisää käynnistyksen syyn; latausaseman tiedot ovat chargingStation-oliossa.
Heartbeat, UnlockConnector, ClearCache, DataTransfer, ReserveNow, CancelReservation, SendLocalList, GetLocalListVersion, SetChargingProfile, ClearChargingProfile, GetCompositeSchedule, TriggerMessage, UpdateFirmware, FirmwareStatusNotificationSamat nimetSamat viestit, EVSE-kentillä ja uudemmilla tietotyypeillä.

Kysymyksiä OCPP 2.0.1:stä ja 2.1:stä

Open Charge Point Protocolin versio 2.0.1, jonka Open Charge Alliance julkaisi vuonna 2020. Se korvasi OCPP 2.0:n, ja versioon 1.6 verrattuna se lisää laitemallin, tietoturvaprofiilit, ISO 15118 -tuen ja TransactionEventin. Se ei ole taaksepäin yhteensopiva version 1.6 kanssa.

OCPP 2.1 julkaistiin tammikuussa 2025, ja se on myös standardi IEC 63584-210. Se lisää 27 viestiä eikä poista yhtään: kaksisuuntainen lataus (V2X) ja DER-ohjaus, ISO 15118-20, tariffit latausasemassa, joka laskee hinnan itse, maksaminen latausasemalla korttipäätteellä tai QR-koodilla, etusijalataus, dynaamiset latausprofiilit, jaksottaiset tapahtumavirrat ja akunvaihto. Valitse viestien yläpuolelta Uudet 2.1:ssä, niin näet ne.

2.1:n skeemat ovat 2.0.1:n skeemoja, joihin on lisätty valinnaisia kenttiä, ja Open Charge Alliancen mukaan 2.0.1:lle kirjoitettu logiikka toimii edelleen kahdella pienellä muutoksella: SignCertificate voi sisältää requestId:n, jonka CertificateSigned sitten toistaa, ja NotifyMonitoringReport-viestissä on yksi uusi pakollinen kenttä. Versiosta sovitaan edelleen yhteyskohtaisesti: WebSocket-kättelyssä latausasema tarjoaa esimerkiksi ocpp2.1, ocpp2.0.1 ja ocpp1.6, ja taustajärjestelmä valitsee yhden.

2.0.1:llä on omat viestinsä: laitemalli määritysavainten sijaan, tietoturvaprofiilit, TransactionEvent StartTransactionin ja StopTransactionin sijaan, EVSE tasona latausaseman ja sen latauspisteiden välissä sekä viestit ISO 15118:aa varten. Latausasema ja sen taustajärjestelmä sopivat yhdestä versiosta, kun yhteys avataan. Yllä oleva taulukko pariuttaa viestit, ja OCPP 1.6J -viitteessä on jokainen 1.6:n viesti.

OCPP 2.0:n julkaisun jälkeen ilmeni ongelmia, jotka voitiin korjata vain muuttamalla viestien skeemoja, eikä 2.0-toteutus olisi voinut seurata muutoksia. Open Charge Alliance antoi korjatulle versiolle oman numeron, 2.0.1, ja suosittelee toteuttamaan vain version 2.0.1. Spesifikaatiossa OCPP 2.0 tarkoittaa versiota 2.0.1, ellei toisin mainita.

Open Charge Alliance julkaisee molemmat maksutta verkkosivuillaan yhdessä jokaisen viestin JSON-skeeman ja virheluettelon kanssa. Tämä viite noudattaa JSON-skeemoja ja spesifikaation osaa 2. Jos ne eroavat, spesifikaatio ja sen virheluettelo ovat oikeassa.

Tarkista se latausasematietokannasta: siellä 102 latausaseman tiedoissa mainitaan OCPP 2.0.1 ja 4 latausaseman tiedoissa 2.1. Datalehdessä se yleensä myös mainitaan. Useaa versiota tukeva latausasema tarjoaa ne kaikki yhdistäessään, ja taustajärjestelmä valitsee yhden.

OCPP 1.6J Plugchoicessa

Plugchoice yhdistää tällä hetkellä OCPP 1.6J -latausasemia mallista, laiteohjelmistosta ja asetuksista riippuen.