BootNotification

Core CP->CSMS

Sent by the Charge Point to notify the Central System that it has booted and is ready to accept messages.

Quick Reference

Required Fields

chargePointVendor string(20)

Vendor name of the Charge Point

chargePointModel string(20)

Model name of the Charge Point

Optional Fields

chargePointSerialNumber string(25)

Serial number of the Charge Point

chargeBoxSerialNumber string(25)

Serial number of the main controller

firmwareVersion string(50)

Firmware version of the Charge Point

iccid string(20)

ICCID of the modem's SIM card

imsi string(20)

IMSI of the modem's SIM card

meterType string(25)

Type of the main electrical meter

meterSerialNumber string(25)

Serial number of the main electrical meter

Example Payload

{
  "chargePointVendor": "VendorX",
  "chargePointModel": "SuperCharger Pro",
  "chargePointSerialNumber": "SN-12345",
  "firmwareVersion": "v2.1.5",
  "iccid": "89123456789012345678"
}

Example Full Frame

[
  2,
  "msg-001",
  "BootNotification",
  {
    "chargePointVendor": "VendorX",
    "chargePointModel": "SuperCharger Pro",
    "chargePointSerialNumber": "SN-12345",
    "firmwareVersion": "v2.1.5",
    "iccid": "89123456789012345678"
  }
]

Format: [MessageType, MessageId, Action, Payload]

Overview

The BootNotification message is the first message a Charge Point sends after establishing a WebSocket connection to the Central System (CSMS). This message provides identification and status information about the Charge Point.

When to Send

  • After establishing WebSocket connection
  • After a firmware update
  • After a factory reset
  • When explicitly requested by the CSMS via Reset message

Expected Response

The CSMS responds with:

  • status: Accepted, Pending, or Rejected
  • currentTime: The current time at the CSMS (used for clock synchronization)
  • interval: Heartbeat interval in seconds

Usage Notes

  • The Charge Point MUST NOT send any other request until it receives a BootNotification response with status Accepted
  • If status is Pending, retry after the interval specified in the response
  • If status is Rejected, the Charge Point should not retry automatically

Best Practices

  1. Include all available information - While only vendor and model are required, including serial numbers, firmware version, and meter info helps with diagnostics
  2. Keep vendor names short - The 20-character limit is strict; use abbreviations if needed
  3. Version format - Use semantic versioning (e.g., “v2.1.5”) for firmware versions
  4. Clock sync - Use the currentTime from the response to set the Charge Point’s clock

Testing Tips

  • Test with minimal payload (only required fields) to verify basic acceptance
  • Test with all optional fields to ensure proper field handling
  • Test rejection scenarios by sending invalid vendor names
  • Verify proper handling of Pending status with retry logic

Common Errors

PropertyConstraintViolation

Cause: chargePointVendor exceeds 20 characters

Solution: Ensure vendor name is max 20 characters

TypeConstraintViolation

Cause: Missing required field chargePointModel

Solution: Include both chargePointVendor and chargePointModel

FormationViolation

Cause: Invalid JSON structure

Solution: Verify JSON syntax and frame structure [2, id, action, payload]