⚡ Chargepoints · CSMS · SaaS

The OCPP Simulator
for Chargepoints & CSMS

SimItNow: Simulate It Now.

Simulate charging stations with realistic virtual EVs, and now a hosted CSMS, via REST API. No hardware needed. SimItNow lets CSMS (also called CPMS) vendors test every edge case, from BootNotification to smart charging, before going live, and lets chargepoint vendors validate their own OCPP handshake against a real Central System.

Get API key → See features
5,038 simulators registered

Simulate chargepoints and CSMS

From a single connector to hundreds of concurrent stations, plus a hosted CSMS chargepoints can dial into, SimItNow covers what your test plan needs.

🔌

Connection Preflight

Before a station is created, SimItNow opens a real OCPP handshake against your CSMS and tells you in plain language what went wrong (credentials refused, wrong path, unreachable host) instead of leaving you with a station that silently never connects.

🏗️

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.

🧪

CI/CD & Staging Environment Testing

Point SimItNow at a staging environment or your CSMS/CPMS backend and script OCPP conformance testing and regression suites into every pipeline run, with no physical charge point emulator to rack, cable, or maintain.

📡

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. SimItNow's cloud infrastructure handles the scale, with no setup or 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.

🔐

WebSocket Security

Connect to CSMS endpoints that require Basic Auth or TLS. Pass a security object at create time, and SimItNow adds the Authorization header and SSL context automatically, with no changes to your OCPP logic.

🆕

OCPP 2.0.1

Simulate OCPP 2.0.1 charging stations alongside existing 1.6 stations. Full transaction lifecycle, smart charging profiles, and device model support: connect any 2.0.1-capable CSMS today.

🖥️

Hosted CSMS for Chargepoint Testing

Create a CSMS instance and register a chargepoint against it: the mirror image of simulating a station. A real or simulated chargepoint implementation dials in over wss://, authenticates with a one-time password, and you validate its client-side OCPP 1.6 behavior against a real Central System, from the dashboard or the v2 API.

Transparent plans that scale with your test load

Get your API key in minutes. Every plan includes full concurrent simulator capacity, no setup fees, and no long-term contract.

Free

$0/mo

1 chargepoint + burst preview
Exploration
5,000 messages/day

Start free →

Dev

$69/mo

or $690/yr (save ~17%)

20 chargepoints
Individual developers
$3.45/chargepoint
100,000 messages/day

Get started →

Load

$649/mo

or $6,490/yr (save ~17%)

500 chargepoints
Load testing
$1.30/chargepoint
2,500,000 messages/day

Get started →

Enterprise

Contact us

500+ chargepoints
Production-scale & high-volume simulation
Unlimited messages/day

Talk to us →

Need to test at scale before you commit? Get a free trial of up to 500 chargepoints, with no commitment and no credit card.

Request a trial →

No setup fees, email us anytime to change or cancel your plan. Billed monthly in USD. Same number of EV simulators is always available.

Simulate a full charging session
in four steps

1

Get your API key

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

2

Create a Station

POST to the API with your staging or production CSMS WebSocket URL. SimItNow 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 (SIMITNOW-API-KEY).

⚡ Charging Station https://api.simitnow.com/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 https://api.simitnow.com/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 & 2.0.1 today,
2.1 on the roadmap

OCPP 1.6

Fully implemented
  • Station registration & keep-alive
  • Remote session start & stop
  • Configurable MeterValues measurands
  • Clock-aligned energy reporting
  • Smart charging profiles
  • Remote configuration
  • Hard & Soft reset
  • Reservation management & auto-expiry
  • Authorization caching & offline fallback
  • ChangeAvailability scheduling
  • Live status updates
  • WebSocket Security (Basic Auth, TLS)

OCPP 2.0.1

Fully implemented
  • Station registration & keep-alive
  • Remote session start & stop
  • TransactionEvent (Started/Updated/Ended)
  • Instant meter readings on session start & stop
  • Configurable MeterValues
  • Smart charging profiles
  • Device model (GetBaseReport, SetVariables, GetVariables)
  • WebSocket Security (Basic Auth, TLS)

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 www.simitnow.com and get your API key instantly. No credit card needed.

2

Create a charge point

POST to https://api.simitnow.com/v1/cs/create/{id} with your CSMS WebSocket URL. SimItNow 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://api.simitnow.com/v1/cs/create/CP-001 \ -H "SIMITNOW-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://api.simitnow.com/v1/ev/create/EV-01 \ -H "SIMITNOW-API-KEY: <your-key>" \ -H "Content-Type: application/json" \ -d '{"batteryCapacity": 60}' $ curl -X POST https://api.simitnow.com/v1/ev/connect/EV-01 \ -H "SIMITNOW-API-KEY: <your-key>" \ -H "Content-Type: application/json" \ -d '{"cbId": "CP-001", "connectorId": 1}' # 3. Start a charging transaction $ curl -X POST https://api.simitnow.com/v1/cs/transaction/start/CP-001 \ -H "SIMITNOW-API-KEY: <your-key>" \ -H "Content-Type: application/json" \ -d '{"connectorId": 1, "idTag": "ABC123"}'

Latest articles

Short reads on OCPP simulator support, EV charging system testing, and CSMS validation.

SimItNow v0.8.2: OCPP 2.0.1 Simulator Support Is Live

OCPP 2.0.1 simulator support is live with TransactionEvent lifecycle, multi-EVSE scenarios, smart charging, device model behavior, and security handlers.

Read articles

Testing EV Charging Systems: How to Choose OCPP Simulators

A practical guide to choosing OCPP simulators for CSMS behavior, reconnect timing, meter consistency, fault injection, and load testing.

Read articles

Frequently asked questions

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

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 (Charging Station Management System) is the server-side software that manages a network of EV chargers: driver auth, billing, remote control, energy reporting, firmware updates, and smart charging. SimItNow lets CSMS vendors test all of this without physical hardware.

Is CPMS the same as a CSMS?

Yes. CPMS (Charge Point Management System) and CSMS (Charging Station Management System) refer to the same backend: the software that authorizes charging sessions, tracks energy, and sends remote commands to EV chargers over OCPP. "CSMS" is the term used in the OCPP specification itself; "CPMS" is common vendor and regional terminology for the identical system. SimItNow works the same way regardless of which term your team uses.

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. SimItNow 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. SimItNow fully supports both OCPP 1.6 and OCPP 2.0.1.

What OCPP versions does SimItNow support?

SimItNow fully implements OCPP 1.6 across all standard feature profiles: Core, Firmware Management, Local Auth List, Reservation, Smart Charging, and Remote Trigger. The simulator behaves like real hardware: BootNotification handles Pending responses correctly, Soft and Hard resets are differentiated, ChangeAvailability returns Scheduled during active sessions, reservations expire automatically at their expiry time, authorization responses are cached with offline fallback, and MeterValues honour your MeterValuesSampledData and ClockAlignedDataInterval configuration. SimItNow also fully implements OCPP 2.0.1: connect 2.0.1 stations with full transaction lifecycle (TransactionEvent), smart charging profiles, and device model support. OCPP 2.1 is on the roadmap.

About OCPP Simulators

What is the difference between an OCPP simulator and a real charger?

A real charger has firmware, hardware, and power electronics. An OCPP simulator, also called a charge point emulator or virtual charge point (VCP), is pure software. It speaks the OCPP protocol over WebSocket exactly as a real charger would, but there is no physical device. You use it to test your CSMS during development and QA without needing any charging hardware on-site.

Does SimItNow work with OCPP 1.6 and 2.0.1 simultaneously?

Yes. Each station is independent, so you can run OCPP 1.6 and 2.0.1 stations at the same time under one API key. Specify protocol: "ocpp1.6" or protocol: "ocpp2.0.1" in the create request. This lets you test mixed-protocol fleets or validate a CSMS migration scenario where both protocol versions are active at once.

Can I use SimItNow for OCPP interoperability and protocol validation testing?

Yes. Because SimItNow implements the OCPP 1.6 and 2.0.1 specifications closely, including feature profiles, message sequencing, and configurable security modes, you can use it to validate how your CSMS/CPMS interoperates with a range of charging-station behaviors, not just one reference implementation. It's a practical way to catch protocol-level bugs during development, before an official OCPP compliance testing tool (such as the Open Charge Alliance's OCTT) or a real charger finds them for you.

How do I run an automated OCPP test suite with SimItNow?

Use the REST API from any CI/CD pipeline. A typical test: (1) create a station pointed at your CSMS under test, (2) connect a virtual EV and trigger a transaction, (3) assert on your CSMS's response via its own API or logs, (4) delete the station. Each test is stateless and runs in seconds. The REST API works from any language: shell, Python, JavaScript, or a test framework like pytest or Jest.

Getting Started

Is SimItNow free to use?

Yes. Sign up and receive your API key instantly, with no credit card and no waiting. Each key has a CS limit (concurrent stations) and EV limit (concurrent virtual vehicles). Need more capacity to evaluate? Email us to request a free trial of up to 500 chargepoints.

Does SimItNow require any installation?

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

How do I connect SimItNow to my CSMS?

Pass your CSMS WebSocket URL when creating a station. SimItNow opens the connection immediately, sends BootNotification, and begins periodic Heartbeats at the interval your CSMS specifies. Plain ws://, TLS wss://, and Basic Auth connections are all supported via the optional security field.

My CSMS runs locally: how do I connect SimItNow to it?

SimItNow connects out to your CSMS URL, so it must be publicly reachable. For local dev, expose your CSMS with ngrok (ngrok http <port>, free tier, random subdomain each run) or Cloudflare Tunnel (cloudflared tunnel --url http://localhost:<port>, free, persistent subdomain). Both give you a wss:// URL; use that as the CSMS endpoint when creating a station in SimItNow.

Can I test my own chargepoint implementation against SimItNow?

Yes. SimItNow also runs its own OCPP 1.6 Central System (CSMS): the reverse of connecting SimItNow to your CSMS. Create a CSMS instance and register a chargepoint from the dashboard's “Chargepoints (CSMS)” section (or the v2 API) to get a one-time Basic Auth password and a wss:// connection URL, then point your chargepoint client at it to validate its handshake, BootNotification, and transaction flow against a real Central System.

Can I let any chargepoint connect to my CSMS instance without registering it first?

Yes, if you switch your CSMS instance to public mode. Public mode accepts any chargepoint with no allow-list and no credentials at all: it is fully unauthenticated (OCPP Security Profile 0), gated only by a per-account limit on concurrent connections. It is meant for short-lived testing, such as a chargepoint vendor validating their own client, not a permanent setup: anyone who knows your csmsId can connect while it is public. Switch back to private, the default, to require registration and a per-chargepoint password again.

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, and SimItNow responds Accepted, opens the transaction, and begins sending periodic MeterValues. The EV's SOC rises realistically throughout the session. To test the opposite case, create the station with emulateRemoteStartRejected: true and it will answer Rejected to every remote start instead.

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. SimItNow 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. SimItNow then reconnects automatically with backoff and random jitter, exercising your CSMS reconnect logic and session recovery. Call network/connect to reconnect on demand.

Scale & Performance

Can SimItNow 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. SimItNow's cloud infrastructure handles the concurrency, with no configuration needed on your side.

Can I use SimItNow for load testing my CSMS?

Yes, load testing at scale and EV charging stress testing 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 SimItNow require physical EV charging hardware?

No. SimItNow 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/CPMS backend before chargers are available, or for automated regression testing after every code change.

What authentication methods does SimItNow support?

SimItNow REST API calls require the SIMITNOW-API-KEY header. For outbound CSMS connections, SimItNow supports three security modes: plain WebSocket with no auth (SP-0), Basic Auth via the security.basicAuth field in the create request (SP-1), and TLS/WSS connections with optional server certificate skip for self-signed dev setups. Pass "security": {"basicAuth": {"password": "secret"}} alongside your CSMS URL, and the Authorization: Basic header is added to the WebSocket handshake automatically.