StatusNotification

Reports a connector's state, and any fault, to the CSMS. The main source of availability data.

Version
OCPP 1.6
Direction
Charge Point → CSMS
Feature profile
Core

StatusNotification also exists in OCPP 2.0.1, with a different payload. See the OCPP 2.0.1 version.

StatusNotification tells the CSMS what a connector is doing and whether anything is wrong with it. It is sent whenever the status changes, and it is what every availability dashboard and uptime metric is ultimately built from.

connectorId: 0 is special: it refers to the charge point as a whole rather than to any individual connector. A fault that takes out the whole station is reported on connector 0.

Request

FieldTypeRequiredDescription
connectorIdintegerRequiredThe connector this applies to. 0 means the charge point itself.
errorCodeChargePointErrorCodeRequiredThe fault, or NoError when healthy.
statusChargePointStatusRequiredThe connector's current state.
timestampdateTimeOptionalWhen the status changed. Strongly recommended — without it the CSMS has to guess.
infoCiString50OptionalFree-text detail about the current status.
vendorIdCiString255OptionalIdentifies the vendor namespace for vendorErrorCode.
vendorErrorCodeCiString50OptionalManufacturer-specific error code.
json
[2, "19223201", "StatusNotification", {
  "connectorId": 1,
  "errorCode": "NoError",
  "status": "Charging",
  "timestamp": "2026-09-09T10:22:11.000Z"
}]

Response

No fields — the payload is an empty object {}.

json
[3, "19223201", {}]

Values

ChargePointStatus

ValueMeaning
AvailableIdle and ready for a new session.
PreparingA user has been detected — cable plugged, or token presented — but charging has not started.
ChargingDelivering energy to the vehicle.
SuspendedEVSession is open but the VEHICLE has paused the draw. Usually a full battery.
SuspendedEVSESession is open but the CHARGER has paused delivery. Usually load management or a smart charging limit.
FinishingThe session has ended; the connector is not yet available again.
ReservedHeld by a reservation.
UnavailableAdministratively out of service, via ChangeAvailability.
FaultedA fault is present. errorCode says which.

ChargePointErrorCode

ValueMeaning
NoErrorNo fault. Sent with normal status changes.
ConnectorLockFailureFailure to lock or unlock the connector.
EVCommunicationErrorCommunication with the vehicle failed. Often a Control Pilot problem.
GroundFailureGround fault circuit interrupter tripped.
HighTemperatureInternal temperature too high.
InternalErrorFault in an internal hardware or software component.
LocalListConflictLocal authorization list version conflict during an update.
OverCurrentFailureOver-current protection tripped.
OverVoltageSupply voltage above the permitted range.
PowerMeterFailureThe power meter failed.
PowerSwitchFailureThe power switch or contactor failed.
ReaderFailureThe RFID reader failed.
ResetFailureA requested reset failed.
UnderVoltageSupply voltage below the permitted range.
WeakSignalWireless communication signal too weak.
OtherErrorA fault that none of the other codes describes.

Implementation notes

SuspendedEV and SuspendedEVSE get swapped constantly. EV means the car stopped drawing; EVSE means the charger stopped supplying. Getting them backwards makes load-management behaviour look like vehicle behaviour in every report built on top.

`timestamp` is optional and should not be. Without it the CSMS timestamps on receipt, so any queued message delivered after a reconnect gets the wrong time. Send it.

A charger must send StatusNotification for every connector after boot, so the CSMS starts from a known state.