Une borne doit signaler à son logiciel de gestion qu'elle est en ligne, même si elle n'a pas rechargé depuis longtemps. Le message OCPP utilisé pour cela s'appelle Heartbeat (battement de cœur). Le message lui-même est très simple, mais sa fréquence d'envoi influence à la fois la détection des pannes et le coût des données mobiles.
À quoi sert le Heartbeat ?
Le Heartbeat a trois fonctions principales :
- Signal de vie : le CSMS sait que la borne est connectée et fonctionne.
- Synchronisation de l'horloge : la réponse au Heartbeat contient l'heure actuelle (
currentTime), que la borne peut utiliser pour corriger son horloge. - Maintien de la connexion : certains opérateurs mobiles et équipements réseau ferment les connexions restées silencieuses trop longtemps ; un trafic régulier l'empêche.
La requête et la réponse ressemblent à ceci :
[2, "2001", "Heartbeat", {}] [3, "2001", {"currentTime": "2026-10-02T10:15:00Z"}]
D'où vient le HeartbeatInterval ?
L'intervalle est transmis à la borne dans le champ interval de la réponse au BootNotification. En OCPP 1.6J, il peut aussi être modifié avec la clé HeartbeatInterval de la configuration de la borne (ChangeConfiguration). En OCPP 2.0.1 et 2.1, le même paramètre correspond à la variable OCPPCommCtrlr.HeartbeatInterval du modèle d'équipement et se modifie avec SetVariables.
Détail important : en OCPP 1.6J, une borne peut sauter un Heartbeat si elle a envoyé un autre message depuis le dernier, car tout message prouve déjà qu'elle est vivante. C'est pourquoi les Heartbeat peuvent se raréfier pendant la recharge.
Combien de secondes choisir ?
Il n'existe pas de valeur unique ; tout dépend de vos besoins et du type de connexion. Fourchettes pratiques :
- 60 à 300 secondes : un choix courant pour les bornes publiques dont l'état doit être surveillé de près. Les coupures sont détectées en quelques minutes.
- 300 à 900 secondes : suffisant pour les parkings privés, les copropriétés et les lieux de travail.
- Plus de 900 secondes : lorsqu'il faut réduire au maximum la consommation de données, au prix d'une détection des pannes plus lente.
N'oubliez pas que les messages autres que le Heartbeat (changements d'état, relevés de mesure) génèrent eux aussi du trafic. Un Heartbeat trop fréquent gaspille généralement des données ; trop espacé, il peut vous empêcher de remarquer pendant des heures qu'une borne est déconnectée.
La différence avec le ping WebSocket
En OCPP-J, le protocole WebSocket dispose aussi de son propre mécanisme ping/pong. En OCPP 1.6J, son intervalle se règle avec la clé WebSocketPingInterval. Le ping/pong maintient la connexion ouverte au niveau réseau ; le Heartbeat indique au niveau applicatif que la borne fonctionne. L'un ne remplace pas l'autre. Dans une bonne configuration, le ping WebSocket peut être plus fréquent (par exemple 30 à 60 secondes) et le Heartbeat plus espacé.
Et si les Heartbeat cessent ?
Si le CSMS ne reçoit aucun message pendant plusieurs fois l'intervalle attendu, il doit considérer la borne comme hors ligne. Les causes habituelles sont :
- Un problème de connexion internet ou de carte SIM,
- Une coupure de courant au niveau de la borne,
- Un firmware figé,
- La fermeture de la connexion côté serveur.
Pour une liste de contrôle détaillée, consultez notre article Pourquoi la connexion OCPP se coupe-t-elle ?.
Calcul des données sur lignes mobiles
Un message Heartbeat et sa réponse, avec les surcoûts WebSocket et TLS, représentent environ quelques centaines d'octets. Avec un intervalle de 60 secondes, une borne envoie 1 440 Heartbeat par jour, soit quelques mégaoctets par mois. Cela paraît peu, mais fait la différence sur un réseau de plusieurs centaines de bornes et sur des lignes M2M à quota réduit. Passer à 300 secondes divise cette consommation par cinq. L'essentiel de la consommation provient en réalité de l'intervalle d'échantillonnage des MeterValues ; les deux réglages doivent donc être considérés ensemble. Voir notre article sur MeterValueSampleInterval.
Point de départ recommandé : pour les bornes publiques, Heartbeat à 300 secondes, ping WebSocket à 60 secondes et alerte de déconnexion après 15 minutes. Après quelques semaines d'observation du comportement de votre réseau, vous pourrez ajuster ces valeurs.
Supervision dans le tableau de bord
Plutôt que de surveiller le seul Heartbeat, il est plus juste de surveiller l'« heure du dernier message ». Le logiciel OCPP d'Üreticy affiche l'heure de la dernière communication de chaque borne et génère une alerte dans le tableau de bord lorsque la connexion est perdue. Le délai de déclenchement de ces alertes doit être cohérent avec votre intervalle de Heartbeat.
Conclusion
Le Heartbeat est un message simple mais essentiel : il prouve que la borne est vivante, corrige l'horloge et maintient la connexion. Quelques minutes conviennent aux bornes publiques, des intervalles plus longs aux usages privés. En choisissant l'intervalle, trouvez l'équilibre entre coût des données et rapidité de détection des pannes.
