Open Charge Point Protocol (OCPP): przypadki użycia 1.6 vs 2.0.1

Czym jest Open Charge Point Protocol (OCPP)?
Open Charge Point Protocol, czyli OCPP, to otwarty standard komunikacji między stacją ładowania EV a systemem zarządzania stacjami ładowania. W praktyce jest to język, dzięki któremu ładowarka raportuje status, uruchamia lub kończy sesję, wysyła dane pomiarowe, odbiera konfigurację i pozostaje połączona z backendem operatora.
Dla operatorów stacji ładowania, hoteli, flot, parkingów i firm budujących sieci ładowania OCPP ma znaczenie, bo sama ładowarka jest tylko częścią usługi. Warstwa operacyjna potrzebuje systemu zarządzania stacjami ładowania, płatności, cenników, faktur, kontroli dostępu, raportów i monitoringu.
Standard rozwija Open Charge Alliance, a najczęściej spotykane wersje produkcyjne to dziś OCPP 1.6 i OCPP 2.0.1.
Szybka nawigacja:
- OCPP 1.6 vs OCPP 2.0.1
- Zmiany w OCPP 2.0.1
- Macierz przypadków użycia OCPP
- Przykładowo zaimplementowane use case’y
- Problemy wdrożeniowe OCPP
- FAQ OCPP

Dlaczego OCPP jest ważny dla właścicieli stacji ładowania
Bez standardowego protokołu właściciel stacji ładowania może uzależnić się od jednego producenta sprzętu albo zamkniętej platformy. OCPP ogranicza to ryzyko, bo wiele ładowarek i systemów zarządzania potrafi komunikować się wspólnym protokołem.
Dla właściciela biznesowego oznacza to praktyczne korzyści:
- łatwiejsze uruchamianie ładowarek,
- lepszy monitoring zdalny,
- zdalną konfigurację i diagnostykę,
- mniejszą zależność od jednego producenta sprzętu,
- możliwość połączenia ładowarek z płatnościami, kontrolą dostępu i raportowaniem,
- prostszą drogę od jednej lokalizacji do sieci ładowania.
EV24 używa OCPP jako części warstwy operacyjnej ładowania EV. Dokumentacja EV24 dotycząca konfiguracji stacji pokazuje, że ustawienia OCPP działają razem z cennikami, metodami autoryzacji, adresem, kodem QR i wymaganiami krajowymi.
OCPP 1.6 vs OCPP 2.0.1
OCPP 1.6 jest nadal szeroko używany i obsługiwany przez wiele ładowarek AC i DC. OCPP 2.0.1 dodaje mocniejsze funkcje dla dużych sieci: zarządzanie urządzeniami, bezpieczeństwo, ISO 15118, smart charging i bardziej uporządkowaną obsługę transakcji. Open Charge Alliance wskazuje, że OCPP 2.0.1 nie jest wstecznie kompatybilny z OCPP 1.6, dlatego wersję protokołu trzeba sprawdzić przed zakupem sprzętu albo migracją backendu.
| Area | OCPP 1.6 | OCPP 2.0.1 |
|---|---|---|
| Market adoption | Very common in existing installations | Growing in newer, more advanced deployments |
| Transactions | Separate start, stop, status, and meter messages | More structured transaction event handling |
| Device management | Basic configuration and diagnostics | Richer device model, inventory, variables, and reports |
| Security | Possible, but often less standardized in practice | Better support for security profiles and certificate handling |
| Smart charging | Supported in simpler scenarios | Expanded support for energy management and ISO 15118 use cases |
Co zmieniło się w OCPP 2.0.1
Poprzednia wersja artykułu mocno skupiała się na przypadkach użycia OCPP 2.0. Najważniejsze nie jest to, że każdy operator potrzebuje wszystkich funkcji od pierwszego dnia. Ważne jest to, że OCPP 2.0.1 daje większym sieciom ładowania bardziej uporządkowany sposób obsługi ładowarek, bezpieczeństwa, transakcji, taryf, diagnostyki i ISO 15118.
Kluczowe zmiany obejmują:
- Zarządzanie urządzeniami - raportowanie inwentaryzacji, lepsza konfiguracja, większa widoczność błędów, zmienne i monitoring.
- Obsługa transakcji - bardziej uporządkowane podejście
TransactionEventzamiast osobnych komunikatów startu, stopu, pomiaru i statusu. - Profile bezpieczeństwa - mocniejsze wsparcie dla uwierzytelniania ładowarki, bezpiecznej komunikacji, certyfikatów, logów bezpieczeństwa i bezpiecznych aktualizacji firmware.
- Smart charging - lepsze wsparcie dla systemów zarządzania energią, kontrolerów lokalnych i zaawansowanych profili ładowania.
- Wsparcie ISO 15118 - lepsza podstawa dla Plug & Charge i komunikacji smart charging po stronie pojazdu.
- Doświadczenie kierowcy - więcej metod autoryzacji, widoczność taryf, prezentacja kosztów i komunikaty na stacji.
Dla zespołów zakupowych i wdrożeniowych warto sprawdzić także program certyfikacji OCPP. Certyfikacja nie zastępuje testów w terenie, ale pomaga potwierdzić, że implementacja ładowarki albo CSMS jest zgodna ze specyfikacją protokołu.
Przypadki użycia OCPP 1.6 vs OCPP 2.0.1
Oryginalna tabela techniczna pokazywała szczegółowe przypadki użycia OCPP według kategorii. W praktyce biznesowej bardziej przydatna jest mapa obszarów operacyjnych: co było dostępne już w OCPP 1.6, a co dodano lub rozszerzono w OCPP 2.0.1.
| Rodzina use case’ów | OCPP 1.6 | Nowości w OCPP 2.0.1 | Dlaczego to ważne |
|---|---|---|---|
| Security | Basic authentication and transport security can be implemented | Security profiles, certificate updates, security event notifications, and stronger key management | Ważne dla sieci publicznych, firm i operatorów, którzy potrzebują audytowalnej infrastruktury |
| Provisioning | Boot notification, reset, availability, and basic configuration | Set/get variables, base reports, custom reports, and network connection profile updates | Makes onboarding and remote configuration easier at scale |
| Authorization | RFID, local authorization list, cache, remote start, and online/offline authorization scenarios | PIN, terminal płatniczy, certyfikaty kontraktowe, autoryzacja ISO 15118 i elastyczniejsze tokeny ID | Wspiera mieszane modele dostępu: publiczne, flotowe, mieszkaniowe, hotelowe i pracownicze |
| Local authorization list | Send local list and check local list version | Lepsza integracja z szerszą obsługą tokenów i identyfikatorów | Przydatne, gdy ładowarki muszą działać mimo chwilowej utraty połączenia |
| Transactions | StartTransaction, StopTransaction, MeterValues, and StatusNotification | TransactionEvent, more start/stop options, transaction status checks, and offline event handling | Dane sesji są czytelniejsze dla płatności, raportów, faktur i obsługi reklamacji |
| Remote control | Remote start, remote stop, unlock connector, and trigger message | Bardziej zaawansowane scenariusze zdalnego stopu, w tym ładowanie ISO 15118 | Pomaga wsparciu rozwiązywać problemy kierowców bez wizyty na miejscu |
| Availability | Status notification, heartbeat, change availability, and lock failure | Bardziej uporządkowana obsługa dostępności na poziomie stacji i EVSE | Improves monitoring, map availability, and operational response |
| Reservation | Reserve, cancel reservation, and reserved EVSE handling | Better fit with richer authorization and transaction models | Istotne dla flot, parkingów premium, hoteli i ładowania pracowniczego |
| Tariffs and costs | Usually handled mostly outside the protocol or in simpler flows | Informacje o taryfie, koszt bieżący, koszt końcowy, taryfa awaryjna i aktualizacje taryfy podczas ładowania | Wspiera przejrzyste ceny i lepszą komunikację z kierowcą |
| Metering | Meter values for sessions and non-session reporting | Bardziej uporządkowana wymiana danych pomiarowych w trakcie ładowania | Critical for settlements, billing, energy reporting, and ROI analysis |
| Smart charging | Profile ładowania, harmonogram złożony, centralny i lokalny smart charging | Zewnętrzne limity ładowania, bogatsza obsługa profili, lokalne kontrolery i optymalizacja harmonogramów | Helps sites manage grid constraints and energy costs |
| Firmware management | Firmware update support | Secure firmware update and local controller publishing flows | Obniża koszty serwisu i poprawia bezpieczeństwo w cyklu życia ładowarki |
| ISO 15118 certificate management | Nie jest podstawową funkcją OCPP 1.6 | Certificate installation, update, retrieval, deletion, and CA certificate management | Potrzebne dla Plug & Charge i bardziej zaawansowanych scenariuszy pojazd-ladowarka |
| Diagnostics | Log retrieval and basic diagnostics | Monitoring reports, variable monitoring, customer information, and more detailed diagnostics | Improves support, maintenance, and uptime in larger networks |
Szczegółowa macierz przypadków użycia OCPP
Dla zespołów porównujących wersje protokołu przy wyborze ładowarki albo integracji backendu przydatny jest też widok szczegółowy. Poniższa tabela zachowuje oryginalny układ: ID use case’u, nazwa, informacja czy występuje w OCPP 1.6 i czy jest nowy w OCPP 2.0.
| UC ID | Use case | OCPP 1.6 | Nowe w OCPP 2.0 |
|---|---|---|---|
| A01 | Update charging station password for HTTP Basic Authentication | Tak | |
| A02 | Update charging station certificate by request of CSMS | Tak | |
| A03 | Update charging station certificate initiated by the charging station | Tak | |
| A04 | Security event notification | Tak | |
| B01 | Cold boot charging station | Tak | |
| B02 | Cold boot charging station - pending | Tak | |
| B03 | Cold boot charging station - rejected | Tak | |
| B04 | Offline behavior idle charging station | Tak | |
| B05 | Set variables | Tak | |
| B06 | Get variables | Tak | |
| B07 | Get base report | Tak | |
| B08 | Get custom report | Tak | |
| B09 | Set new network connection profile | Tak | |
| B10 | Migrate to new CSMS | Tak | |
| B11 | Reset without ongoing transaction | Tak | |
| B12 | Reset with ongoing transaction | Tak | |
| C01 | EV driver authorization using RFID | Tak | |
| C02 | Authorization using a start button | Tak | |
| C03 | Authorization using credit or debit card | Tak | |
| C04 | Authorization using PIN code | Tak | |
| C05 | Authorization for CSMS-initiated transactions | Tak | |
| C06 | Authorization using local ID type | Tak | |
| C07 | Authorization using contract certificates | Tak | |
| C08 | Authorization at EVSE using ISO 15118 External Identification Means | Tak | |
| C09 | Authorization by group ID | Tak | |
| C10 | Store authorization data in authorization cache | Tak | |
| C11 | Clear authorization data in authorization cache | Tak | |
| C12 | Start transaction with cached ID | Tak | |
| C13 | Offline authorization through local authorization list | Tak | |
| C14 | Online authorization through local authorization list | Tak | |
| C15 | Offline authorization of unknown ID | Tak | |
| C16 | Stop transaction with a master pass | Tak | |
| D01 | Send local authorization list | Tak | |
| D02 | Get local list version | Tak | |
| E01 | Start transaction options | Tak | |
| E02 | Start transaction - cable plugged in first | Tak | |
| E03 | Start transaction - ID token first | Tak | |
| E04 | Transaction started while charging station is offline | Tak | |
| E05 | Start transaction - ID not accepted | Tak | |
| E06 | Stop transaction options | Tak | |
| E07 | Transaction locally stopped by ID token | Tak | |
| E08 | Transaction stopped while charging station is offline | Tak | |
| E09 | Stop transaction when cable is disconnected on EV side | Tak | |
| E10 | Suspend transaction when cable is disconnected on EV side | Tak | |
| E11 | Connection loss during transaction | Tak | |
| E12 | Inform CSMS of offline transaction event | Tak | |
| E13 | Transaction-related message not accepted by CSMS | Tak | |
| E14 | Check transaction status | Tak | |
| E15 | End of charging process | Tak | |
| F01 | Remote start transaction - cable plugged in first | Tak | |
| F02 | Remote start transaction - remote start first | Tak | |
| F03 | Remote stop transaction | Tak | |
| F04 | Remote stop ISO 15118 charging from CSMS | Tak | |
| F05 | Remotely unlock connector | Tak | |
| F06 | Trigger message | Tak | |
| G01 | Status notification | Tak | |
| G02 | Heartbeat | Tak | |
| G03 | Change availability EVSE | Tak | |
| G04 | Change availability charging station | Tak | |
| G05 | Lock failure | Tak | |
| H01 | Reservation | Tak | |
| H02 | Cancel reservation | Tak | |
| H03 | Use a reserved EVSE | Tak | |
| H04 | Reservation ended and not used | Tak | |
| I01 | Show EV driver-specific tariff information | Tak | |
| I02 | Show EV driver running total cost during charging | Tak | |
| I03 | Show EV driver final total cost after charging | Tak | |
| I04 | Show fallback tariff information | Tak | |
| I05 | Show fallback total cost message | Tak | |
| I06 | Update tariff information during transaction | Tak | |
| J01 | Send meter values not related to a transaction | Tak | |
| J02 | Send transaction-related meter values | Tak | |
| J03 | Charging loop with metering information exchange | Tak | |
| K01 | Set charging profile | Tak | |
| K02 | Central smart charging | Tak | |
| K03 | Local smart charging | Tak | |
| K04 | Internal load balancing | Tak | |
| K05 | Remote start transaction with charging profile | Tak | |
| K06 | Offline behavior smart charging during transaction | Tak | |
| K07 | Offline behavior smart charging at start of transaction | Tak | |
| K08 | Get composite schedule | Tak | |
| K09 | Get charging profiles | Tak | |
| K10 | Clear charging profile | Tak | |
| K11 | Set or update external charging limit with ongoing transaction | Tak | |
| K12 | Set or update external charging limit without ongoing transaction | Tak | |
| K13 | Reset or release external charging limit | Tak | |
| K14 | External charging limit with local controller | Tak | |
| K15 | Charging with load leveling based on high-level communication | Tak | |
| K16 | Optimized charging with scheduling to the CSMS | Tak | |
| K17 | Renegotiating a charging schedule | Tak | |
| L01 | Secure firmware update | Tak | |
| L02 | Non-secure firmware update | Tak | |
| L03 | Publish firmware file on local controller | Tak | |
| L04 | Unpublish firmware file on local controller | Tak | |
| M01 | Certificate installation for EV | Tak | |
| M02 | Certificate update for EV | Tak | |
| M03 | Retrieve list of available certificates from a charging station | Tak | |
| M04 | Delete a specific certificate from a charging station | Tak | |
| M05 | Install CA certificate in a charging station | Tak | |
| M06 | Get charging station certificate status | Tak | |
| N01 | Retrieve log information | Tak | |
| N02 | Get monitoring report | Tak | |
| N03 | Set monitoring base | Tak | |
| N04 | Set variable monitoring | Tak |
Przykładowo zaimplementowane use case’y
Macierz use case’ów jest przydatna przy pracy ze specyfikacją, ale zespoły wdrożeniowe zwykle zaczynają od mniejszego zestawu przepływów, które potwierdzają, że ładowarka i CSMS komunikują się stabilnie. To praktyczne scenariusze OCPP, które warto przetestować jako pierwsze.
| Scenariusz | Powiązane use case’y | Co zweryfikować |
|---|---|---|
| Ładowarka łączy się z CSMS | B01, G02 | Boot notification, heartbeat, identyfikacja stacji, liczba złączy i stabilne połączenie WebSocket |
| Connector status is reported correctly | G01, G03, G04, G05 | Statusy Available, Preparing, Charging, Suspended, Faulted i Unavailable odpowiadają realnej pracy ładowarki |
| Driver authorization works | C01, C04, C05, C10, C13 | RFID, PIN, aplikacja, QR albo autoryzacja z backendu uruchamia sesję tylko dla uprawnionych użytkowników |
| Remote start and stop | F01, F02, F03, E01, E06 | Backend może startować i zatrzymywać sesje, także gdy kabel podłączono przed albo po autoryzacji |
| Meter values and transaction events | E02-E15, J01, J02, J03 | Energy readings, start time, stop time, connector, transaction ID, and final meter value are consistent |
| Offline session behavior | B04, C13, C15, E04, E08, E12 | Ładowarka działa przewidywalnie przy utracie połączenia i synchronizuje dane po powrocie online |
| Tariff and cost display | I01-I06 | Kierowca widzi taryfę i koszt przed, w trakcie albo po ładowaniu, jeśli ładowarka to wspiera |
| Profil smart charging | K01-K17 | Charging limits, schedules, local controller behavior, and external energy limits are applied correctly |
| Diagnostics and firmware | L01-L04, N01-N04 | Logs, monitoring reports, variable monitoring, and firmware flows work without interrupting normal operations |
Przykłady kodu źródłowego
Poniższe przykłady pokazują kształt komunikatów OCPP-J przesyłanych przez WebSocket. Są uproszczone dla czytelności, ale pokazują typowy wzorzec implementacji: CALL z jednej strony, a następnie CALLRESULT z drugiej strony z tym samym identyfikatorem wiadomości.
1. Stacja uruchamia się i łączy z CSMS
[2, "boot-001", "BootNotification", {
"chargePointVendor": "ExampleVendor",
"chargePointModel": "AC22",
"chargePointSerialNumber": "EV24-DEMO-001",
"firmwareVersion": "1.6.0"
}]
[3, "boot-001", {
"currentTime": "2026-04-28T10:00:00Z",
"interval": 60,
"status": "Accepted"
}]
2. Kierowca jest autoryzowany przez RFID albo inny idTag
[2, "auth-001", "Authorize", {
"idTag": "RFID-123456"
}]
[3, "auth-001", {
"idTagInfo": {
"status": "Accepted"
}
}]
3. Backend zdalnie uruchamia sesję
[2, "remote-start-001", "RemoteStartTransaction", {
"connectorId": 1,
"idTag": "APP-USER-42"
}]
[3, "remote-start-001", {
"status": "Accepted"
}]
4. Ładowarka wysyła dane pomiarowe w trakcie transakcji
[2, "meter-001", "MeterValues", {
"connectorId": 1,
"transactionId": 987654,
"meterValue": [{
"timestamp": "2026-04-28T10:15:00Z",
"sampledValue": [{
"value": "12.84",
"measurand": "Energy.Active.Import.Register",
"unit": "kWh"
}]
}]
}]
5. Przykład TransactionEvent w OCPP 2.0.1
[2, "txevent-001", "TransactionEvent", {
"eventType": "Updated",
"timestamp": "2026-04-28T10:15:00Z",
"triggerReason": "MeterValuePeriodic",
"seqNo": 7,
"transactionInfo": {
"transactionId": "TX-987654"
},
"evse": {
"id": 1,
"connectorId": 1
},
"meterValue": [{
"timestamp": "2026-04-28T10:15:00Z",
"sampledValue": [{
"value": 12.84,
"measurand": "Energy.Active.Import.Register",
"unitOfMeasure": {
"unit": "kWh"
}
}]
}]
}]


Co robi OCPP podczas sesji ładowania
Kierowca widzi prosty proces: skanuje kod QR, płaci, podłącza samochód i ładuje. Za tym procesem ładowarka i backend wymieniają wiele komunikatów.

Co sprawdzić przed zakupem ładowarki OCPP
Nie każda ładowarka „zgodna z OCPP” działa tak samo. Przed zakupem sprzętu sprawdź, czy ładowarka była testowana z systemem zarządzania, którego planujesz używać.
Najważniejsze pytania to:
- which OCPP version is supported,
- czy ładowarka używa JSON over WebSocket,
- whether remote start and remote stop work reliably,
- how meter values are reported,
- whether connector statuses are accurate,
- whether firmware updates and diagnostics are available,
- jak ładowarka obsługuje sesje offline,
- czy obsługiwane są przepływy terminala płatniczego, QR, RFID i PIN.
Przy szerszej decyzji sprzętowej zacznij od poradnika jak wybrać stację ładowania EV. Zgodność z OCPP jest konieczna, ale nie jest jedynym kryterium.
OCPP a płatności
OCPP nie zastępuje systemu płatności. Dostarcza dane sesji ładowania potrzebne warstwie płatności i rozliczeń: wynik autoryzacji, czas startu i stopu, złącze, dane pomiarowe i status.
Dlatego operatorzy powinni myśleć o OCPP razem z modelem biznesowym. Publiczne ładowanie często potrzebuje terminali płatniczych, płatności QR, dostępu ad-hoc, faktur i raportów rozliczeniowych. Prywatne ładowanie może wymagać grup dostępu, RFID, PIN, rozliczeń pracowników albo raportów flotowych.
Aplikacja ładowania EV24 i system zarządzania punktami ładowania łączą proces kierowcy z backendem operacyjnym, dzięki czemu dane OCPP wspierają płatności, taryfy, faktury i raportowanie.
OCPP w integracjach i własnych aplikacjach EV
W większych projektach OCPP jest tylko jedną z warstw integracji. Firmy mogą potrzebować też API dla aplikacji mobilnych, systemów parkingowych, CRM, księgowości albo portali partnerskich.
EV24 Partner API wspiera takie scenariusze ponad warstwą operacyjną ładowania. Przy onboardingu technicznym dokumentacja API EV24 dla integratorów opisuje dostęp, tokeny i podstawowe wymagania API.

Typowe problemy wdrożeniowe OCPP
Większość problemów pojawia się nie w specyfikacji, ale w implementacji. Różne ładowarki mogą inaczej interpretować czasy, statusy, dane pomiarowe i przypadki brzegowe.
Typowe problemy obejmują:
- ładowarka łączy się, ale nie raportuje poprawnie statusu złącza,
- remote start works only in some authorization modes,
- meter values are too rare or inconsistent,
- stacja traci łączność w trakcie sesji,
- offline transactions are not synchronized cleanly,
- firmware changes alter message behavior,
- status płatności i status ładowania nie są spójne.
Dlatego testy OCPP powinny obejmować realne sesje ładowania, nieudane płatności, akcje zdalne, zachowanie offline i restart, a nie tylko pierwsze udane połączenie.

Podsumowanie
Open Charge Point Protocol jest jedną z podstaw nowoczesnej infrastruktury ładowania EV. Pomaga połączyć ładowarki z systemem zarządzania, zmniejsza vendor lock-in i umożliwia monitoring, konfigurację, sesje oraz pomiary.
Dla właścicieli stacji kluczowe pytanie nie brzmi tylko, czy ładowarka obsługuje OCPP. Prawdziwe pytanie brzmi, czy działa cały model operacyjny: ładowarka, backend, płatności, dostęp, raportowanie, wsparcie i integracje.
FAQ
Co oznacza skrót OCPP?+
OCPP oznacza Open Charge Point Protocol. To protokół komunikacji między stacją ładowania EV a systemem zarządzania stacjami ładowania.
Jaka jest różnica między OCPP 1.6 a OCPP 2.0.1?+
OCPP 1.6 jest szeroko używany i dobrze działa w wielu istniejących sieciach. OCPP 2.0.1 dodaje bardziej zaawansowany model urządzeń, lepszą obsługę transakcji, mocniejsze bezpieczeństwo, wsparcie ISO 15118, bogatszy smart charging i lepsze informacje dla kierowcy.
Czy OCPP 1.6 i OCPP 2.0.1 są kompatybilne?+
Nie. OCPP 2.0.1 nie jest wstecznie kompatybilny z OCPP 1.6. Przed zakupem ładowarek albo migracją backendu operator powinien potwierdzić, którą wersję OCPP obsługuje ładowarka i CSMS.
Które use case’y OCPP są nowe w OCPP 2.0?+
Nowe albo rozszerzone use case’y obejmują zarządzanie certyfikatami, powiadomienia o zdarzeniach bezpieczeństwa, zmienne i raporty, autoryzację PIN i terminal płatniczy, sprawdzanie statusu transakcji, prezentację taryf i kosztów, zaawansowany smart charging, zarządzanie certyfikatami ISO 15118 i bogatszą diagnostykę.
Czy OCPP obsługuje płatności?+
OCPP nie zastępuje systemu płatności. Dostarcza dane sesji, autoryzacji, statusu i pomiarów, z których mogą korzystać systemy płatności, fakturowania, rozliczeń i raportowania.
Dlaczego OCPP jest ważny dla operatorów stacji ładowania?+
OCPP zmniejsza ryzyko vendor lock in i pomaga operatorom łączyć ładowarki z systemem zarządzania, monitoringiem, akcjami zdalnymi, taryfami, kontrolą dostępu, płatnościami, raportami i integracjami.
Jak EV24 wykorzystuje OCPP?+
EV24 używa OCPP jako części warstwy operacyjnej ładowania. Dane OCPP z ładowarek wspierają monitoring stacji, obsługę sesji, taryfy, autoryzację, płatności, rozliczenia, raportowanie i integracje w platformie EV24.