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

FieldTypeRequiredDescription
idintegerOptionalA specific chargingProfileId to remove.
connectorIdintegerOptionalLimit removal to this connector.
chargingProfilePurposeChargingProfilePurposeOptionalLimit removal to this purpose.
stackLevelintegerOptionalLimit removal to this stack level.
json
[2, "19223201", "ClearChargingProfile", {
  "connectorId": 1,
  "chargingProfilePurpose": "TxProfile"
}]

Response

FieldTypeRequiredDescription
statusClearChargingProfileStatusRequiredWhether anything matched.
json
[3, "19223201", {
  "status": "Accepted"
}]

Values

ClearChargingProfileStatus

ValueMeaning
AcceptedAt least one profile matched and was removed.
UnknownNo 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.