How to test RequestStartTransaction (OCPP 2.0.1)

RequestStartTransaction is the CSMS asking the station to start — the 2.0.1 name for 1.6’s RemoteStartTransaction. After Accepted, the station still has to send TransactionEvent Started.

OCPP 2.0.1 (OCA 2020, IEC 63584) is bidirectional on one WebSocket, so a CSMS can push start/stop even when the station is behind NAT. Official specification.

Index: 2.0.1 samples. Launch simulator.

When RequestStartTransaction is triggered

  • A driver taps Start in an app that talks to your CSMS.
  • An operator starts an EVSE from the control room.
  • A QA job or the API exercises the remote-start path.

RequestStartTransaction sample

CSMS → charging station
JSON[
  2,
  "csms-rs-201",
  "RequestStartTransaction",
  {
    "evseId": 1,
    "idToken": {
      "idToken": "TAG-1001",
      "type": "ISO14443"
    },
    "remoteStartId": 42
  }
]
Charging station → CSMS
JSON[
  3,
  "csms-rs-201",
  {
    "status": "Accepted"
  }
]

Then expect Authorize (optional) and TransactionEvent Started. If you only see the RequestStart pair, the CSMS command landed but the session never began.

RequestStopTransaction sample

CSMS → charging station
JSON[
  2,
  "csms-rst-201",
  "RequestStopTransaction",
  {
    "transactionId": "tx-1001"
  }
]
Charging station → CSMS
JSON[
  3,
  "csms-rst-201",
  {
    "status": "Accepted"
  }
]
Then the station ends the session
JSON[
  2,
  "cf-tx-e",
  "TransactionEvent",
  {
    "eventType": "Ended",
    "triggerReason": "RemoteStop",
    "seqNo": 4,
    "transactionInfo": {
      "transactionId": "tx-1001"
    },
    "evse": {
      "id": 1,
      "connectorId": 1
    },
    "timestamp": "2026-08-14T10:22:18.000Z"
  }
]

2.0.1 stops by transactionId string, not by connector. Still on 1.6? Use RemoteStartTransaction.

How to test without hardware

  1. Launch the simulator, set protocol to OCPP 2.0.1, and connect.
  2. Confirm BootNotification is Accepted.
  3. From the CSMS, send RequestStartTransaction with a known idToken.
  4. Watch TransactionEvent Started and Updated in the console.
  5. Send RequestStopTransaction and confirm Ended / RemoteStop.

Related guides

FAQ

What is RequestStartTransaction in OCPP 2.0.1?

It is the CSMS asking the charging station to start a session — the 2.0.1 name for what 1.6 called RemoteStartTransaction. The station answers Accepted or Rejected, then sends TransactionEvent Started.

When is RequestStopTransaction triggered?

When the CSMS wants an active transactionId to end. The station answers, then sends TransactionEvent Ended with triggerReason RemoteStop.

Last reviewed August 2026 · Chargeflux.io