An OCPP simulator is software that behaves 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. What it doesn't have is 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, and 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 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, such as GroundFailure, HighTemperature, or 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, and most CSMS teams start there. 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 each protocol version.
What makes a good OCPP simulator?
Simulators vary a lot in what they cover. Capabilities worth checking for:
- Full protocol coverage, beyond 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, so you can 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
SimItNow 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. There is nothing to install, no Docker, and no infrastructure to run. It supports OCPP 1.6 and 2.0.1, hundreds of concurrent stations, and a REST API that works from any CI pipeline.