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,UpdatedandEndedevents 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
GetVariablesandSetVariables. - ID tokens carry a type (ISO14443, eMAID and others) instead of a bare ID tag.
// 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.
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.