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

FieldTypeRequiredDescription
chargePointVendorCiString20RequiredManufacturer name. Required.
chargePointModelCiString20RequiredModel name. Required.
chargePointSerialNumberCiString25OptionalSerial number of the charge point.
chargeBoxSerialNumberCiString25OptionalDeprecated in 1.6. Serial number of the charge box.
firmwareVersionCiString50OptionalFirmware currently installed.
iccidCiString20OptionalICCID of the modem's SIM card.
imsiCiString20OptionalIMSI of the modem's SIM card.
meterTypeCiString25OptionalType of the main power meter.
meterSerialNumberCiString25OptionalSerial number of the main power meter.
json
[2, "19223201", "BootNotification", {
  "chargePointVendor": "AcmeCharging",
  "chargePointModel": "AC22-Duo",
  "chargePointSerialNumber": "SN-0001234",
  "firmwareVersion": "2.4.1",
  "meterType": "Carlo Gavazzi EM340"
}]

Response

FieldTypeRequiredDescription
statusRegistrationStatusRequiredWhether the charge point is accepted onto the network.
currentTimedateTimeRequiredThe CSMS's current time. Chargers commonly use this to set their clock.
intervalintegerRequiredHeartbeat interval in seconds when Accepted; retry interval when Pending or Rejected.
json
[3, "19223201", {
  "status": "Accepted",
  "currentTime": "2026-09-09T10:15:30.000Z",
  "interval": 300
}]

Values

RegistrationStatus

ValueMeaning
AcceptedThe charge point is registered and may send other messages.
PendingThe CSMS knows the charger but is not ready. The charger waits and retries; the CSMS may send configuration messages in the meantime.
RejectedThe 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.