ChargePilot
A charging station management system
Run your live network from one dashboard — every charger's status as it reports it, every session and order, bookings, and a power budget that keeps more chargers online than your supply could otherwise run. Drivers and operators work from the browser, so there is nothing to install.
free tier: 1 station · 2 chargers · no card
What you get
Everything needed to run chargers in production, on the same OCPP engine the rest of the platform is built on.
Live charger status
Every connector's OCPP state as the charger reports it — Available, Preparing, Charging, Faulted — streamed to the dashboard over WebSocket rather than polled.
Sessions and orders
Every transaction with its meter readings, kWh delivered and duration, exportable as CSV. A finished session becomes an order a driver can see.
Remote start and stop
RemoteStartTransaction and RemoteStopTransaction from the dashboard or the driver app. The charger's own answer decides the outcome — a refusal is reported as a refusal, not as success.
Bookings
Reserve a charger for a window, or hold one until you cancel. OCPP cannot reserve ahead of time, so a scheduler places the hold when the window opens and releases it when the session ends.
Load management
More chargers than your supply can run at once. A per-site power budget shares the available current between active sessions instead of tripping the main breaker. Advanced plans and up.
Multi-tenant, one dashboard
Operators see their own sites and nobody else's. Ownership is checked before a command is forwarded, so a stray id cannot reach another operator's hardware — or reveal that it exists.
How it fits together
Three layers, and calls only ever go inward. Each holds one database and everything crossing a line is HTTP on a loopback interface.
- 1
Chargers connect over wss://
Hardware dials the OCPP gateway and holds the socket open. The gateway speaks protocol and nothing else — it owns no business rules, so a protocol change cannot reach into the rest of the system.
- 2
The API decides
Authorisation, ownership and plan entitlements are settled here, before anything is forwarded. This is the layer that says no: 401 when you are not signed in, 402 when your tier lacks the feature, 404 when the charger is not yours.
- 3
You watch and act
The operator console and the driver webapp both read the same API. Nothing is installed — a driver starts a charge from the browser, an operator manages a network from it.
Standards, not a dialect
ChargePilot speaks OCPP-J over WebSocket and negotiates the version at the handshake, so a 1.6 charger and a 2.0.1 charger can share a site. Chargers connect to a single endpoint:
wss://ocpp.chargepilot.infinite-service.com/chargepilot/{stationId}Every message is captured as it arrived — valid or not — so a dispute can be traced to the frame that caused it. The same messages are documented in our OCPP reference.
Start with one site
The free tier covers one station and two chargers — enough for a home garage or a single car park. Cost tracks the assets in your network, so it grows when you do.