Contrôle des espaces
MQTT : messages, état et disponibilité dans une interface AV
MQTT peut transmettre les informations d’un appareil à une plateforme AV par un serveur de distribution de messages, appelé broker. Avant de choisir une intégration, définissez la donnée recherchée, son émetteur et la manière de signaler une absence de mise à jour.
Qui publie et qui interprète
L’appareil ou le service publie un message sur un topic, un nom qui organise les informations. Le broker le distribue aux clients dont les abonnements correspondent. L’application définit le contenu du message, appelé payload ; deux produits MQTT ne comprennent pas nécessairement les mêmes noms ou valeurs.
Relevez les versions du protocole, du firmware, du broker et de la plateforme. Cette aide se réfère à MQTT 5.0, norme OASIS du 7 mars 2019, et à la documentation MQTT de Home Assistant affichant la version 2026.10.4 lors de la consultation. Ne supposez pas qu’une installation existante utilise cette combinaison.
Un exemple de mesure aux noms et valeurs fictifs
Supposons qu’une plateforme reçoive des données ambiantes à afficher avec l’état AV. Ces topics illustrent seulement la distinction entre les informations ; ils ne correspondent pas à une installation et ne constituent pas une configuration à recopier.
- Appareil/service → topic et payload documentés.
- Broker → distribution à la plateforme abonnée.
- Interface AV → valeur interprétée et signalement d’absence de mise à jour.
| Topic d’exemple | Payload d’exemple | Signification |
|---|---|---|
| demo/espacio/temperatura | 23.4 | Mesure interprétée en °C uniquement si cette unité est convenue avec l’émetteur. |
| demo/espacio/disponibilidad | online | Disponibilité de l’émetteur selon son implémentation. |
| demo/espacio/medicion_hora | 10:30:00 | Heure fictive : une conception réelle nécessite date, fuseau horaire et horloge de référence. |
Un message conservé n’est pas une nouvelle mesure
Un message retained peut fournir la dernière valeur conservée lorsqu’un client s’abonne. Cela permet de retrouver une indication, sans confirmer qu’une nouvelle mesure a été prise. Dans MQTT 5.0, Message Expiry Interval peut limiter la durée de vie du message ; il faut aussi définir le traitement d’une valeur déjà reçue par l’interface.
À titre d’exemple de plateforme, MQTT Sensor de Home Assistant distingue state_topic, availability_topic et expire_after. Sa documentation avertit qu’un état conservé peut être renvoyé au redémarrage ou au rechargement et faire réapparaître une mesure périmée comme disponible. Vérifiez les critères d’actualité avec le comportement réel de publication.
Livraison du message et confirmation de l’appareil
Les niveaux QoS décrivent la livraison des messages MQTT, pas le résultat AV. QoS 1 permet les doublons et QoS 2 évite la livraison en double dans son échange de protocole ; aucun des deux ne confirme qu’un projecteur est prêt ou qu’une image est visible.
La disponibilité nécessite un mécanisme défini par l’appareil ou le service. Les messages de démarrage et Last Will peuvent aider à communiquer une connexion ou une déconnexion, mais leur configuration et leurs délais doivent être vérifiés. Un broker ou une plateforme en ligne ne confirme pas l’état de tous les appareils.
Informations utiles à l’examen de l’intégration
Commencez par les informations à afficher et un schéma des équipements. Pour avancer, convenez de qui maintient le broker, définit les messages et conserve la commande AV manuelle. Ce périmètre concerne les informations et la coordination non critiques ; il exclut les fonctions de sécurité, le contrôle d’accès et les machines.
- Modèles, firmwares et versions MQTT des appareils connus.
- Documentation des topics, payloads, unités et disponibilité, sans identifiants de connexion.
- Critère de donnée périmée et comportement après reconnexion.
- Dépendances locales, de compte ou d’Internet et retour AV nécessaire.
Questions pour orienter le choix
Faut-il héberger le broker sur Internet ?
MQTT ne l’impose pas. Son emplacement et ses dépendances se choisissent selon la plateforme et le projet ; la continuité de la solution nécessite sa propre vérification.
Puis-je afficher la dernière valeur en attendant le retour de la connexion ?
Vous pouvez prévoir cet affichage, mais il doit distinguer la dernière valeur connue d’une mesure actuelle. Convenez de la manière d’indiquer son ancienneté et du passage à l’état indisponible.
MQTT rend-il tout appareil compatible avec ma plateforme ?
Non. Il faut examiner le format des messages et les fonctions des deux systèmes. Une passerelle ou une traduction documentée peut être nécessaire ; un transport commun ne suffit pas.