Informations clés
Message Queuing Telemetry Transport
Type : Protocole de messagerie (couche applicative)

Qu’est-ce que MQTT ?
MQTT est un protocole de messagerie léger, basé sur un modèle publish/subscribe (pub/sub), conçu initialement pour les réseaux à bande passante limitée et les appareils à faible consommation. Il est devenu le standard de facto pour la communication entre appareils IoT et entre les plateformes domotiques. MQTT n’est pas un protocole radio — c’est une couche applicative qui fonctionne par-dessus TCP/IP.
Principe publish / subscribe
| Composant | Rôle | Exemple dans la domotique Z-Wave |
| Broker | Serveur central qui redistribue les messages | Mosquitto installé sur votre Raspberry Pi / box |
| Publisher | Envoie un message sur un topic | Z-Wave JS publie l’état d’une prise |
| Subscriber | S’abonne à un topic et reçoit les messages | Node-RED ou Home Assistant reçoit l’état |
| Topic | Chemin hiérarchique identifiant le message | zwave/nodenumber/switch/state |
Caractéristiques techniques
| Paramètre | Valeur |
| Transport | TCP/IP (port 1883 non chiffré, 8883 TLS) |
| Poids du protocole | Overhead minimal : 2 octets de header fixe |
| QoS (Quality of Service) | 0 (au plus une fois), 1 (au moins une fois), 2 (exactement une fois) |
| Retain | Le broker peut conserver le dernier message pour les nouveaux abonnés |
| Last Will & Testament | Message automatique envoyé si un client se déconnecte inopinément |
| Broker open source | Mosquitto (le plus utilisé), EMQX, HiveMQ |
MQTT et Z-Wave : l’architecture
Z-Wave JS UI (anciennement zwavejs2mqtt) est le composant qui fait le pont entre votre réseau Z-Wave et MQTT. Il publie automatiquement l’état de chaque appareil Z-Wave sur des topics MQTT et s’abonne aux topics de commande pour transmettre les ordres au réseau Z-Wave.
- Topic d’état : zwave/{nodeId}/{commandClass}/{endpoint}/currentValue → l’état actuel de l’appareil
- Topic de commande : zwave/{nodeId}/{commandClass}/{endpoint}/set → pour envoyer une commande
- Topic de configuration : zwave/{nodeId}/configure → pour modifier un paramètre de configuration
💡 Quand utiliser MQTT ? Si vous utilisez Home Assistant avec l’intégration Z-Wave JS native, vous n’avez pas besoin de MQTT. MQTT devient utile si vous voulez exposer votre réseau Z-Wave à d’autres systèmes (Node-RED, OpenHAB, scripts personnalisés).
Installer Mosquitto
Mosquitto est le broker MQTT open source de référence. Sur un système Debian/Ubuntu ou Raspberry Pi :
sudo apt install mosquitto mosquitto-clients
sudo systemctl enable --now mosquitto
QoS — choisir le bon niveau
- QoS 0 (Fire and forget) : adapté aux capteurs qui envoient des données fréquentes (température, humidité). La perte d’un message n’est pas critique.
- QoS 1 (At least once) : adapté aux commandes importantes (allumer/éteindre). Peut créer des doublons.
- QoS 2 (Exactly once) : pour les commandes critiques (serrures, alarmes). Plus lent mais fiable.
Foires aux questions
Non, pas obligatoirement. L’intégration native Z-Wave JS de HA n’utilise pas MQTT. MQTT est utile si vous voulez accéder à vos données Z-Wave depuis d’autres systèmes (Node-RED, Grafana, scripts).
MQTT est un protocole de messagerie universel, indépendant de Home Assistant. L’API HA est propriétaire mais plus riche en fonctionnalités pour piloter HA spécifiquement. Les deux peuvent coexister.
Non, ils peuvent être sur des machines différentes. Mosquitto peut tourner sur un Raspberry Pi séparé, un NAS ou même dans le cloud. L’important est que Z-Wave JS UI puisse le joindre en réseau.
