Engine · OCPP 1.6 + 2.0.1

OcppPilot

The OCPP Protocol Engine

The shared Go library that powers every Pilot product. OCPP-J adapter over WebSocket with frame encoding/decoding, subprotocol negotiation (1.6 + 2.0.1), CALL/CALLRESULT/CALLERROR correlation by uniqueId, and a typed handler interface.

Illustration: the OcppPilot frame inspector showing OCPP-J frames being parsed and correlated — BootNotification call and result matched by uniqueId, heartbeat exchange, and a pending RemoteStartTransaction.

Why OcppPilot?

The protocol layer, solved once — so every product built on top just works.

OCPP-J wire codec

Encode and decode OCPP-J frames — CALL, CALLRESULT, CALLERROR — with full validation against the 1.6 and 2.0.1 schemas.

WebSocket connection handler

Manages wss:// connections with subprotocol negotiation, automatic reconnection, and clean shutdown for both client and server roles.

Frame correlation by uniqueId

Every CALL gets a uniqueId. OcppPilot tracks pending requests and matches each CALLRESULT or CALLERROR back to its originating call.

Raw frame capture

Tap into the raw WebSocket stream for logging, debugging, or replay — every byte on the wire is available before and after parsing.

Full 1.6 + 2.0.1 action catalog

Every action from both protocol versions — BootNotification, Authorize, MeterValues, TransactionEvent, and more — typed and ready to use.

Embeddable Go library

Import OcppPilot as a Go module into your own application. Build a CSMS, a charger simulator, or a test harness — the protocol layer is handled.

How it works

Embed the engine, handle the protocol.

1

Import the Go module

Add OcppPilot to your Go project. It provides the WebSocket layer, frame codec, and typed message handlers out of the box.

2

Register your handlers

Implement the handler interface for the OCPP actions you care about — BootNotification, StartTransaction, MeterValues, and more.

3

Let OcppPilot handle the wire

Connection management, subprotocol negotiation, frame correlation — the engine takes care of it. You focus on business logic.

Go libraryOCPP 1.6 + 2.0.1Embeddable
Design partners

Be among the first

We're working with teams building on OCPP to shape OcppPilot into the definitive protocol engine. Bring your use case — we'll bring the library.

Request a demo

Or join the waitlist for early access: