Page 1 sur 2

Interconnecter deux Domoticz servers via MQTT

Publié : 05 oct. 2017, 18:29
par Doume
Il m'est venu à l'esprit une idée aussi sotte que grenue, mais j'aime tenter de relever des défis...
Je vous soumets donc le projet, pour susciter des réactions.

J'ai un serveur Raspberry Pi, qui execute Domoticz, avec un dongle Zwave et plein de petits capteurs tels que Wemos, autres Pi, etc...
Ca fonctionne très bien depuis plus de 2 ans

Récemment , j'ai aussi, par défi, installé Domoticz sur une tablette Android, sous Linux Deploy
ça fonctionne plutôt bien aussi

Le deal serait de maintenir ce second serveur en tant que 'mirroir' du 1er, pour l'instant

J'ai donc installé mosquitto ( MQTT broker ) sur le 1er, et configuré Domoticz avec un worker MQTT broker : ça semble OK, je retrouve sur le topic domoticz/out du broker toutes les updates publiées par Domoticz.

J'ai installé un broker sur le 2è serveur (la tablette)

Sur une machine tierce, j'utilise nodered pour capter les messages du 1er serveur (topic domoticz/out), et les envoyer tels quels sur le broker du 2è serveur ( topic domoticz/in ); en // , il affiche les messages sur le debug de nodered, et je les vois passer
Le 2è serveur les voit passer (dans le log domoticz)
Donc toute la machinerie semble opérationnelle.
Hélas, les devices affichent un beau texte 'Invalid' sur fond rouge pour tous les objets qui reçoivent des messages MQTT.

Si quelqu'un a une idée du 'pourquoi ? ' je lui en serai reconnaissant.
Note : Il y a probablement plus efficace pour remplir cette mission, mais au passage : J'apprends à maitriser MQTT, nodered, et autres joyeusetés !

Re: Interconnecter deux Domoticz servers via MQTT

Publié : 05 oct. 2017, 23:03
par vil1driver
Salut,

Un seul et unique broker ;) devrait être plus simple que de jouer avec nodered mais si c'est sympa de tester ainsi ;)

Mais tu sais que domoticz possède une fonction maître esclave pour cela ?

Re: Interconnecter deux Domoticz servers via MQTT

Publié : 05 oct. 2017, 23:08
par Doume
J'ai essayé, de connecter le 2è serveur (la tablette) sur le broker du 1er
Mais je n'ai pas constaté de mise à jour des devices du 2è....

Re: Interconnecter deux Domoticz servers via MQTT

Publié : 05 oct. 2017, 23:15
par vil1driver
Ou alors

Domoticz 1 en IN sur le broker 1
Domoticz 2 en OUT sur le broker 1

Domoticz 1 en OUT sur le broker 2
Domoticz 2 en IN sur le broker 2

L'un parle, l'autre écoute..?

Il est tard je n'ai plus les idées claires, désolé :)

Re: Interconnecter deux Domoticz servers via MQTT

Publié : 06 oct. 2017, 09:58
par cyberbob
vil1driver a écrit :... domoticz possède une fonction maître esclave pour cela ?
Oui, mais est-ce qu'il ne faut pas que les 2 versions de domoticz installée soit les mêmes et sur le même support :
Par exemple Maître/esclave sur 2 raspberry, sur 2 syno, 2 linux :?:
Si oui alors dans sont cas le maître/esclave ne fonctionnera pas sur un rasberry et sur un linux :?:

Re: Interconnecter deux Domoticz servers via MQTT

Publié : 06 oct. 2017, 10:03
par deennoo
cyberbob a écrit :
vil1driver a écrit :... domoticz possède une fonction maître esclave pour cela ?
Oui, mais est-ce qu'il ne faut pas que les 2 versions de domoticz installée soit les mêmes et sur le même support :
Par exemple Maître/esclave sur 2 raspberry, sur 2 syno, 2 linux :?:
Si oui alors dans sont cas le maître/esclave ne fonctionnera pas sur un rasberry et sur un linux :?:
Tu peux mixer les installations, un linux peut parler a windows et vis et versa c'est justement la beauté de la chose.

Par contre certains modules ne fonctionne pas, je ne sais plus les quels.

Re: Interconnecter deux Domoticz servers via MQTT

Publié : 06 oct. 2017, 10:17
par Doume
vil1driver a écrit :Ou alors

Domoticz 1 en IN sur le broker 1
Domoticz 2 en OUT sur le broker 1

Domoticz 1 en OUT sur le broker 2
Domoticz 2 en IN sur le broker 2

L'un parle, l'autre écoute..?

Il est tard je n'ai plus les idées claires, désolé :)
Pas facile de vraiment configurer les topics utilisés avec MQTT
Il semblerait que l'on puisse seulement dire : pas de diffusion out ( = none )
ou diffusion out suivant plusieurs types de hiérarchies
Mais le in d'un broker ne peut pas être désactivé ?

Je me suis alors essayé à la synchro maitre/esclave de Domoticz
sur le maitre (la tablette), j'ai déclaré l'autre avec le nom 'Remote sensors'
Mais le maître ne semble pas se mettre à jour :

Code : Tout sélectionner

2017-10-06 10:11:49.808 (Remote sensors) Light/Switch (Unknown)
2017-10-06 10:11:49.886 (Remote sensors) Light/Switch (Unknown)
2017-10-06 10:11:49.964 (Remote sensors) Lux (Unknown)
2017-10-06 10:11:50.057 (Remote sensors) Temp (Unknown)
Si, sur le master, je modifie le login de connexion au slave sur port 6144, le log affiche une erreur.
Donc la phase de connexion entre instances est bonne.
Pourquoi ces '(Unknown)' lors des échanges ??? Mystère pour l'instant
Dommage que le log n'affiche pas l'Idx du dispositif concerné !

Je précise que la config du master est un 'clone' du slave : Mêmes dispositifs, mêmes noms, mêmes Idx, ....

Re: Interconnecter deux Domoticz servers via MQTT

Publié : 06 oct. 2017, 13:15
par cyberbob
deennoo a écrit :... Tu peux mixer les installations, un linux peut parler a windows et vis et versa c'est justement la beauté de la chose.
Par contre certains modules ne fonctionne pas, je ne sais plus les quels.
Donc si dans mon réseau local, je place un rasberry en esclave et le synology en master, cela va fonctionner (sauf pour quelques modules mais pas grave) :?:
J'avais cru comprendre en lisant le wiki domoticz dans les precondition et setup : http://www.domoticz.com/wiki/Setting_up_Device_sharing
qu'il fallait le même support matériel pour les maître/esclave.

Re: Interconnecter deux Domoticz servers via MQTT

Publié : 06 oct. 2017, 13:58
par Doume
Je pense qu'il faut des processeurs gérant les poids-forts et poids-faibles de la même manière
C'est le cas entre X86 et ARM, par exemple
Mais ça n'est pas le cas entre processeurs X86 et Risc (les Mac, par exemple)

Re: Interconnecter deux Domoticz servers via MQTT

Publié : 08 oct. 2017, 13:29
par Doume
Rien à faire, je continue à constater ce genre de message dans le log du master (et aucune mise à jour des devices du master) :

Code : Tout sélectionner

2017-10-08 13:21:18.543 (Remote sensors) Light/Switch (Unknown)
2017-10-08 13:21:18.548 (Remote sensors) Light/Switch (Unknown)
2017-10-08 13:21:18.550 (Remote sensors) Lux (Unknown)
2017-10-08 13:21:18.555 (Remote sensors) Temp (Unknown)
Personne n'utilise cette fonctionnalité ?