ClearChargingProfile
Removes charging profiles matching a filter. Every field is optional, and omitting all of them clears everything.
- Version
- OCPP 1.6
- Direction
- CSMS → Charge Point
- Feature profile
- Smart Charging
ClearChargingProfile also exists in OCPP 2.0.1, with a different payload. See the OCPP 2.0.1 version.
ClearChargingProfile deletes by filter rather than by id alone. Supplying id removes one specific profile; supplying connectorId, chargingProfilePurpose or stackLevel removes everything matching.
Sending an empty object clears every profile on the charge point. That is occasionally what you want and more often an outage.
Request
| Field | Type | Required | Description |
|---|---|---|---|
id | integer | Optional | A specific chargingProfileId to remove. |
connectorId | integer | Optional | Limit removal to this connector. |
chargingProfilePurpose | ChargingProfilePurpose | Optional | Limit removal to this purpose. |
stackLevel | integer | Optional | Limit removal to this stack level. |
[2, "19223201", "ClearChargingProfile", {
"connectorId": 1,
"chargingProfilePurpose": "TxProfile"
}]Response
| Field | Type | Required | Description |
|---|---|---|---|
status | ClearChargingProfileStatus | Required | Whether anything matched. |
[3, "19223201", {
"status": "Accepted"
}]Values
ClearChargingProfileStatus
| Value | Meaning |
|---|---|
Accepted | At least one profile matched and was removed. |
Unknown | No profile matched the filter. Nothing was removed. |
Implementation notes
`{}` clears every profile on the charge point, including the ChargePointMaxProfile that protects the supply. Always send at least one filter field unless a full reset is genuinely intended.
The failure status is `Unknown`, not `Rejected`. It means nothing matched, which is usually harmless — a TxProfile for a session that already ended is gone on its own.
Removing a high stack level profile makes the next one down take effect. Nothing needs to restate what it replaced.