Tutorial · 12 parts
OCPP 1.6-J Tutorial
A hands-on walkthrough of OCPP 1.6-J, from the first WebSocket connection to smart charging and security profiles, with real message examples.
Start with part 1- 017 min read
OCPP 1.6-J Tutorial, Part 1: Architecture and Message Framing
How OCPP 1.6-J works on the wire: WebSocket URL and subprotocol, CALL/CALLRESULT/CALLERROR frames, message IDs and the six feature profiles.
- 026 min read
OCPP 1.6 BootNotification and Heartbeat Explained
What happens when a charger connects: BootNotification fields, Accepted/Pending/Rejected handling, heartbeat interval and clock sync in OCPP 1.6-J.
- 036 min read
OCPP 1.6 StatusNotification: Connector Status and Error Codes
The OCPP 1.6 connector status model: all nine ChargePointStatus values, connectorId 0, error codes, valid transitions and how a CSMS should use them.
- 046 min read
OCPP 1.6 Authorize, Local Auth List and Authorization Cache
How OCPP 1.6 authorizes drivers: Authorize and IdTagInfo, the local authorization list, the authorization cache, and how chargers behave offline.
- 055 min read
OCPP 1.6 StartTransaction and StopTransaction Deep Dive
OCPP 1.6 transactions in detail: StartTransaction, transactionId, meterStart/meterStop, stop reasons, transactionData and offline message queuing.
- 065 min read
OCPP 1.6 MeterValues: Measurands, Contexts and Sampling
Reading OCPP 1.6 MeterValues correctly: SampledValue fields, measurands, contexts, sampled vs clock-aligned data, units, phases and common parsing bugs.
- 076 min read
OCPP 1.6 Remote Commands: RemoteStart, Reset, Unlock, Reserve
Controlling chargers from the CSMS in OCPP 1.6: RemoteStart/StopTransaction for app sessions, UnlockConnector, Reset, ChangeAvailability and ReserveNow.
- 085 min read
OCPP 1.6 Configuration Keys, TriggerMessage and DataTransfer
Managing OCPP 1.6 charger configuration: GetConfiguration, ChangeConfiguration, the standard keys that matter, TriggerMessage and DataTransfer.
- 095 min read
OCPP 1.6 Smart Charging: SetChargingProfile and Stack Levels
OCPP 1.6 smart charging in practice: charging profile purposes, kinds, stackLevel, schedules, ClearChargingProfile and GetCompositeSchedule with examples.
- 105 min read
OCPP 1.6 Firmware Updates and Diagnostics: UpdateFirmware Guide
Remote firmware updates and log collection in OCPP 1.6: UpdateFirmware, FirmwareStatusNotification, GetDiagnostics and how to roll out safely.
- 116 min read
OCPP 1.6 Security: Security Profiles, Certificates and Signed Firmware
The OCPP 1.6-J security whitepaper explained: security profiles 1-3, Basic auth, TLS, client certificates, SecurityEventNotification and signed firmware.
- 126 min read
Troubleshooting OCPP 1.6: CALLERRORs, Timeouts and Interop Bugs
A field guide to debugging OCPP 1.6-J: CALLERROR codes, timeouts and retries, message ordering, reconnect storms and common charger interop bugs.
More tutorial series
OCPP 2.0.1 Tutorial
How OCPP 2.0.1 works in practice: the device model, the transaction event model, ISO 15118, security, and migrating from 1.6.
Start the seriesOCPI 2.2.1 Tutorial
Building EV roaming with OCPI 2.2.1: credentials, locations, tokens, sessions, CDRs, tariffs and commands, from both the CPO and eMSP side.
Start the series
Let's Talk
Ready to build something that lasts?
Whether it's a charging network, an AI rollout, or a core enterprise system — let's talk about what you're building.
