Skip to content

Test OCPP and OCPI without hardware

OCPP 1.6 / 2.0.1 / 2.1 OCPI 2.1.1 / 2.2.1 / 2.3.0

Browser-based OCPP and OCPI emulator for CSMS and roaming QA. Spin up virtual charge points, inspect every message in real time, and share replayable logs with your team.

Set up a virtual charger in about 2 minutes. Free to start.

Product still: in the OCPPLab workspace, virtual charger CP-201-004, modeled on the ABB Terra AC Wallbox (AC · 22 kW · Type 2), is charging on OCPP 2.0.1. Its message log shows TransactionEvent Started, StatusNotification Occupied and TransactionEvent Updated.

Add a virtual charger and start a session in OCPPLab

Animated product preview: in the OCPPLab Chargers workspace, a virtual charger CP-16-031 is added from the Alfen Eve Single Pro-line vendor profile. The OCPP 1.6 message log shows BootNotification answered Accepted, then StatusNotification Available. A RemoteStartTransaction is Accepted, the charger sends StartTransaction and StatusNotification Charging, and its power rises to 7.4 kW as MeterValues arrive. Stopping the session with RemoteStopTransaction resets the scene.

Charger catalog

Run virtual chargers modeled on charger brands in the OCPPLab catalog.

Catalog models carry connector layouts, current types, and power ratings for CSMS testing. Brand names identify the hardware a model is based on; they are not customers or partners.

Protocols & standards

Real OCPP-J and OCPI frames, with a guide for every shipped version

OCPP · Open Charge Point Protocol

Charging station ↔ CSMS

OCPP 2.0.1 BootNotification request and its Accepted response

OCPI · Open Charge Point Interface

CPO ↔ eMSP roaming

OCPI 2.2.1 Locations response with status_code 1000

EEBUS and Modbus are adjacent energy and industrial standards, not product modules.

SDK, catalog and roaming

Deploy chargers from code, pick real models, simulate a roaming partner

Product still: a Python script calls client.evcharger.deployment.create in a loop to deploy virtual chargers CP-16-001, CP-16-002, CP-16-003, CP-16-004, CP-16-005, CP-16-006 and onward on OCPP 1.6; the Chargers list beside it shows them Available.

OCPPLab SDK

Deploy virtual chargers from Python or TypeScript and point them at your CSMS, one call per charger.

Product still: a grid of charger photos from the OCPPLab catalog, with the Alfen Eve Double Pro-line profile in focus (AC · 2 × Type 2 · 22 kW).

Virtual hardware profiles

Run chargers modeled on real catalog hardware. Test your software across OCPP 1.6 / 2.0.1 / 2.1 without physical units.

Product still: an eMSP sends the OCPI 2.2.1 START_SESSION command; the CPO answers CommandResponse ACCEPTED, then posts CommandResult ACCEPTED.

Roaming partner simulation

Test Locations, Tokens, Sessions, Commands, and CDR flows with virtual roaming partners.

Testing principle

Hardware labs still matter, but they should confirm behavior you already rehearsed. Make the first integration failure happen in a browser, not during a field rollout.

Example on OCPP 1.6: a StartTransaction with a negative meterStart, rejected by the CSMS with a CALLERROR, caught in the workspace before any hardware ships.
Workspace areas

Six areas, one sign-in

Virtual charger

Fleet, sites, logs, workflows, and playgrounds for hardware-free OCPP simulation.

Playground form for virtual charger CP-16-030 on OCPP 1.6: a StatusNotification for connector 1 with status Faulted and errorCode ConnectorLockFailure, ready to send.

Charging

Charger list, OCPP map, and station detail for the charge points you operate.

A station's EVSE 1 Available and EVSE 2 Occupied.

OCPP proxy

Backends, tokens, routes, and a message log for charger traffic.

Charger CP-16-030 routed through the proxy to its CSMS, a Heartbeat in transit.

Roaming

Partners, OCPI catalog, sync, commands, and charging profiles in one workspace.

OCPI credentials handshake with a roaming hub: Versions and Credentials done, the hub reporting the connection CONNECTED.

Observability

Health hub for the charger, CSMS, and roaming paths you run.

The charger, CSMS and roaming paths, each with its last frame: a Heartbeat from the charger, a RemoteStartTransaction from the CSMS and an OCPI PUT /sessions.

Operator assistant

Chat on the home screen for questions about your charging data.

The operator assistant answers which chargers went offline today, citing the message log.
Release workflow

Put OCPPLab before the field trial

Run the OCPPLab simulator against your CSMS on every release. A failed case opens on the frame that caused it, so the fix starts from the message.

Product still: an OCPPLab test run of 12 OCA cases against a CSMS on OCPP 1.6. 11 passed. TC_001_CSMS Cold boot failed with "BootNotification interval 86400 s is over 1800 s"; its BootNotification response frame is open, showing status Accepted and interval 86400.

Reproduce field bugs

Replay the charger, authorization, transaction, or roaming path that failed without waiting for the same hardware state.

Onboard chargers

Create model-like EV charger profiles, connect them to your CSMS, and verify setup before devices arrive on site.

Validate roaming partners

Check OCPI data and commands before a real CPO, eMSP, hub, or network partner is on the critical path.

Run release checks

Turn repeated manual checks into workflow runs with logs your team can inspect after every product change.

Questions on protocols, charger profiles, scale, security and pricing

Run your first CSMS test without hardware

Start free and launch your first virtual EV charger in minutes, or book a technical demo and run a real scenario against your stack with our OCPP simulator.

  • No credit card required
  • Virtual charger in about 2 minutes