AIde paramétrage avec 2 Broker Mosquitto différents en vue de remplacer Jeelink

Bonjour,
Mon but est de remplacer le plugin plugin-jeelink qui est amené a disparaitre vu qu’il va être remplacer par ce plugin.

J’ai essayé en suivant la doc du plugin, j’ai suivi le paragraphe « Transmettre des informations entre deux jeedoms par MQTT » mais aucun équipement est créé dans les deux jeedoms

Sur le MQTT de mon atlas, j’ai laissé la config par défaut , j’ai juste ajouté

  • Topic des Jeedoms liés : jeedomVM

Sur le MQTT de ma VM, j’ai laissé configuré comme cela

  • Topic racine Jeedom : jeedomVM
  • Topic des Jeedoms liés : jeedom
  • Dans la partie paramètre, j’ai ajouté cette partie
connection JAGJEEDOM
address 192.168.156.234:1883
topic # both 0 jeedomVM/ jeedom/
cleansession true
notifications false
remote_clientid jeedom
remote_username jeedom
remote_password kCt6Z4mu08Z
local_username jeedom
local_password OaXSyuckqBHe65K
start_type automatic
try_private true
bridge_insecure true
bridge_tls_version tlsv1.3

Une fois la configuration j’ai relancé l’installation de mosquitto sur les 2 jeedoms.
j’ai activé la découverte sur les 2 jeedoms et envoyer la découverte sur les 2 jeedoms.
Malheureusement aucun équipement n’est crée des 2 cotés, est ce que j’ai loupé quelques choses ou quelques choses que j’ai mal compris

Merci de l’aide


Informations Jeedom

Core : 4.4.10 (beta)
DNS Jeedom : oui

Plugin : MQTT Manager
Version : 2024-08-10 12:50:58 (beta)
Statut Démon : Démarré - (2024-08-11 15:25:44)

Bonjour tous,
J’ai également essayé de mettre en oeuvre cette fonctionnalité, mais je n’ai pas plus réussi.
Ma configuration est très proche de celle décrite ci-dessus.
En fait, j’attend avec impatience la publication de l’article de Loïc mentionné dans le post ci dessous :

Maxime

Bonjour
Pour le moment ce mode est expérimental j’ai pas encore eu le temps de le tester. En gros la le soucis est pas côté plugin mais plus dans la configuration à mettre pour activer la synchronisation entre deux mosquito.

La déjà faudrait voir avec un Mqtt explorer si les info passe d’un jeedom a l’autre (ce qui n’est sûrement pas le cas) et ensuite regarder la log mosquito (de mémoire dans /var/log)

Merci Loïc pour ta réponse.
Pour aider : les informations passent bien d’un Mosquitto à l’autre. Avec des log en mode debug, je vois des deux cotés les messages de type :

Message reçu sans prise en charge par un plugin : {"jeedom_luna":{"cmd":{"event":{"3195":{"value":100,"humanName":"[S\u00e9jour][Temp. et hum. S\u00e9jour][Batterie]","unite":"%","name":"Batterie","type":"info","subtype":"numeric"}}}}}

pour tous les équipements que j’ai choisi de transmettre (2 pour l’instant).
Maxime

PS : je les vois également via MQTT Explorer

Bonjour,

Même type de configuration de mon coté et mêmes symptômes au début.
Pour résoudre le problème, certainement pas les best practices, j’ai supprimé les topics dans la conf mosquitto.

connection bridge_mosquitto
address 192.168.1.150:1883
topic # both 0
cleansession true
notifications false
...

Ça me semble pas mal pourtant la tu as mis quoi comme conf sur les 2 mosquito ?

C’est un peut dangereux de faire ça quand meme normalement par topic ça devrait marcher

2 box : Luna et Atlas.
Objectif : Luna envoie à Atlas.
Conf coté Luna :

per_listener_settings true

listener 1883
persistence false
allow_anonymous false
password_file /var/www/html/plugins/mqtt2/core/class/../../data/passwords

listener 8883
persistence false
password_file /var/www/html/plugins/mqtt2/core/class/../../data/passwords
allow_anonymous false
cafile /var/www/html/plugins/mqtt2/core/class/../../data/ssl/ca.crt
certfile /var/www/html/plugins/mqtt2/core/class/../../data/ssl/mosquitto.crt
keyfile /var/www/html/plugins/mqtt2/core/class/../../data/ssl/mosquitto.key
require_certificate true

connection ATLAS_LUNA
address 192.168.100.28:1883
topic # both 0 jeedom_luna/ jeedom_atlas/
cleansession true
notifications false
remote_clientid JEEDOM_ATLAS_TIGNIEU
remote_username jeedom
remote_password 7OatshMbAzYhf8apQnClSudCy52Zdjp3odzNyWTXHjFL5WQUVvwBCHietTvit3T0
local_username jeedom
local_password 9XFAMY2Ddnb8ZIgKtINiil3x0ud5PfQRyYVTqTbXZClgGPvbK7qtTVyV0X3xrQei
start_type automatic
try_private true
bridge_insecure true
bridge_tls_version tlsv1.3

Conf coté Atlas : standard.

Merci pour ton aide.
Maxime
PS : suite à demain :wink:

Non mais la conf du plugin mqtt. En plus la tu envoi le topic Luna dans atlas ça semble pas logique il doit arriver dans Luna de l’autre côté

Toujours merci.
Je ne comprend pas bien ta réponse. J’essayé la conf « miroir » coté Atlas (i.e. idem sauf local remote), mais çà ne fonctionnait pas. Je n’ai pas essayé une conf mosquitto « miroir » sur les 2 cotés.
Conf MQTT Manager coté Luna :




Conf MQTT Manager coté Atlas :


En réalité, je crois qu’il y a des notions/concepts qui m’échappent. J’ai consulté beaucoup de pages internet, mais je n’ai pas trouvé d’explication qui me soient accessibles :innocent:.
Dont https://mosquitto.org/man/mosquitto-conf-5.html, https://manpages.debian.org/testing/mosquitto/mosquitto.conf.5.en.html et bien sur https://doc.jeedom.com/fr_FR/plugins/programming/mqtt2/
Encore merci pour tes très nombreuses contributions et ton aide toujours très précieuse. in extenso, ce sujet n’est pas prioritaire, de mon point de vue.
Maxime

Bonjour,
Le concept est assez simple chaque box écris dans un topic sur mosquitto. Dans ton cas la luna écris sur le mosquitto de la luna dans Jeedom_luna et l’atlas sur le mosquitto atlas dans le topic Jeedom_atlas.

Le but c’est que l’allas puisse voir le topic de la luna pour récupérer les informations. Deux solution soit connecter une des box sur le mosquitto de l’autre box directement (config en brocker distant). Soit synchroniser des topics entre les 2 mosquitos.

Toi tu as choisis la deuxième option il te faut donc envoyer le topic Jeedom_luna du mosquito de la luna sur l’atlas toujours dans Jeedom_luna (c’est la ton erreur toi tu l’envoi dans Jeedom_atlas).

connection ATLAS_LUNA
address 192.168.100.28:1883
topic # both 0 jeedom_luna/ jeedom_atlas/

connection ATLAS_LUNA
address 192.168.100.28:1883
topic # both 0 jeedom_luna/ jeedom_luna/
cleansession true
notifications false
remote_clientid JEEDOM_ATLAS_TIGNIEU
remote_username jeedom
remote_password 7OatshMbAzYhf8apQnClSudCy52Zdjp3odzNyWTXHjFL5WQUVvwBCHietTvit3T0
local_username jeedom
local_password 9XFAMY2Ddnb8ZIgKtINiil3x0ud5PfQRyYVTqTbXZClgGPvbK7qtTVyV0X3xrQei
start_type automatic
try_private true
bridge_insecure true
bridge_tls_version tlsv1.3

Pour aider voila un exemple (sera bien évidement dans la documentation de la prochaine version du plugin) :

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

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/
cleansession true
notifications false
remote_clientid jeedom_2
remote_username jeedom
remote_password password_1
local_username jeedom
local_password password_2
start_type automatic
try_private true
bridge_insecure true
bridge_tls_version tlsv1.3
1 « J'aime »

Merci Loic
Je testerai demain.
Par contre petite question c’est normal que l’on est 2 fois jeedom_2 ?


topic # both 0 jeedom_2/ jeedom_2/

Oui tu envoi le topic jeedom_2 de jeedom 2 dans le topic jeedom_2 de jeedom 1. Faut surtout pas changer le topic c’est le dossier du jeedom en gros et dans jeedom 1 tu lui a dis les jeedom liée yen a un dans le topic jeedom_2 donc faut bien garder le meme

1 « J'aime »

cette conf là fonctionne chez moi :

connection mqtt2stetienne
address 172.19.0.1:1883
#----- parametrage des topics
topic # both 1 jeedom_stlattier/ stlattier38/
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
#----- fin paramétrgae des topics
cleansession false
persistence true
keepalive_interval 30
restart_timeout 5 10
notifications true
remote_clientid mqtt2stetienne
remote_username jeedom
remote_password DSqWPZQbk4c....
local_username jeedom
local_password djc7kcfFYQpP5thc.....
start_type automatic
try_private true
bridge_insecure true
log_type warning

Paramétré coté source, rien coté cible … découverte activée coté cible et puis envoi de la decouverte coté source (après avoir activer la synchro sur quelques equipements ou le jeedom interne

jeedom_stlattier correspond au topic racine de publication des evts sur mqtt2 source, stlattier38 correspond au topic de publication coté cible

Norbert

Bonjour Loïc,
Bien sur, ta solution fonctionne et je te remercie très chaudement pour toute l’aide, de grande qualité, que tu apportes à la communauté Jeedom.
Je vais pouvoir approfondir le lien entre mes deux Jeedom.

Nota : je me doutais que le problème était autour de « topic » mais les docs mosquitto ne m’ont pas vraiment aidé :face_exhaling:.
Maxime

2 « J'aime »

Merci Loïc
Cela fonctionne, je vais pouvoir migrer tranquillement vers MQTT et viré Jeelink

2 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.