Skip to content
Documentation Menu

Heartbeat

Source: OCPP 1.6 Specification — Section 4.6 (Operation), Sections 6.29 / 6.30 (Messages)

Overview

To let the Central System know that a Charge Point is still connected, a Charge Point sends a heartbeat after a configurable time interval.

The Charge Point SHALL send a Heartbeat.req PDU for ensuring that the Central System knows that a Charge Point is still alive.

Upon receipt of a Heartbeat.req PDU, the Central System SHALL respond with a Heartbeat.conf. The response PDU SHALL contain the current time of the Central System, which is RECOMMENDED to be used by the Charge Point to synchronize its internal clock.

The Charge Point MAY skip sending a Heartbeat.req PDU when another PDU has been sent to the Central System within the configured heartbeat interval. This implies that a Central System SHOULD assume availability of a Charge Point whenever a PDU has been received, the same way as it would have, when it received a Heartbeat.req PDU.

NOTE: With JSON over WebSocket, sending heartbeats is not mandatory. However, for time synchronization it is advised to at least send one heartbeat per 24 hour.

Sequence Diagram

Figure 17. Sequence Diagram: Heartbeat

Charge Point  ──── Heartbeat.req ────▶  Central System
Charge Point  ◀─── Heartbeat.conf ────  Central System
                   (currentTime)

Initiator

Charge Point → Central System

Fields

This contains the field definition of the Heartbeat.req PDU sent by the Charge Point to the Central System.

No fields are defined.

Examples

{}

Schema

Source: schemas/Heartbeat.json, schemas/HeartbeatResponse.json (OCPP 1.6, JSON Schema draft-04)

Request schema (JSON Schema)
Response schema (JSON Schema)
  • HeartbeatInterval — Interval (in seconds) at which the Charge Point sends a heartbeat to the Central System when no other messages have been exchanged.