ChangeConfiguration

Sets a configuration key on the charge point. The main remote-configuration mechanism in OCPP 1.6.

Version
OCPP 1.6
Direction
CSMS → Charge Point
Feature profile
Core

Configuration in OCPP 1.6 is a flat set of string key/value pairs. ChangeConfiguration writes one key; GetConfiguration reads them back.

The spec defines a list of standard keys — HeartbeatInterval, MeterValueSampleInterval, ConnectionTimeOut and others — and vendors add their own freely.

Request

FieldTypeRequiredDescription
keyCiString50RequiredThe configuration key to set.
valueCiString500RequiredThe new value, as a string. Numbers and booleans are string-encoded.
json
[2, "19223201", "ChangeConfiguration", {
  "key": "HeartbeatInterval",
  "value": "300"
}]

Response

FieldTypeRequiredDescription
statusConfigurationStatusRequiredResult of the write.
json
[3, "19223201", {
  "status": "Accepted"
}]

Values

ConfigurationStatus

ValueMeaning
AcceptedThe key was set and is in effect.
RejectedThe key is known but the value was refused.
RebootRequiredThe key was stored but takes effect only after a reset.
NotSupportedThe charge point does not have this key.

Implementation notes

`RebootRequired` means the write succeeded and nothing changed yet. A CSMS that reads it as success will believe a setting is active when it is not; one that reads it as failure will retry forever. Follow it with a Reset.

All values are strings. "true", not true; "300", not 300. Sending a JSON number is a type violation that many chargers reject.

Some keys are read-only. Writing one returns Rejected, and GetConfiguration reports it with readonly: true.