Interconnecter deux Domoticz servers via MQTT

Posez vos questions concernant le Raspberry (conseil avant achat, choix de connectique, demandes de câblages...) un espace spécifiques pour les questions relatives aux scripts shell,bask,block etc ... est ouvert dans un autre forum.
Doume
Messages : 539
Enregistré le : 28 déc. 2014, 10:27
Localisation : Nord (59)
Contact :

Interconnecter deux Domoticz servers via MQTT

Message 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 !

vil1driver
Messages : 5663
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Interconnecter deux Domoticz servers via MQTT

Message 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 ?
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

Doume
Messages : 539
Enregistré le : 28 déc. 2014, 10:27
Localisation : Nord (59)
Contact :

Re: Interconnecter deux Domoticz servers via MQTT

Message 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è....

vil1driver
Messages : 5663
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Interconnecter deux Domoticz servers via MQTT

Message 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é :)
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

cyberbob
Messages : 486
Enregistré le : 28 nov. 2016, 19:43
Localisation : Belgique

Re: Interconnecter deux Domoticz servers via MQTT

Message 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 :?:
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

deennoo
Messages : 4030
Enregistré le : 25 janv. 2015, 02:00

Re: Interconnecter deux Domoticz servers via MQTT

Message 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.
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr

Doume
Messages : 539
Enregistré le : 28 déc. 2014, 10:27
Localisation : Nord (59)
Contact :

Re: Interconnecter deux Domoticz servers via MQTT

Message 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, ....

cyberbob
Messages : 486
Enregistré le : 28 nov. 2016, 19:43
Localisation : Belgique

Re: Interconnecter deux Domoticz servers via MQTT

Message 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.
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

Doume
Messages : 539
Enregistré le : 28 déc. 2014, 10:27
Localisation : Nord (59)
Contact :

Re: Interconnecter deux Domoticz servers via MQTT

Message 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)

Doume
Messages : 539
Enregistré le : 28 déc. 2014, 10:27
Localisation : Nord (59)
Contact :

Re: Interconnecter deux Domoticz servers via MQTT

Message 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é ?

Répondre