An OCPP simulator is software that behaves exactly like a real EV charging station from the perspective of a CSMS (Charging Station Management System). It connects to your CSMS over WebSocket, sends the same OCPP messages a physical charger would send, and responds to commands the same way. The difference: there is no hardware, no firmware, no physical device.
Why do CSMS teams need an OCPP simulator?
Building and testing a CSMS without an OCPP simulator means relying on real charging hardware. That creates several problems:
- Hardware availability — development teams rarely have chargers on their desks. Getting lab access takes time and scheduling.
- Reproducibility — it is difficult to reproduce a specific failure scenario reliably with real hardware. A simulator can be put into a precise state on demand.
- Scale — testing how a CSMS handles 200 simultaneous charging sessions requires 200 chargers. With a simulator, it requires an API call.
- CI integration — you cannot plug physical chargers into a CI pipeline. Simulators can run in the cloud and respond to automated test scripts.
What does an OCPP simulator actually do?
A full-featured OCPP simulator handles the complete lifecycle of a charging station connection:
Connection and boot
The simulator opens a WebSocket connection to the CSMS URL and sends a BootNotification request, just as a real charger does when it powers on. It handles Accepted, Pending, and Rejected responses correctly, including the retry-with-interval behaviour the OCPP specification requires.
Heartbeats
After boot, the simulator sends periodic Heartbeat messages at the interval the CSMS specifies in its BootNotification response. This keeps the connection alive and lets the CSMS detect when a station goes offline.
Charging sessions
The simulator handles the full transaction lifecycle: connecting an EV to a connector, responding to RemoteStartTransaction, sending StartTransaction, generating periodic MeterValues with realistic energy readings, and closing the transaction via StopTransaction in response to RemoteStopTransaction or an EV reaching full charge.
Status notifications
Connector state changes — Available, Preparing, Charging, Finishing, Faulted — are reported to the CSMS via StatusNotification. A good simulator follows the OCPP state machine precisely so your CSMS sees the same sequence it would from real hardware.
Error and fault injection
Testing error handling means being able to put a connector into a faulted state on demand. A simulator lets you trigger any OCPP error code — GroundFailure, HighTemperature, OverCurrentFailure — and verify your CSMS responds correctly.
Network fault simulation
Real chargers lose connectivity. A simulator can drop its WebSocket connection and reconnect with backoff, exercising your CSMS's session recovery and reconnect handling paths without physically unplugging anything.
OCPP 1.6 vs 2.0.1 simulation
OCPP 1.6 remains the most widely deployed version. Most CSMS teams start here. A complete OCPP 1.6 simulator covers all feature profiles: Core, Firmware Management, Local Auth List, Reservation, Smart Charging, and Remote Trigger.
OCPP 2.0.1 introduces a structured device model with native EVSE awareness, enhanced security (TLS, certificate management), improved smart charging, and TransactionEvent as the unified transaction message. If your CSMS will support 2.0.1 — either today or as part of a migration — you need a simulator that covers both versions concurrently so you can test the same CSMS against both protocol versions.
What makes a good OCPP simulator?
Not all simulators are equal. Key capabilities to look for:
- Full protocol coverage — not just happy-path transactions. Smart Charging profiles, local auth lists, firmware update state machines, reservation expiry.
- Realistic meter values — a simulator that sends the same static number for every MeterValues message will not catch CSMS bugs in energy calculation or SOC reporting.
- REST API or CLI control — you need to be able to drive scenarios programmatically from test scripts and CI pipelines.
- Concurrent station support — load testing requires running many stations simultaneously without manual setup.
- Network fault injection — drop and restore the connection on demand, with configurable reconnect behaviour.
Getting started
SimIt is an OCPP simulator available as a cloud service. Sign up, get your API key, and create your first virtual charging station with a single REST API call — no installation, no Docker, no infrastructure. Full OCPP 1.6 and 2.0.1 support, hundreds of concurrent stations, and a REST API that works from any CI pipeline.