Context
OCPP is the protocol electric vehicle chargers use to talk to the central system that manages them. At Vulletic I built a real-time backend over OCPP and WebSockets, and that's where the idea came from: open tools to work with the protocol without fighting the spec from scratch.
I Love OCPP is that toolset: an SDK, a simulator, documentation and examples, under a GitHub organization open to contributions.
What I did
- Kotlin SDK to implement an OCPP 1.6 JSON Central System. A dispatcher with typed handlers for the messages the charger sends (BootNotification, Heartbeat, Authorize, StartTransaction, StopTransaction, StatusNotification, MeterValues, DataTransfer, plus firmware and diagnostics) and methods to send commands to the charger (RemoteStart and RemoteStop, Reset, UnlockConnector, ChangeAvailability, ChangeConfiguration, GetConfiguration, ClearCache) with a response callback. Requires JVM 21 and Kotlin 2. Published on JitPack.
- Charge point simulator in React and TypeScript: a virtual charger that connects over WebSockets to any Central System so you can test it without hardware.
- Landing page and docs in Vue 3, and a Kotlin example project showing the full integration.
Stack
KotlinJVM 21TypeScriptReactVue 3WebSocketsJitPack
Covers OCPP 1.6 JSON today. OCPP 2.0.1 is planned.