Bonjour,
J’essaie de me passer de jeelink puisqu’il parait que son avenir est incertain.
Et j’ai un truc que je ne pige pas.
Dans la doc :
Liée deux mosquitto différent
Il est possible de lier des topics entre plusieurs mosquitto, voilà la configuration a ajouter dans mosquitto. La configuration n’est a faire que sur un des brocker mosquitto :
topic # both 0 #LOCAL_TOPIC#/ #REMOTE_TOPIC#/
Dans l’exemple qui est donné je lis les inputs :
Exemple vous voulez envoyer depuis jeedom_2 des équipements dans jeedom_1 en ayant :
jeedom_1 :
ip : 192.168.1.45
topic racine : jeedom_1
topic liée : jeedom_2
authentification : jeedom:password_1
jeedom_2
topic racine : jeedom_1
authentification : jeedom:password_2
Il n'y a pas une première erreur là : le topic racine de jeedom_2 c'est logiquement jeedom_2 ?
Ensuite :
Voila la configuration qu’il faut ajouter dans le jeedom_2 (parametre mosquito) :
connection jeedom_1
address 192.168.1.45:1883
topic # both 0 jeedom_2/ jeedom_2/
Pourquoi est il écrit :
topic # both 0 jeedom_2/ jeedom_2/
au lieu de ce qui semblerait logique
topic # both 0 jeedom_2/ jeedom_1/
Et si on suit ce qui me semble être une erreur de topic racine du jeedom_2 dans les inputs.
jeedom_2
topic racine : jeedom_1
Il devrait même être écrit :
topic # both 0 jeedom_1/ jeedom_1/ pour rester cohérent dans l’erreur.
La doc :
#LOCAL_TOPIC# : nom du topic local souvent ça sera “Topic racine Jeedom” du jeedom local
#REMOTE_TOPIC# : nom du topic local souvent ça sera “Topic racine Jeedom” du jeedom distant
Bref pas clair à comprendre cette doc, on dirait la notice explicative des impôts. Si quelqu’un peu m’expliquer si et où je me goure ?
Merci d’avance
Bien cordialement
Ce que tu écris ici, c’est que tu lies ton mqtt local avec le mqtt sur l’adresse 1.45
Et que tu envoies donc tout ce qui arrive dans le topic jeedom_2/# vers jeedom_2/# sur le 1.45
Côté serveur 1.45 sur mqtt manager, tu dois donc avoir un topic racine jeedom_1 (tous tes équipements locaux de jedom_1) et en topic lié jeedom_2 (les équipements qui arrivent de jeedom_2)
Peux importe ce que tu as au niveau topic, il faut juste que ça soit synchro avec le topic racine (sur jeedom_2) et le topic lié sur jeedom_1 (et que tu aies bien 2 topics racines différents sur tes 2 jeedom
Norbert
Salut Norbert,
J’aurais dû parier car j’étais sur que tu allais me répondre 
J’avais lu que tu l’avais fait.
Moi je veux lier mon jeedom secondaire 232 (donc local) avec mon jeedom principal 228 (donc remote) pour envoyer un équipement de 232 vers 228.
Mon 228 (remote)
topic racine : jeedomMQTT228
topic des jeedom liés : jeedomMQTT232
authentification jeedom:toto
Mon 232 (local)
topic racine : jeedomMQTT232
topic des jeedom liés :
authentification jeedom:toto
J'écris ça dans le mosquitto de jeedom 232.
connection jeedom232 vers 228
address 192.168.1.228:1883
topic # both 0 jeedomMQTT232/ jeedomMQTT228/
cleansession true
notifications false
remote_clientid jeedom228
remote_username jeedom
remote_password toto
local_username jeedom
local_password toto
start_type automatic
Correct ou pas ?
Non, ca ne va pas
via la ligne topic, tu renomme le topic local jeedomMQTT232 en jeedomMQTT228 sur le remote
MAIS tu vas chercher les infos dans le jeedomMQTT232 sur le remote (topic des jeedom liés)
essaye comme ca :
connection jeedom232 vers 228
address 192.168.1.228:1883
topic # both 0 jeedomMQTT232/ jeedomMQTT232/
cleansession true
notifications false
remote_clientid jeedom228
remote_username jeedom
remote_password toto
local_username jeedom
local_password toto
start_type automatic
Ceci doit aussi marcher dans ton cas :
topic jeedomMQTT232/# both 1
De mon coté, je synchronise directement tout ce qui est nativement en MQTT et le ne passe par MQTT2 que pour ce qui n’est pas dejà en MQTT (les modes/virtuels entre autre)
Ensuite, une bonne config jMQTT pour retrouver tous mes equipements
Ma conf :
topic jeedom38/# both 1
topic # both 1 zigbee2mqtt/ zigbee2mqtt38/
topic # both 1 shellies/ shellies38/
topic # both 0 tasmota/ tasmota38/
topic # both 0 speedtest/ speedtest38/
topic frigate/# both 0
topic vlx2mqtt/# both 1
Norbert
Oui c’est ce que j’avais fais en attendant, et ça marche.
Donc la doc est soit fausse ou prend des raccourcis qui vont induire en erreur.
C’est plutôt comme ça qu’il faut comprendre :
topic # both 0 #LOCAL_TOPIC#/ #REMOTE_TOPIC_Lié#/
et dans la Note :
#LOCAL_TOPIC#
: nom du topic local souvent ça sera “Topic racine Jeedom” du jeedom local
#REMOTE_TOPIC#
: le topic indiqué dans "Topic des Jeedoms liés” du jeedom distant
Ce qui est déjà sur jmqtt oui je les ai déjà depuis un bon moment, j’avais compris l’intérêt.
Là effectivement c’est pour quelques virtuels que je fais la liaison.
Je préfère anticiper tranquillement que subir des restrictions à venir dans jeelink
Si tu as un moment pour m’expliquer l’utilisation de both dans ton fichier de conf ?
Ce n’est pas dans la doc apparemment.
Both signifie que la synchronisation se fait dans les 2 sens.
Dans la config jeedom, tu as donc des capteurs qui remontent du local vers le remote, mais tu as aussi des actions qui vont du remote vers le local
Pour anticiper la prochaine question, le 1 correspond à la qos
0 : aucun acquittement, on a pas l’assurance que le message ait bien été reçu
1 : acquittement, le client acquitte la bonne réception du message au broker
2 : la bonne réception de l’acquittement par le broker est aussi notifiée au client (acquittement de l acquittement)
Norbert
Bonjour Norbert,
Envoie moi promener si je t’embête par mes questions.
1- Tu as trouvé où toutes ces infos que tu as et utilises ? Je vais essayer de lire et de comprendre mieux car la doc jeedom n’est pas très claire.
2- Cette notion de both, ok ça synchronise dans les 2 sens, mais le sens du retour remote vers local c’est bien juste pour le qos ?
3- Si je veux lier 2 mosquitto pour avoir un virtuel du jeedom 1 sur le 2 et également un virtuel du jeedom 2 qui arrive sur le 1, il faut bien que j’écrive le fichier de liaison dans chaque config de mosquitto ?
4- Comment dois je comprendre ce topic.
topic jeedom38/# both 1
Tu recopies le topic racine jeedom38 du mosquitto local sur le topic jeedom38 du mosquitto distant ?
5- Quelle différence avec topic # both 1 jeedom38/ jeedom38/ à part une écriture simplifiée ?
6- Et là tu recopies tout ce qui est sur le topic zigbee2mqtt du jeedom local dans le topic zigbee2mqtt38 du jeedom distant. Donc tout tes équipements zigbee qui sont sur ce topic zigbee2mqtt ?
topic # both 1 zigbee2mqtt/ zigbee2mqtt38/
En tout cas c’est intéressant et puissant cette liaison de mosquitto entre eux. Il faut bien penser par contre qu’il faut bien garder au chaud une copie du fichier de config de chaque mosquitto pour les remettre en cas de ré-installation, et que ce n’est pas sauvegardé avec Jeedom si je ne fais pas d’erreur.
Merci pour ton aide, ça m’a bien aidé.
Bien cordialement
C’est passionnant votre discussion.
La doc devrait plutôt je pense parler de « topic_jeedom1 » et « topic_jeedom1_sur_jeedom2 » ce serait sans doute plus compréhensible. On peut proposer un pr pour modifier la doc?
Coucou Noyax,
Oh oui, elle n’est pas claire du tout, et même si tu penses avoir compris, elle t’embrouille.
Les exemples ne sont pas éclairant, on revient sur des infos avec une Note qui ajoute du trouble.
Quand à l’assistant, pas compris où il se cache.
Avec assistant
Sur le Jeedom source (celui qui envoie les informations) il faut aller dans la configuration du plugin et cliquer sur “Informations MQTT” au niveau de “Mqtt tranmission local” puis copier ce qui s’affiche dans la fenetre qui apparait. Sur le Jeedom cible (celui qui recoit) il faut cliquer sur “Recevoir” au niveau de “Mqtt tranmission local” et coller les informations copiées juste avant.
Je suppose que ces champs Informations MQTT au niveau de Mqtt transmission local n’apparaissent que si on a installé Mosquitto via mqtt2 mais si comme moi on a installé et on gére Mosquitto avec Jmqtt on ne les a pas.
D’où ma configuration manuelle, que j’aurais faite de toute façon pour comprendre ce que je fais.
Bon dimanche
1 « J'aime »
Essentiellement sur internet
on est quand même un peu hors Jeedom, là
Non, pas du tout. La qos est une notion propre a la transmission des messages.
Le both est nécessaire si pour exemple tu as une action sur un virtuel synchronisé. Et que tu lances la commande sur le remote. Il faut qu’elle remonte sur le local. Tu dois donc avoir une synchro dans les 2 sens (both)
Non, le lien ne se fait qu’à partir d’un seul côté. Peu importe le côté choisi, remote ou local, mais d’un seul côté
Tu auras par contre 2 topics sur le local
topic # both 0 #LOCAL_TOPIC#/ #REMOTE_TOPIC_Lié
topic # both 0 #Remote_topic#/ #local_topic_lie#
Exactement
Aucune de ce que j’ai pu comprendre
Oui, et ensuite avec jmqtt (et les templates) je recréés mes équipement zigbee du local sur le remote (tout ça, sans passer par la couche Jeedom (z2m +mqtt). Très pratique pour une maison secondaire. Tout reste en local (si coupure internet, mais tout est pilotable via mon Jeedom principal)
Pour ma part, mosquitto est sur un docker dédié indépendant de Jeedom, mais sur le même serveur et les fichiers de conf sont dans /var/www/html/data/dockers/mosquitto… Donc sauvegarder avec Jeedom quand même 
Norbert
2 « J'aime »
Pour resumer ma config …
Ca parait compliqué, mais ce ne l’est pas du tout … Le plus compliqué est le tunnel SSH finalement
Tout ce qui arrive sur le MQTT de la maison principale est géré soit par jMQTT soit par MQTT2
2 « J'aime »
Ouah c’est quand même pas mal 
Bon, moi modestement j’ai réussi à faire les liaisons entre mes 4 jeedoms.
Par contre je suis obligé de mettre un fichier de conf dans chaque mosquitto, pourtant tu me dis que ça devrais marcher en mettant sur un seul. Malgré mes tests divers ça ne fonctionne pas.
J’ai ma jeedom principale 228 (jeedom228) qui doit envoyer des virtuels et recevoir des virtuels de ma jeedom secondaire 232 (jeedom232).
J’ai aussi les 2 jeedoms (jeedom129 et jeedom212) des enfants qui doivent envoyer des virtuels vers ma principale 228. C’est essentiellement le virtuel de Jeedom monitor que je remonte de chez eux pour intervenir si pb.
J’ai essayé de ne mettre qu’un fichier de conf sur le mosquitto de la jeedom228 qui est le point central avec les autres sans y réussir. Donc ça fonctionne avec un fichier de conf sur chaque mosquitto local.
Ce qui me rassure un peu c’est que j’ai bien lu sur le forum et mêmes des gars plus compétent que moi ont eu des pbs de mise en place et de compréhension de la doc.
Y a pas de raison !
Tu pourrais copier la conf qui ne fonctionne pas sur le jeedom principal ?
Tu as un topic sur chaque serveur mosquitto qui permet de voir le statuts des connexions :
$SYS/broker/connection/<nom connexion>/state
(j’ai un equipemment jMQTT qui me remonte cet état dans JEEDOM, que j’historise, pour détecter des pbs de connexion)
A vérifier pour savoir si le pb vient de la connexion ou des topics
Norbert
J’ai essayé tellement de truc que je suis perdu et j’ai peur de te perdre aussi 
Donc sur la jeedom228 qui est ma principale IP: 192.168.1.228 avec mosquitto installé dessus.
je veux mettre le fichier de conf dans le mosquitto jmqtt pour lier dans les 2 sens avec la 192.168.1.232 qui est sur mon réseau local et avec les 2 autres qui sont à distance, donc avec mon ip public.
Les règles sont déjà paramétrées sur mon routeur pour filtrer et sécuriser l’accès à mon mosquitto depuis internet. J’utilise déjà ça avec Jmqtt pour partager des équipements.
Le dernier fichier testé :
connection jeedom228 vers 232
address 192.168.1.232:1883
topic # both 1 jeedomMQTT228/ jeedomMQTT232/
topic # both 1 jeedomMQTT232/ jeedomMQTT228/
remote_clientid jeedom232
remote_username Jeedom232
remote_password toto
connection jeedom212 vers 228
address 83.69.172.231:1883
topic # both 1 jeedomMQTT228/ jeedomMQTT212/
topic # both 1 jeedomMQTT212/ jeedomMQTT228/
remote_clientid jeedom212
remote_username Jeedom212
remote_password jeedomfils
connection jeedom129 vers 228
address 83.69.172.231:1883
topic # both 1 jeedomMQTT228/ jeedomMQTT129/
topic # both 1 jeedomMQTT129/ jeedomMQTT228/
remote_clientid jeedom129
remote_username Jeedom129
remote_password jeedomfille
cleansession true
notifications false
local_username Jeedom228
local_password toto
start_type automatic
Essaye un truc comme ca
# sur 228 : topic racine jeedomMQTT228 et topics liés jeedomMQTT332, jeedomMQTT212, jeedomMQTT129
# sur 232 : topic racine jeedomMQTT232 et topic lié jeedomMQTT228 (liaison bi-directionnelle entre 232 et 228 d'après ce que j'ai compris)
# sur 212 : topic racine jeedomMQTT212 (liaison monodirectionnelle, tu veux piloter les Jeedom de tes enfants de chez toi, mais pas le contraire)
# sur 129 : topic racine jeedomMQTT129 (liaison monodirectionnelle, tu veux piloter les Jeedom de tes enfants de chez toi, mais pas le contraire)
connection jeedom228_vers_232
address 192.168.1.232:1883
topic jeedomMQTT228/# both 1
topic jeedomMQTT332/# both 1
cleansession true
persistence true
keepalive_interval 30
restart_timeout 5
retry_interval 5
notifications true
remote_clientid jeedom228vers232
remote_username Jeedom232
remote_password <pwd mosquitto232>
local_username Jeedom228
local_password <pwd mosquitto228>
start_type automatic
try_private true
bridge_insecure true
connection jeedom228_vers_212
address 83.69.172.231:1883
topic jeedomMQTT212/# both 1
cleansession true
persistence true
keepalive_interval 30
restart_timeout 5
retry_interval 5
notifications true
remote_clientid jeedom228vers212
remote_username Jeedom212
remote_password <pwd mosquitto212>
local_username Jeedom228
local_password <pwd mosquitto228>
start_type automatic
try_private true
bridge_insecure true
connection jeedom228_vers_129
address 83.69.172.231:1883
topic jeedomMQTT129/# both 1
cleansession true
persistence true
keepalive_interval 30
restart_timeout 5
retry_interval 5
notifications true
remote_clientid jeedom228vers129
remote_username Jeedom129
remote_password <pwd mosquitto129>
local_username Jeedom228
local_password <pwd mosquitto228>
start_type automatic
try_private true
bridge_insecure true
Et vérifie via mqtt explorer que les bridges montent bien dans le topic
$SYS/broker/connection/<nom connexion>/state
EDIT : une remarque, tu as la même IP externe pour tes bridges jeedom228_vers_129 et jeedom228_vers_212
Bonsoir,
Je ne suis pas chez moi, mais j’ai pu faire quelques tests.
Ca marche bien entre la 228 et la 232, mais rien à faire avec celles des enfants qui sont à distance. J’ai essayé plusieurs combinaisons.
Les IP externe, oui ne t’inquiètes pas j’avais mis des fausses pour publier idem pour les mots de passe.
Et via mqtt explorer, les brigdes montent bien ?
Tu as bien ouvert en entrée de la box de tes enfants le port 1883, avec le nat qui va bien ?
Tu ne vois pas des logs d’erreur dans les logs mosquitto ?
Heuu attention pour l’instant on peut lier 2 jeedom du même LAN
Pour lier 2 Jeedom a travers le Net c’est pas OK vu un post de Loic car ils sont en train de mettre un truc en place dont on ne sait pas si ce sera payant ou pas !
Je suis à l’hôtel et mon mqtt explorer distant ne marche pas car l’ip ou je suis n’est pas ouverte sur mon routeur, donc je suis aveugle 
Oui les 2 ip des enfants sont bien ouvert, ça marche avec jmqtt, je remonte les productions solaire.
On les trouve où les logs mosquitto ?