Set Charging Profile
Source: OCPP 2.0.1 Part 2 — Specification (Edition 2, 2022-12-15) — Section 1.51 (Messages); Use Cases K01 — SetChargingProfile, K02 — Central Smart Charging, K05 — Remote Start Transaction with Charging Profile (Functional Block K. SmartCharging)
Overview
The CSMS sends SetChargingProfileRequest to install a charging profile on the Charging Station. The profile applies to a specific EVSE — evseId = 0 carries an overall limit for the whole Charging Station (used with ChargingStationMaxProfile or ChargingStationExternalConstraints purposes).
The Charging Station re-evaluates its collection of profiles when a new one is installed and selects which one becomes active based on chargingProfilePurpose precedence and stackLevel.
Sequence Diagram
CSMS ──── SetChargingProfileRequest ────▶ Charging Station
(evseId, chargingProfile)
CSMS ◀─── SetChargingProfileResponse ──── Charging Station
(status, statusInfo?)
Initiator
CSMS → Charging Station
Fields
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
| evseId | integer (>= 0) | 1..1 | Required. EVSE the profile applies to. 0 for ChargingStationMaxProfile / ChargingStationExternalConstraints (overall limit) or TxDefaultProfile (each EVSE). |
| chargingProfile | ChargingProfileType | 1..1 | Required. The charging profile. |
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
| status | ChargingProfileStatusEnumType | 1..1 | Required. Whether the CS could process the message. Does not guarantee the schedule will be followed (other constraints may apply). |
| statusInfo | StatusInfoType | 0..1 | Optional. Detailed status information. |
ChargingProfilePurposeEnumType values
ChargingStationExternalConstraints— External limit set on Charging Station as a whole.ChargingStationMaxProfile— Overall limit on the Charging Station.TxDefaultProfile— Default profile applied at the start of every transaction (per EVSE or all).TxProfile— Profile for a specific transaction.
ChargingProfileStatusEnumType values
Accepted, Rejected.
Examples
{
"evseId": 1,
"chargingProfile": {
"id": 100,
"stackLevel": 0,
"chargingProfilePurpose": "TxProfile",
"chargingProfileKind": "Absolute",
"transactionId": "tx-1234",
"chargingSchedule": [
{
"id": 1,
"startSchedule": "2026-04-27T13:00:00Z",
"duration": 3600,
"chargingRateUnit": "W",
"chargingSchedulePeriod": [
{ "startPeriod": 0, "limit": 11000.0, "numberPhases": 3 },
{ "startPeriod": 1800, "limit": 7400.0, "numberPhases": 3 }
]
}
]
}
}{
"status": "Accepted"
}Schema
Source:
schemas/SetChargingProfileRequest.json,schemas/SetChargingProfileResponse.json(OCPP 2.0.1 FINAL)