Request Start Transaction
Source: OCPP 2.0.1 Part 2 — Specification (Edition 2, 2022-12-15) — Section 1.44 (Messages); Use Cases F01 — Remote Start Transaction - Cable Plugin First, F02 — Remote Start Transaction - Remote Start First (Functional Block F. RemoteControl)
Overview
The CSMS sends RequestStartTransactionRequest to ask the Charging Station to start a transaction. OCPP 2.0.1 replaces the OCPP 1.6 RemoteStartTransaction with this message and adds:
- A mandatory
remoteStartIdso the CS can echo it back inTransactionEvent(so the CSMS can correlate the eventual transaction to this request). - An optional
groupIdTokenfor cases where reservations were made for a group.
If the transaction was already started by the CS (e.g. cable plugged in first) when this request arrives, the response may include the existing transactionId and indicate that the request "matched" an in-progress transaction.
The behaviour depends on the AuthorizeRemoteStart configuration variable: if true, the CS first authorizes via AuthorizeRequest; if false, authorization is deferred to the eventual TransactionEvent(Started).
Sequence Diagram
CSMS ──── RequestStartTransactionRequest ────▶ Charging Station
(evseId?, remoteStartId, idToken, chargingProfile?, groupIdToken?)
CSMS ◀─── RequestStartTransactionResponse ──── Charging Station
(status, transactionId?, statusInfo?)
Initiator
CSMS → Charging Station
Fields
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
| evseId | integer (> 0) | 0..1 | Optional. EVSE on which to start. Must be > 0. |
| remoteStartId | integer | 1..1 | Required. Id given by the server. CS echoes it in TransactionEventRequest so the CSMS can correlate. |
| idToken | IdTokenType | 1..1 | Required. The identifier the CS must use to start the transaction. |
| chargingProfile | ChargingProfileType | 0..1 | Optional. Charging Profile to use. Purpose MUST be TxProfile. |
| groupIdToken | IdTokenType | 0..1 | Optional. Relevant when starting on an EVSE with an active reservation for groupIdToken and AuthorizeRemoteStart = false. |
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
| status | RequestStartStopStatusEnumType | 1..1 | Required. Whether the CS accepts the request. |
| transactionId | identifierString [0..36] | 0..1 | Optional. When the transaction was already started by the CS, this contains the existing transactionId. |
| statusInfo | StatusInfoType | 0..1 | Optional. Detailed status information. |
RequestStartStopStatusEnumType values
Accepted, Rejected.
Examples
{
"evseId": 1,
"remoteStartId": 7,
"idToken": { "idToken": "044943121F1A80", "type": "ISO14443" }
}{
"status": "Accepted"
}Schema
Source:
schemas/RequestStartTransactionRequest.json,schemas/RequestStartTransactionResponse.json(OCPP 2.0.1 FINAL)