Boot Notification
Source: OCPP 2.0.1 Part 2 — Specification (Edition 2, 2022-12-15) — Section 1.2 (Messages); Use Cases B01–B04 (Functional Block B. Provisioning)
Overview
After (re)boot, the Charging Station sends BootNotificationRequest to the CSMS containing the boot reason and Charging Station identification (vendor, model, serial, firmware, modem, …).
The CSMS replies with BootNotificationResponse containing the registration status (Accepted, Pending, or Rejected), the CSMS current time, and the heartbeat interval the CS shall apply.
Behaviour:
- Accepted — CS is registered. CS adjusts its heartbeat interval and is RECOMMENDED to synchronize its clock from
currentTime. - Pending — CSMS wants to retrieve/configure information first. CS may only respond to CSMS requests; it SHALL NOT send other unsolicited messages (except in response to
TriggerMessage). - Rejected — CS SHALL NOT send any OCPP message until
intervalseconds have elapsed and SHALL retryBootNotificationafter that delay.
Sequence Diagram
Charging Station ──── BootNotificationRequest ────▶ CSMS
(reason, chargingStation)
Charging Station ◀─── BootNotificationResponse ──── CSMS
(currentTime, interval, status, statusInfo?)
Initiator
Charging Station → CSMS
Fields
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
| reason | BootReasonEnumType | 1..1 | Required. Reason for sending this message to the CSMS. |
| chargingStation | ChargingStationType | 1..1 | Required. Identifies the Charging Station (model, vendor, serial, firmwareVersion, modem). |
| Field Name | Field Type | Card. | Description |
|---|---|---|---|
| currentTime | dateTime | 1..1 | Required. The CSMS's current time. |
| interval | integer | 1..1 | Required. When status is Accepted, the heartbeat interval (s). When status is Pending/Rejected, the minimum wait before resending BootNotification. |
| status | RegistrationStatusEnumType | 1..1 | Required. Whether the CS has been registered. |
| statusInfo | StatusInfoType | 0..1 | Optional. Detailed status information. |
BootReasonEnumType values
ApplicationReset, FirmwareUpdate, LocalReset, PowerUp, RemoteReset, ScheduledReset, Triggered, Unknown, Watchdog.
RegistrationStatusEnumType values
Accepted, Pending, Rejected.
Examples
{
"reason": "PowerUp",
"chargingStation": {
"model": "ModelY-1000",
"vendorName": "VendorX",
"serialNumber": "CP-2026-000123",
"firmwareVersion": "1.4.2",
"modem": {
"iccid": "8931080019073512345",
"imsi": "204043388888888"
}
}
}{
"currentTime": "2026-04-27T12:34:56Z",
"interval": 300,
"status": "Accepted"
}Schema
Source:
schemas/BootNotificationRequest.json,schemas/BootNotificationResponse.json(OCPP 2.0.1 FINAL)