NotifyEvent

Reports events from the device model — including the faults that 1.6 sent in StatusNotification.

Version
OCPP 2.0.1
Direction
Charge Point → CSMS
Functional block
Diagnostics

This is where 1.6's error codes went. StatusNotification in 2.0.1 has no errorCode field; faults are reported here instead, as events raised against a component and variable.

The model is more expressive and considerably less convenient. A 1.6 fault was one enum value on a connector. A 2.0.1 fault is an event with a trigger, a component, a variable, a severity and a technical code — richer, but there is no fixed list of sixteen values to switch on.

Request

FieldTypeRequiredDescription
generatedAtdateTimeRequiredWhen the station generated this batch.
seqNointegerRequiredPart number, for batches split across messages.
eventDataEventDataType[]RequiredThe events. Each has eventId, timestamp, trigger, actualValue, component, variable and eventNotificationType.
tbcbooleanOptionalTrue when more parts follow.
json
[2, "19223201", "NotifyEvent", {
  "generatedAt": "2026-09-09T10:45:00Z",
  "seqNo": 0,
  "eventData": [{
    "eventId": 1201,
    "timestamp": "2026-09-09T10:44:58Z",
    "trigger": "Alerting",
    "actualValue": "Faulted",
    "eventNotificationType": "HardWiredNotification",
    "component": { "name": "Connector", "evse": { "id": 1, "connectorId": 1 } },
    "variable": { "name": "Problem" },
    "severity": 2
  }]
}]

Response

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

json
[3, "19223201", {}]

Values

EventTriggerEnumType

ValueMeaning
AlertingA monitored value crossed a threshold.
DeltaA monitored value changed by more than the configured delta.
PeriodicA periodic report of a monitored value.

EventNotificationEnumType

ValueMeaning
HardWiredNotificationBuilt into the station's firmware.
HardWiredMonitorA monitor built into the firmware.
PreconfiguredMonitorA monitor configured before deployment.
CustomMonitorA monitor set by the CSMS with SetVariableMonitoring.

severity

ValueMeaning
0Danger — immediate action required.
1Hardware failure.
2System failure.
3Critical.
4Error.
5Alert.
6Warning.
7Notice.
8Informational.
9Debug.

Implementation notes

Severity is inverted from intuition: 0 is the most severe, 9 the least. An alerting pipeline that treats higher numbers as worse will page on debug messages and ignore hardware failures.

Migrating 1.6 fault handling means rebuilding it. There is no mapping from ChargePointErrorCode to these events; the station's own device model decides what it reports.

Accumulate batches until tbc is false, as with the other Notify messages.