Intégration MQTT
Le MqttClient du daemon connecte le node au broker Mosquitto local
(127.0.0.1:1883). C'est le canal qui relie le node à la supervision centrale.
Topics publiés et souscrits
Le topic de base est openautomation côté node.
| Topic | Sens | Rôle |
|---|---|---|
openautomation/<node_id>/status | node → central | Présence via LWT : online / offline (retenu). |
openautomation/<node_id>/state | node → central | État complet JSON, publié toutes les ~2 s. |
openautomation/<node_id>/cmd/relay/<id> | central → node | Commande d'un relais. |
openautomation/<node_id>/cmd/valve/<id> | central → node | Commande d'une vanne. |
Last Will and Testament (LWT)
À la connexion, le node déclare un testament : si sa connexion tombe, le broker publie
automatiquement offline (retenu) sur le topic status. Le central détecte ainsi
instantanément la disparition d'un node.
Cycle de vie
Côté central actuel
Dans l'implémentation centrale actuelle (saturn), les commandes distantes vers node
passent par l'API locale HTTP (http://<node_ip>:8080) et non via un bridge MQTT.
Les topics cmd/* restent pris en charge côté node pour compatibilité et usages locaux.
Voir la page API du central pour le flux de commande actuel.
Configuration Mosquitto
Sur l'OS, Mosquitto est configuré par mosquitto.conf : listener 1883 et
allow_anonymous true (installation locale de confiance). Adapter l'authentification pour
une mise en production exposée.