easy-ocpp

OCPP 1.6J · 2.0.1 · 1.5 SOAP

Your own OCPP server for up to ten wallboxes

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.

Download release Source on GitHub

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.

One binary, one file

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.

Built for 1–10 wallboxes

Deliberately not an enterprise platform. The features a company with a handful of charge points actually needs, without the operational overhead.

What it does

Wallbox inventory

Online status, connectors, firmware and serial per charge point, live from the OCPP connection.

RFID chip management

New chips are enrolled through a two-minute learning window: hold the chip to a wallbox, the server captures the tag.

Chips and people

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.

Live meter values

Charged kWh, current power and state of charge while a session runs, refreshed every ten seconds.

Charging limits

Stop automatically at a target energy or after a set time, whichever comes first.

Guest charging

Unlock a session remotely for a visitor and book it against a guest label.

Reports

Session list with CSV export, statistics by month, quarter and year, and a monthly PDF per person.

Four languages

The whole interface in German, English, French and Spanish, switchable per user.

Two roles, clearly separated

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.

AdminEmployee
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.

Charging limits that actually stop the session

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.

Getting started

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

Connecting a wallbox

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

Protocol support

VersionTransportStatus
OCPP 1.6JWebSocketComplete (boot, heartbeat, status, authorize, transactions, meter values, remote start/stop, configuration)
OCPP 2.0.1WebSocketScaffold (BootNotification and TransactionEvent)
OCPP 1.5SOAPScaffold (boot and heartbeat)

Frequently asked questions

What is a CSMS?

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.

Will it work with my wallbox?

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.

Do I need an internet connection?

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.

How do I see who charged how much?

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.

Can employees see each other's charging?

No. An employee only ever sees the sessions started with their own chips. Only an administrator sees everything.

What does it cost?

Nothing. easy-ocpp is open source under the MIT licence. There is no paid tier and no per-charge-point fee.