⚡ OCPP Simulator · Virtual Charging Station · Virtual ChargePoint · SaaS

Test EV charging infrastructure
without the hardware

SimIt simulates entire charging networks — virtual charging stations, EVSEs, and electric vehicles — so CSMS vendors can test every edge case before going live.

Get API key → See features
4,616 simulators registered

Everything you need to simulate
an EV charging network

From a single connector to hundreds of concurrent stations — SimIt covers every scenario your CSMS needs to handle.

🏗️

Multi-EVSE Architecture

Simulate multiple EVSEs and virtual chargepoints per station. Configure any topology your CSMS expects, from single-port units to large multi-port sites.

🔋

Realistic EV Simulation

Virtual EVs with live battery tracking. Watch the charge level rise as your CSMS manages the session — just like a real vehicle plugged in.

Accurate Energy Metering

Meter readings flow to your CSMS on schedule, indistinguishable from physical hardware. Your billing and reporting features get real data to work with.

🔌

AC & DC Charging

Supports both AC (up to 11 kW) and DC fast-charging (up to 90 kW) modes with dynamic power distribution and charging profile management.

🌐

REST API Control

Full programmatic control over every simulator lifecycle. Integrate directly with your test harness, CI pipeline, or load-testing scripts.

📡

Network Fault Injection

Simulate disconnects, reconnects, and error states on demand. Verify your CSMS handles degraded conditions safely and recovers correctly.

⏱️

Simulated Time Control

Run time-dependent scenarios — session timeouts, reservation expiry, scheduled charging — instantly, without waiting for real time to pass.

📈

High Concurrency

Spin up hundreds of concurrent charging stations and EVs simultaneously. SimIt's cloud infrastructure handles the scale — no setup, no provisioning required on your end.

🔁

Auto-Reconnect

Each station reconnects automatically with random jitter on connection loss, mirroring real-world charger behaviour your CSMS must handle.

Simulate a full charging session
in four steps

1

Get your API key

Sign up for free and get your API key instantly — no installation, no setup, no waiting.

2

Create a Station

POST to the API with your CSMS WebSocket URL. SimIt connects immediately and begins the OCPP handshake.

3

Attach an EV

Create a virtual EV, connect it to a connector, and configure battery capacity and initial SOC.

4

Run Your Scenario

Start transactions, inject faults, disconnect the network — then verify your CSMS responds correctly.

REST API

Control everything via HTTP

All operations are available as REST endpoints secured with an API key header (SIMIT-API-KEY).

⚡ Charging Station /api/v1/cs/{action}/{cb_id}
POST/createBoot a station
GET/infoStation state
DEL/deleteRemove station
POST/transaction/startBegin charge
POST/transaction/stopEnd charge
POST/error/setInject error
POST/error/resetClear error
POST/network/disconnectDrop connection
POST/network/connectRestore connection
🔋 Electric Vehicle /api/v1/ev/{action}/{ev_id}
POST/createRegister EV
GET/infoBattery & SOC
DEL/deleteRemove EV
POST/connectPlug in
POST/disconnectUnplug
POST/dischargeDrain battery

OCPP 1.6 today,
2.0.1 & 2.1 on the roadmap

OCPP 1.6

Fully implemented
  • Station registration & keep-alive
  • Remote session start & stop
  • Real-time energy reporting
  • Smart charging profiles
  • Remote configuration
  • Remote reboot
  • Live status updates

OCPP 2.0.1

In progress
  • Multi-EVSE architecture designed
  • Full session lifecycle support
  • Device Management coming
  • Plug & Charge (ISO 15118) roadmap
  • Backwards compatible migration

OCPP 2.1

Planned
  • Built on top of 2.0.1 foundation
  • V2X & bidirectional charging
  • Dynamic tariff support
  • Enhanced smart charging
  • ISO 15118-20 integration
Get started

Up and running in minutes

1

Get your API key

Create a free account at simit.ddosoft.com and get your API key instantly — no credit card needed.

2

Create a charge point

POST to /cs/create/{id} with your CSMS WebSocket URL. SimIt connects immediately over OCPP.

3

Attach a virtual EV

Create an EV and connect it to a connector. Configure battery capacity and initial SOC as needed.

4

Start a transaction

Trigger a charge session and watch MeterValues flow to your CSMS in real time.

# 1. Create a charge point $ curl -X POST https://simit.ddosoft.com/api/v1/cs/create/CP-001 \ -H "SIMIT-API-KEY: <your-key>" \ -H "Content-Type: application/json" \ -d '{ "csmsUrl": "ws://csms.example.com/ocpp/1.6", "protocol": "ocpp1.6", "power": 22, "efficiency": 1.0 }' # 2. Create & connect a virtual EV $ curl -X POST https://simit.ddosoft.com/api/v1/ev/create/EV-01 \ -H "SIMIT-API-KEY: <your-key>" \ -H "Content-Type: application/json" \ -d '{"batteryCapacity": 60}' $ curl -X POST https://simit.ddosoft.com/api/v1/ev/connect/EV-01 \ -H "SIMIT-API-KEY: <your-key>" \ -H "Content-Type: application/json" \ -d '{"cbId": "CP-001", "connectorId": 1}' # 3. Start a charging transaction $ curl -X POST https://simit.ddosoft.com/api/v1/cs/transaction/start/CP-001 \ -H "SIMIT-API-KEY: <your-key>" \ -H "Content-Type: application/json" \ -d '{"connectorId": 1, "idTag": "ABC123"}'

Frequently asked questions

Everything you need to know about OCPP, EV charging simulation, and SimIt.

Understanding OCPP

What is OCPP?

OCPP (Open Charge Point Protocol) is the open communication standard between EV charging stations and a back-end management platform (CSMS). It defines how a charger authenticates drivers, starts and stops sessions, reports energy, and receives remote commands. OCPP 1.6 over JSON/WebSocket is the most widely deployed version today.

What is a CSMS?

A CSMS (Charge Station Management System) is the server-side software that manages a network of EV chargers — handling driver auth, billing, remote control, energy reporting, firmware updates, and smart charging. SimIt lets CSMS vendors test all of this without physical hardware.

What is an EVSE?

EVSE (Electric Vehicle Supply Equipment) is the logical or physical unit that supplies power to an EV — what most people call a charging point or connector outlet. One station can contain multiple EVSEs, each with one or more connectors. SimIt simulates this full hierarchy.

What is the difference between OCPP 1.6 and 2.0.1?

OCPP 1.6 uses a flat message model over a single WebSocket per station. OCPP 2.0.1 introduces a structured device model, native multi-EVSE support, enhanced security (TLS, certificates), improved smart charging, and display message support. SimIt fully supports OCPP 1.6; 2.0.1 is in active development.

What OCPP versions does SimIt support?

SimIt fully implements OCPP 1.6 — including BootNotification, Heartbeat, Authorize, StartTransaction, StopTransaction, MeterValues, StatusNotification, RemoteStart/Stop, Reset, GetConfiguration, ChangeConfiguration, and more. OCPP 2.0.1 and 2.1 are on the roadmap.

Getting Started

Is SimIt free to use?

Yes. Sign up and receive your API key instantly — no credit card, no trial period, no waiting. Each key has a CS limit (concurrent stations) and EV limit (concurrent virtual vehicles). Contact us for higher limits needed for large-scale load testing.

Does SimIt require any installation?

No. SimIt is a cloud service at simit.ddosoft.com. Sign up, get your API key, and start making REST API calls immediately — no Docker, no server to manage. It works from any environment: dev machine, CI pipeline, or load-testing script.

How do I connect SimIt to my CSMS?

Pass your CSMS WebSocket URL when creating a station. SimIt opens the connection immediately, sends BootNotification, and begins periodic Heartbeats at the interval your CSMS specifies. Both unauthenticated and Basic-auth endpoints are supported, as well as WSS.

My CSMS runs locally — how do I connect SimIt to it?

SimIt connects out to your CSMS URL, so it must be publicly reachable. For local dev: ngrok (ngrok http 9000, free tier, random subdomain) or Cloudflare Tunnel (cloudflared tunnel --url http://localhost:9000, free, persistent subdomain, no rate limits).

Simulating Charging Sessions

How do I simulate a RemoteStartTransaction?

Create a station, connect it to your CSMS, create a virtual EV, and plug it into a connector. Your CSMS sends RemoteStartTransaction — SimIt responds Accepted, opens the transaction, and begins sending periodic MeterValues. The EV's SOC rises realistically throughout the session.

How do I simulate a charging error or fault?

Use the error endpoints to set any OCPP 1.6 error code on a connector: Faulted, GroundFailure, HighTemperature, InternalError, OverCurrentFailure, PowerMeterFailure, OtherError. SimIt sends a StatusNotification immediately. Use the reset endpoint to clear it.

How does network fault injection work?

Call network/disconnect to drop the WebSocket instantly — as if the charger lost internet. SimIt then reconnects automatically with exponential backoff and random jitter, exercising your CSMS reconnect logic and session recovery. Call network/connect to reconnect on demand.

Scale & Performance

Can SimIt simulate multiple charging stations at once?

Yes. Each station runs as an independent asyncio task with its own WebSocket connection. Create, update, and delete hundreds simultaneously via the REST API. SimIt's cloud infrastructure handles the concurrency — no configuration needed on your side.

Can I use SimIt for load testing my CSMS?

Yes, this is a primary use case. Script the REST API to spin up hundreds of stations and EVs, start transactions across all of them, and observe how your CSMS handles concurrent BootNotifications, Heartbeats, MeterValues, and transaction messages — all sending realistic OCPP 1.6 traffic, not synthetic pings.

Integration & Security

Does SimIt require physical EV charging hardware?

No. SimIt simulates charging stations, EVSEs, connectors, and electric vehicles entirely in software. From your CSMS's perspective it is indistinguishable from real hardware. Ideal for teams building a CSMS before chargers are available, or for automated regression testing after every code change.

What authentication methods does SimIt support?

SimIt REST API calls require the SIMIT-API-KEY header. For outbound CSMS connections, SimIt supports unauthenticated WebSocket URLs, Basic-auth credentials embedded in the URL (ws://user:pass@csms.example.com/...), and TLS/WSS connections.