Aller au contenu principal

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.

TopicSensRôle
openautomation/<node_id>/statusnode → centralPrésence via LWT : online / offline (retenu).
openautomation/<node_id>/statenode → centralÉtat complet JSON, publié toutes les ~2 s.
openautomation/<node_id>/cmd/relay/<id>central → nodeCommande d'un relais.
openautomation/<node_id>/cmd/valve/<id>central → nodeCommande 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.