
MQTT — protocole de messagerie IoT
L'ossature de messagerie publish/subscribe de l'IoT moderne. Comment MQTT s'intègre à la maison intelligente et à l'automatisation du bâtiment aux côtés de KNX, DALI et Home Assistant.
Qu'est-ce que MQTT ?
MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie publish/subscribe léger, conçu à l'origine pour les liaisons satellite dans les années 1990 (IBM/Eurotech). C'est aujourd'hui le protocole dominant pour la communication appareil-serveur dans l'IoT — des capteurs ESP8266 aux automates industriels.
Contrairement à KNX (basé sur un bus) ou Modbus (maître/esclave), MQTT utilise un modèle de broker : les appareils publient des messages vers des topics sur un broker central (p. ex. Mosquitto), et tout abonné à l'écoute de ce topic reçoit le message. Aucune communication directe d'appareil à appareil.
Concepts clés :
- Broker : Serveur central qui achemine tous les messages (Mosquitto, HiveMQ, EMQX). En maison intelligente = s'exécute sur le serveur HA ou un Pi séparé.
- Topic : Chemin textuel hiérarchique, p. ex.
home/livingroom/light/state - Publication : Un appareil envoie un message vers un topic
- Abonnement : Un client écoute un topic et reçoit tous les messages qui y sont publiés
- Message retenu : Le broker conserve la dernière valeur — les nouveaux abonnés la reçoivent immédiatement
- QoS 0/1/2 : Au plus une fois / Au moins une fois / Exactement une fois — garantie de livraison
Spécification MQTT
| Paramètre | Valeur |
|---|---|
| Standard | ISO/IEC 20922 (MQTT 3.1.1), MQTT 5.0 |
| Transport | TCP/IP (port 1883) ou TLS (port 8883) |
| Topologie | Étoile (centrée sur le broker) |
| Direction | Publish/subscribe bidirectionnel |
| Charge utile | Binaire/texte quelconque — généralement JSON ou valeur brute |
| Séparateur de topic | / (barre oblique), p. ex. home/floor1/room2/temp |
| Joker (un niveau) | + (plus), p. ex. home/+/light |
| Joker (multiniveau) | # (dièse), p. ex. home/# |
| QoS 0 | Envoyer et oublier — aucune garantie de livraison |
| QoS 1 | Au moins une fois — le récepteur acquitte (peut dupliquer) |
| QoS 2 | Exactement une fois — poignée de main en 4 étapes |
| Messages retenus | Le broker conserve le dernier message par topic |
| Message Will | Envoyé par le broker si un client se déconnecte de façon inattendue |
| Authentification | Nom d'utilisateur/mot de passe, certificats TLS |
| Port (non chiffré) | 1883 |
| Port (TLS) | 8883 |
MQTT en maison intelligente — l'écosystème
MQTT est la langue commune de la maison intelligente DIY et semi-professionnelle. Plusieurs grands projets l'utilisent comme couche de transport :
Zigbee2MQTT
zigbee2mqtt.ioTraduit les télégrammes radio Zigbee en MQTT. Connectez un coordinateur Zigbee (CC2530, SkyConnect) à HA, lancez Zigbee2MQTT, et plus de 2 500 appareils Zigbee apparaissent comme topics MQTT. Aucun hub Philips Hue requis.
Tasmota / ESPHome
tasmota.github.ioFirmware open source pour les modules ESP8266/ESP32. Flashez un relais Sonoff bon marché avec Tasmota et il devient un interrupteur intelligent publiant en MQTT. ESPHome est natif HA.
Intégration MQTT Home Assistant
home-assistant.ioHA peut publier et s'abonner à n'importe quel topic MQTT. Configuration via YAML ou interface. MQTT Discovery crée automatiquement des entités HA lorsqu'un appareil s'annonce via un topic spécifique.
Node-RED
nodered.orgProgrammation visuelle par flux qui s'abonne aux topics MQTT, applique une logique et publie vers d'autres topics ou points de terminaison KNX/HTTP. Souvent utilisée aux côtés de HA pour le routage complexe.
WirenBoard
wirenboard.comCe contrôleur russe sur rail DIN utilise MQTT comme protocole principal. WirenBoard publie tous les relevés de capteurs et accepte la commande via des topics MQTT. Fonctionne avec HA et Node-RED.
Exemples de structure de topics
Exemple d'arbre de topics MQTT (maison intelligente)
home/
├── livingroom/
│ ├── light/state → "ON" / "OFF"
│ ├── light/brightness → "75" (0-100%)
│ ├── light/color_temp_k → "3000"
│ ├── temperature → "21.5"
│ └── occupancy → "true" / "false"
├── kitchen/
│ ├── light/state → "ON"
│ └── humidity → "45"
├── bedroom/
│ ├── blind/position → "75" (0=open, 100=closed)
│ └── thermostat/setpoint → "20.5"
└── panel/
├── meter/power_w → "1247"
└── meter/energy_kwh → "1852.3"MQTT vs KNX — quand utiliser lequel
| Aspect | MQTT | KNX TP |
|---|---|---|
| Infrastructure | Réseau IP (Ethernet/Wi-Fi) | Câble de bus TP dédié |
| Fiabilité | Dépend du réseau et de la disponibilité du broker | Déterministe, le bus est toujours actif |
| Latence | Millisecondes (IP) + aller-retour broker | <50 ms (télégramme de bus direct) |
| Évolutivité | Illimitée (mise à l'échelle horizontale) | 255 adresses par ligne, 15 lignes max. |
| Complexité d'installation | Faible (broker + publish/subscribe) | Élevée (programmation ETS, adressage) |
| Coût matériel | Faible (ESP8266 = 2 €) | Élevé (actionneur KNX = 50–200 €+) |
| Certification | Aucune requise | Certifié KNX + licence ETS |
| Fonctionne sans serveur | ❌ Le broker doit être actif | ✅ Le bus local fonctionne sans serveur |
| Meilleur cas d'usage | Données de capteurs, intégration IoT, DIY flexible | Commande critique pour la sécurité, bâtiment tertiaire |
| Utilisateur type | Maker, intégrateur HA, développeur IoT | Ingénieur électricien, spécialiste DALI/KNX |
La vraie réponse : Dans une installation premium bien conçue, KNX gère la commande matérielle (commutation, variation, volets) et MQTT/IP gère l'agrégation des données de capteurs et les intégrations logicielles (suivi de l'énergie, présence, météo). Ils sont complémentaires — pas concurrents.
Options d'intégration KNX + MQTT
Home Assistant (intégrations KNX + MQTT)
Les intégrations KNX et MQTT s'exécutent toutes deux dans HA. Les automatisations peuvent lire les valeurs des capteurs MQTT et déclencher des actionneurs KNX — ou inversement. Aucun matériel supplémentaire.
knx-mqtt-bridge (open source)
Service Node.js autonome qui relie les adresses de groupe KNX aux topics MQTT de façon bidirectionnelle. Chaque GA KNX est mappée sur un topic MQTT. S'exécute sur Pi ou Docker.
Nœuds Node-RED KNX + MQTT
node-red-contrib-knx + nœuds MQTT. Programmation visuelle par flux : topic MQTT → transformation → télégramme KNX. Idéal pour le routage conditionnel complexe.
Passerelle WirenBoard WB-MGW
La passerelle WirenBoard peut traduire entre les appareils RS-485/Modbus et MQTT. HA lit ensuite MQTT et publie vers KNX. Courante en Europe de l'Est.
Architecture KNX + MQTT conçue pour votre projet
Nous intégrons les réseaux de capteurs MQTT aux tableaux de commande KNX — Zigbee2MQTT, compteurs d'énergie, capteurs CVC — le tout unifié dans un seul système.
Demander un devis →