Accueil » MQTT

MQTT

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

ComposantRôleExemple dans la domotique Z-Wave
BrokerServeur central qui redistribue les messagesMosquitto installé sur votre Raspberry Pi / box
PublisherEnvoie un message sur un topicZ-Wave JS publie l’état d’une prise
SubscriberS’abonne à un topic et reçoit les messagesNode-RED ou Home Assistant reçoit l’état
TopicChemin hiérarchique identifiant le messagezwave/nodenumber/switch/state

Caractéristiques techniques

ParamètreValeur
TransportTCP/IP (port 1883 non chiffré, 8883 TLS)
Poids du protocoleOverhead minimal : 2 octets de header fixe
QoS (Quality of Service)0 (au plus une fois), 1 (au moins une fois), 2 (exactement une fois)
RetainLe broker peut conserver le dernier message pour les nouveaux abonnés
Last Will & TestamentMessage automatique envoyé si un client se déconnecte inopinément
Broker open sourceMosquitto (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

Ai-je besoin de MQTT si j’utilise Home Assistant ?

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).

Quelle différence entre MQTT et l’API Home Assistant ?

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.

Mon broker MQTT doit-il être sur le même serveur que Z-Wave JS ?

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.

Produits associés

Aucun produit associé à cette technologie.

Meilleures offres

Retrouvez tous les produits de la marque sur Amazon