BootNotification
The first message a charge point sends after connecting. Identifies the hardware and asks the CSMS for a heartbeat interval.
- Version
- OCPP 1.6
- Direction
- Charge Point → CSMS
- Feature profile
- Core
BootNotification also exists in OCPP 2.0.1, with a different payload. See the OCPP 2.0.1 version.
BootNotification is the handshake that follows the WebSocket handshake. Until the CSMS answers with Accepted, the charge point is not permitted to send any other message except Heartbeat — it is not yet part of the network.
The response also carries the heartbeat interval and the CSMS's current time, which is how most chargers set their clock.
Request
| Field | Type | Required | Description |
|---|---|---|---|
chargePointVendor | CiString20 | Required | Manufacturer name. Required. |
chargePointModel | CiString20 | Required | Model name. Required. |
chargePointSerialNumber | CiString25 | Optional | Serial number of the charge point. |
chargeBoxSerialNumber | CiString25 | Optional | Deprecated in 1.6. Serial number of the charge box. |
firmwareVersion | CiString50 | Optional | Firmware currently installed. |
iccid | CiString20 | Optional | ICCID of the modem's SIM card. |
imsi | CiString20 | Optional | IMSI of the modem's SIM card. |
meterType | CiString25 | Optional | Type of the main power meter. |
meterSerialNumber | CiString25 | Optional | Serial number of the main power meter. |
[2, "19223201", "BootNotification", {
"chargePointVendor": "AcmeCharging",
"chargePointModel": "AC22-Duo",
"chargePointSerialNumber": "SN-0001234",
"firmwareVersion": "2.4.1",
"meterType": "Carlo Gavazzi EM340"
}]Response
| Field | Type | Required | Description |
|---|---|---|---|
status | RegistrationStatus | Required | Whether the charge point is accepted onto the network. |
currentTime | dateTime | Required | The CSMS's current time. Chargers commonly use this to set their clock. |
interval | integer | Required | Heartbeat interval in seconds when Accepted; retry interval when Pending or Rejected. |
[3, "19223201", {
"status": "Accepted",
"currentTime": "2026-09-09T10:15:30.000Z",
"interval": 300
}]Values
RegistrationStatus
| Value | Meaning |
|---|---|
Accepted | The charge point is registered and may send other messages. |
Pending | The CSMS knows the charger but is not ready. The charger waits and retries; the CSMS may send configuration messages in the meantime. |
Rejected | The charge point is not accepted. It must wait interval seconds before retrying. |
Implementation notes
`interval` means different things per status. On Accepted it is the heartbeat interval. On Pending and Rejected it is the minimum wait before the charger sends BootNotification again. Chargers that treat it as a heartbeat interval in all three cases produce reconnect storms against a CSMS that is rejecting them.
`chargePointVendor` and `chargePointModel` are required and frequently empty in early firmware. A CSMS should reject a boot with either missing rather than provisioning a nameless station.
A charge point must send BootNotification again after any reset, and after firmware update.