MQTT : un serveur distant, x jeedom/x plugin

Bonjour,
Avant de tout fracasser, j’ai besoin d’explication.

J’ai installé le broker MQTT LXC sur VM (proxmox)
Jeedom Atlas a zigbeelinker+client, broker local MQTT Manager
Jeedom Master (sur VM Proxmox), zigbeelinker+client, broker local MQTT Manager
Jeedom Master Zwave JS

Je souhaite tout mettre sur MQTT broker sur la VM LXC.
Si j’ai bien compris, pour zigbeelinker, je remplie les info IP du broker VM dans les données serveur MQTT, puis dans le client MQTT du plugin aussi.
Quid : pour différencier les deux zigbeelinker, dois je changer le topic ? Zigbee2MQTT : Topic de base (base topic) mettre Zigbee2MQTTAtlas et Zigbee2MQTTMaster par exemple
Et pour Zwave JS je ne vois pas ou metttre l’IP du MQTT broker distant VM

Merci pour votre aide.

Bonjour,

Pour ZwaveJs, cela doit se passer sur MQTT Manager, où tu indiques l’IP de l’autre machine

Merci @SWR pour ta réponse.
Pour que je comprennes tout.
Pour zwave JS, dans MQTT manager, je met distant et IP broker
Par contre, zigbeelinker, j’ai du mal à comprendre. A quoi sert le Client MQTT ?

Avec zwave, il pointe directement vers mqtt manager, qui pointe vers distant broker MQTT. Est ce que zwave JS peut directement communiquer avec un serveur MQTT ou est ce que MQTT manager joue un rôle de client ? (difficile de comprendre le rôle de client)

Avec zigbeelinker, on a zigbee2mqtt, puis client, puis broker.

Dites moi si je n’ai pas compris, mais zigbeelinker ou zwave JS interprètent les topic/données, le broker/serveur MQTT reçoit de tous les données en vrac, donc quid de client ?
Est ce que MQTT manager pour zwave JS joue un rôle de Client ?

j’ai beau lire plein d’article sur le sujet, je ne vois rien sur ce fonctionnement

Bonjour,

En effet, je me pose souvent la meme question que toi. C’est pas hyper intuitif.
ZwaveJS => MQTT manager => JMQTT

MQTT est une sorte d’interface
Le plugin MQTT Manager permet de connecter Jeedom à un broker MQTT existant
https://doc.jeedom.com/fr_FR/plugins/programming/mqtt2/
3 choix possibles :

  • Broker local
  • Broker local Docker
  • Broker distant

Ok, pour zwave JS cela me parait logique.
zwave JS est un client, qui envoie vers un broker (via mqtt manager qui soit crée le broker, soit fait office de ‹ en passage › si distant)
Donc pour zigbee, si j’ai tout compris, avec zigbeelinker, on a zigbee2mqtt qui est une interface, Client MQTT qui est celui qui remonte les devices, et serveur MQTT. Pour ce dernier, on passe par mqtt manager si on veut utiliser un seul serveur mqtt installé précedemment (zwave JS qui l’a installé). La diff avec zigbeelinker est que l’on peut chunter mqtt manager si on met directement l’IP de sont serveur MQTT.

Je pense avoir compris, si ce que je dis est juste.

Donc, si je veux que tout parte sur mon MQTT LXC (VM), dans zwave JS : je met les info dans mqtt manager, dans zigbeelinker directement dans le client (et sur z2m via configuration de zigbeelinker)

PS : quand je dis envoie, c’est envoie/reçoit :wink:

Alors, j’ai une autre queston, si on veux jouer avec zigbee et zwave, avec jeedom, HA et autres, ne vaut mieux t’il pas créer des VM zwave avec clé zwave, VM zigbee avec clé zigbee, un broker MQTT en VM et des clients sur chaques concentrateurs (jeedom, HA et autres) ?
Et aussi pour aller plus loin, est ce mieux un broker MQTT sur VM LXC ou sur VM dans Docker ?

Quid des MAJ, qui reçoit les nouvelles config de devices ?
Je sais, ça devient un peu MQTT pour les nuls, mais j’en suis un temps que je n’ai pas compris :smiley:

Bonsoir,

Pour le ZigBee, je suis resté sur deconz.
Ton raisonnement est cohérent

Le reste est un choix personnel. Pour ma part JMQTT est sur un RPi avec jeedom et HA vient piocher dans jeedom car c’est le seul à tourner H24.

Merci @SWR mais pour la question du dessus, tu sais ou cela se passe ? client ? broker ?

Ca me semblait naturel, le client recoit les mises à jour des modules. Le broker n’assure que le role passif