No cloud, no subscription
Everything runs on a machine you control. A small server is enough, or a NUC, or a spare office PC. Charging data never leaves your network.
OCPP 1.6J · 2.0.1 · 1.5 SOAP
easy-ocpp is a self-hosted charging station management system (CSMS) for small and medium businesses. It speaks OCPP 1.6J, 2.0.1 and 1.5 SOAP. One binary, one SQLite file, no cloud subscription and no permanent internet connection.
Everything runs on a machine you control. A small server is enough, or a NUC, or a spare office PC. Charging data never leaves your network.
No database server, no message broker, no container stack. Unpack, start, done. Your entire dataset is one SQLite file you can copy for a backup.
Deliberately not an enterprise platform. The features a company with a handful of charge points actually needs, without the operational overhead.
Online status, connectors, firmware and serial per charge point, live from the OCPP connection.
New chips are enrolled through a two-minute learning window: hold the chip to a wallbox, the server captures the tag.
A chip either belongs to a person or it is a guest chip. The category follows the assignment, so the two cannot contradict each other.
Charged kWh, current power and state of charge while a session runs, refreshed every ten seconds.
Stop automatically at a target energy or after a set time, whichever comes first.
Unlock a session remotely for a visitor and book it against a guest label.
Session list with CSV export, statistics by month, quarter and year, and a monthly PDF per person.
The whole interface in German, English, French and Spanish, switchable per user.
There is exactly one kind of person in the system: a user. An employee is a user, and their chips, charging sessions and limits hang off that account directly. What an employee may do is deliberately narrow.
| Admin | Employee | |
|---|---|---|
| Wallboxes, chips, user management | ✓ | – |
| Charging sessions of everyone | ✓ | – |
| Own charging sessions, CSV, statistics, monthly PDF | ✓ | ✓ |
| Watch own running session and stop it | ✓ | ✓ |
| Target kWh and timer on own session | ✓ | ✓ |
| Default limits for any employee | ✓ | – |
The server enforces these restrictions. Hiding things in the interface would not be enough. After signing in, an employee lands on their own page, and the navigation shows only what they can actually open.
A session ends by itself once it reaches a target energy or a timer, whichever comes first. Both are optional. Every person has defaults that apply to each new session, set either by the employee or by an administrator; on a running session the values can still be changed.
A watchdog checks every 15 seconds and sends RemoteStopTransaction. The energy limit is additionally checked the moment new meter values arrive, so charging does not run past the target until the next tick. If a wallbox rejects the stop, it is retried.
Grab a release for Windows or Linux, unpack it, run it. The interface is then at localhost port 8080; the first login is admin / admin.
Or build from source:
git clone https://github.com/hilman2/easy-ocpp.git
cd easy-ocpp
cargo run --release
Point the charge point at your server. Subprotocols are negotiated automatically, and an unknown charge point registers itself on first connection.
ws://<host>:8080/ocpp/<ChargePointId>
For older OCPP 1.5 devices over SOAP:
POST http://<host>:8080/ocpp15
| Version | Transport | Status |
|---|---|---|
| OCPP 1.6J | WebSocket | Complete (boot, heartbeat, status, authorize, transactions, meter values, remote start/stop, configuration) |
| OCPP 2.0.1 | WebSocket | Scaffold (BootNotification and TransactionEvent) |
| OCPP 1.5 | SOAP | Scaffold (boot and heartbeat) |
A Charging Station Management System is the backend an EV charge point talks to. It authorises RFID cards, records charging sessions and meter readings, and can start or stop a session remotely. OCPP is the protocol they use to talk.
Any charge point that speaks OCPP 1.6J over WebSocket should work, which covers the large majority of devices sold in the last several years. Older hardware limited to OCPP 1.5 SOAP can connect for boot and heartbeat.
No. The wallboxes connect to your server over the local network. An internet connection is only needed if you want to reach the interface from outside.
Every session is tied to the RFID chip that started it, and every chip belongs to a person. The session list, the statistics and the monthly PDF are grouped accordingly. Sessions on unassigned chips are booked as guest charging.
No. An employee only ever sees the sessions started with their own chips. Only an administrator sees everything.
Nothing. easy-ocpp is open source under the MIT licence. There is no paid tier and no per-charge-point fee.