Skip to content

OCPP 2.0.1 & 2.1 Simulator: TransactionEvent and Device Model

Simulate and emulate OCPP 2.0.1 and 2.1 charging stations: TransactionEvent, EVSE status, device model variables, SetVariables and remote transactions over WebSocket.

What changes in OCPP 2.0.1

  • TransactionEvent covers the whole transaction lifecycle with Started, Updated and Ended events and a sequence number.
  • EVSEs and connectors: status is reported per EVSE and connector, with a simpler status set (Available, Occupied, Reserved, Unavailable, Faulted).
  • Device model: configuration becomes components and variables, managed with GetVariables and SetVariables.
  • ID tokens carry a type (ISO14443, eMAID and others) instead of a bare ID tag.
OCPP 2.0.1 TransactionEvent
// Charging station → CSMS
[2, "c71e", "TransactionEvent", {
  "eventType": "Started",
  "seqNo": 1,
  "timestamp": "2026-09-29T10:00:00Z",
  "triggerReason": "Authorized",
  "transactionInfo": {
    "transactionId": "1759140000000",
    "chargingState": "Charging"
  },
  "evse": { "id": 1, "connectorId": 1 },
  "idToken": { "idToken": "DEADBEEF", "type": "ISO14443" }
}]

What the simulator supports

  • Transactions

    TransactionEvent Started and Ended with energy, plus RequestStartTransaction and RequestStopTransaction from the CSMS.

  • Status and availability

    StatusNotification per EVSE and connector, ChangeAvailability, Reset, UnlockConnector, TriggerMessage.

  • Device model

    GetVariables and SetVariables against an editable set of components and variables.

  • Smart charging

    SetChargingProfile, ClearChargingProfile, GetChargingProfiles, GetCompositeSchedule.

  • Driver-facing messages

    Display messages and CostUpdated, shown live on the connector panel.

  • Security

    Certificate installation and removal, and GetLog, over ws:// or TLS-encrypted wss://.

Switching versions

Each charger has its own OCPP version, so you can run a 1.6J charger and a 2.0.1 charger side by side against the same CSMS. Change the version while disconnected; the simulator then negotiates the matching WebSocket subprotocol on connect.

Still on 1.6? See the OCPP 1.6J simulator guide.

Test your OCPP 2.0.1 or 2.1 CSMS

Open the simulator, point it at your CSMS URL and connect. Everything runs in your browser.

Open the simulator

Frequently asked questions

What is the main difference between OCPP 1.6 and OCPP 2.0.1?

OCPP 2.0.1 replaces StartTransaction and StopTransaction with a single TransactionEvent message, models chargers as EVSEs with connectors, and replaces configuration keys with a device model of components and variables read and written through GetVariables and SetVariables.

Does the simulator support OCPP 2.1?

Yes. OCPP 2.0.1 and 2.1 are both selectable; the simulator negotiates the matching WebSocket subprotocol (ocpp2.0.1 or ocpp2.1).

Can I test device model variables?

Yes. The simulator exposes a device model the CSMS can read with GetVariables and change with SetVariables; read-only variables are rejected, and you can view and edit the values in the Config tab.