Interconnecter deux Domoticz servers via MQTT
Interconnecter deux Domoticz servers via MQTT
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 !
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 !
-
- Messages : 5663
- Enregistré le : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Interconnecter deux Domoticz servers via MQTT
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 ?
Un seul et unique broker


Mais tu sais que domoticz possède une fonction maître esclave pour cela ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Interconnecter deux Domoticz servers via MQTT
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è....
Mais je n'ai pas constaté de mise à jour des devices du 2è....
-
- Messages : 5663
- Enregistré le : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Interconnecter deux Domoticz servers via MQTT
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é
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é

MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Interconnecter deux Domoticz servers via MQTT
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 :vil1driver a écrit :... domoticz possède une fonction maître esclave pour cela ?
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

Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky
Re: Interconnecter deux Domoticz servers via MQTT
Tu peux mixer les installations, un linux peut parler a windows et vis et versa c'est justement la beauté de la chose.cyberbob a écrit :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 :vil1driver a écrit :... domoticz possède une fonction maître esclave pour cela ?
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
Par contre certains modules ne fonctionne pas, je ne sais plus les quels.
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
http://www.domo-attitude.fr
Re: Interconnecter deux Domoticz servers via MQTT
Pas facile de vraiment configurer les topics utilisés avec MQTTvil1driver 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é
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)
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
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)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.

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.
Domoticz Stable V4.9700 sur Synology DSM 6.2 / 2 x RFlink V48.4 - 433.92MHz(Dio/Chacon) & 433.42MHz(RTS) / Script en LUA & Blocky
Re: Interconnecter deux Domoticz servers via MQTT
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)
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
Rien à faire, je continue à constater ce genre de message dans le log du master (et aucune mise à jour des devices du master) :
Personne n'utilise cette fonctionnalité ?
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)