design Domoticz + MQTT

Forum dédié au protocole MQTT : fonctionnement, intégration ...
Pour les questions concernant le plugin de FlyingDomotic, merci d'utiliser le sous-forum dédié.
mqu
Messages : 15
Inscription : 14 mai 2018, 18:20

design Domoticz + MQTT

Message par mqu »

bonjour,
je suis à l'origine d'une passerelle entre une chaudière Viessman et le protocole MQTT. J'ai choisi ce protocole parce qu'il me semble que c'est le protocole standardisé des IOT.

Suite à cela, j'ai reçu une demande de support pour connecter ce logiciel à Domoticz. J'ai constaté que la façon dont le protocole MQTT est utilisé sur Domoticz est hors-norme :
  • inversion de la notion de client serveur : Domoticz devrait se comporter et se configurer en client par rapport au protocole MQTT ; et du coup, aucune nécessité de mettre en place un paramétrage spécifique à chaque instance de Domoticz
  • au lieu de cela, il faut dans la gateway MQTT donner des ID liées à Domoticz qui sont par définition très variable
  • au lieu de cela, il suffirait de configurer Domoticz avec pour paramétrage le serveur (broker) MQTT, et les différents topics (chemins) liés à chaque sensors
J'ai ouvert un ticket pour remonter ce problème. Je n'ai malheureusement pas réussi à me faire comprendre et entendre. Je n'ai pas envie de passer ma vie a discuter avec un autiste. Je vous laisse le soin de le faire, si vous avez le sentiment que cela en vaut la peine, à défaut, je considérerai que c'est bien moi l'autiste (désolé pour eux). Je considère que c'est toute la communauté Domoticz qui est pénalisée. Par ailleurs, préconisez d'utiliser Node-Red alors qu'on ne veut pas surcharger le traffic réseau en envoyant du JSON plutôt que d'envoyer des trames réseau individuelles : laissez moi sourire ...

je vous encourage donc a intervenir sur le ticket.

si via l'API, on sait récupérer une liste d'ID liées à des devices, en fonction d'un nom, ou d'une chaine de caractère, je veux bien un passer un peu de temps pour automatiser la chose.

liens :
- ticket github : https://github.com/domoticz/domoticz/issues/2387
- passerelle viessman-mqtt : https://github.com/mqu/viessmann-mqtt
- matériel supportant nativement MQTT : https://ubidots.com/docs/devices

bien cordialement, Marc.
mqu
Messages : 15
Inscription : 14 mai 2018, 18:20

Re: design Domoticz + MQTT

Message par mqu »

pour info, le protocole MQTT est aux objets de l'Internet (IOT), ce que la base des registres est au système Windows.
Dernière modification par mqu le 15 mai 2018, 10:29, modifié 1 fois.
Antori91

Re: design Domoticz + MQTT

Message par Antori91 »

-
Dernière modification par Antori91 le 03 avr. 2021, 17:15, modifié 1 fois.
mqu
Messages : 15
Inscription : 14 mai 2018, 18:20

Re: design Domoticz + MQTT

Message par mqu »

description du protocole MQTT :
  • MQTT est un protocole réseau basé sur TCP/IP, et donc en mode connecté
  • il fonctionne en mode client-serveur ; c'est une sorte de bus logiciel
  • le serveur est aussi appelé broker
  • un ou plusieurs client peuvent se connecter au serveur sans se connaître mutuellement
  • les clients ne sont pas nécessairement sur le même réseau informatique ; le réseau peut être filaire ou sans fil
  • traditionnellement, les données sont organisées de façon hiérarchique
  • le chemin d'accès à une variable est appelé "topic"
  • par exemple, on pourra trouver la température d'une chaudière à cette adresse (topic) : /maison/chaudiere/senseur/temp/interieur/ ; soit en anglais : /home/heater/sensor/temp/indoor
  • un ou plusieurs clients peuvent s'abonner (subscribe) à un topic déterminé : /home/heater/sensor/temp/indoor ou à tous les capteurs de température : /home/#/sensor/temp/#
  • modifier une valeur se fait par la primitive "publish".
  • il n'est pas nécessaire de faire de polling sur les valeurs : MQTT est notifiant.
  • il est possible d'implémenter un client MQTT sur certains micro-controleur (Ardiuno, ESP8266)
  • un serveur MQTT fonctionne aisément sur un Raspberry PI.
  • il existe des librairies implémentant le protocole MQTT dans pratiquement tous les langages : C, C++, Ruby, Python, Java, NodeJS, perl, ...
  • il existe plusieurs implémentation natives du serveur et du client
  • sur plateforme Android, on peut trouver des petits dashboard qui offrent des fonctionalités moins avancées que Domoticz, mais suffisantes pour controler un objet compatible MQTT. Le dashboard (tableau de bord) se programme en quelques clics
  • des offres cloud existent afin de fournir : dashbord interractif et historique. Malheureusement, ces offres sont souvent payanes
best regards.
Antori91

Re: design Domoticz + MQTT

Message par Antori91 »

-
Dernière modification par Antori91 le 03 avr. 2021, 17:16, modifié 1 fois.
mqu
Messages : 15
Inscription : 14 mai 2018, 18:20

Re: design Domoticz + MQTT

Message par mqu »

bonjour et merci pour la réponse.
  • je viens de découvrir qu'il existe des firmware ESP qui sont spécifiquement développés pour s'interfacer avec Domoticz, via MQTT ; c'est plutôt une bonne chose et cela simplifie largement la mise en place de capteurs compatibles avec cet environnement
  • cependant, il doit y avoir des capteurs dont on ne sait pas changer le firmware, dans ce cas, il est plus problématique de les coupler avec Domoticz
  • il est sans doute aussi possible de trouver des capteurs dont un peut changer le firmware, mais pour lesquels il n'y a pas eu de développement spécifique pour DomoticZ
  • la solution Node-Red est sans doute assez générique, mais manifestement pas si facile a utiliser ; c'est un pis-aller. Elle nécessite de développer une double compétence.
  • je ne viens aucunement en donneur de leçon et je ne prétends pas connaitre mieux que d'autre le protocole MQTT ; je me suis permis de faire un rappel des fonctionnalités qui me semblent importantes.
  • je constate que la passerelle MQTT-Viessman que j'ai réalisée fonctionne nativement avec plusieurs soft sans avoir à écrire une seule ligne de code, juste par configuration (Jeedom, Home-Assitant)
  • j'ai reçu par mail une demande de support pour intégrer mon développement (GW Viessman-MQTT) sur Domoticz ; je me permets donc de proposer une piste générique. Pour satisfaire cette demande, je crois que je vais être contraint d'installer Domoticz sur l'une de mes Rasp et passer plusieurs heures à configurer et développer la GW. Sachant que cela n'est pas nécessaire pour d'autre solutions de home-automation, on peut sans doute comprendre que cela ... me gave. On peut préciser que le demandeur n'a sans doute pas la compétence requise pour effectuer lui même cette opération pourtant assez simple. Cela peut se faire dans n'importe quel langage supportant MQTT ; cela doit même pouvoir se faire avec Node-Red solution proposée par la team Domoticz. Il n'y arrive pas, que voulez-vous que je vous dise ... Qu'il passe sur une autre solution de Home-Automation ?
  • le coup du logiciel libre je connais ; je suis dedans depuis plus de 25 ans. Je ne vais pas contribuer à l'ensemble des softs de la planète. Je fais une proposition sur le site de dev de Domoticz et je me retrouve en face d'une personne qui ne veut rien entendre et ferme mon ticket en non résolu et se permet de supprimer tout ou partie de mes commentaires.
cordialement, Marc.
mqu
Messages : 15
Inscription : 14 mai 2018, 18:20

Re: design Domoticz + MQTT

Message par mqu »

lien : comment se passer de MQTT et s'appuyer uniquement sur vtalk : viewtopic.php?f=17&t=1955
Panoramix
Messages : 2
Inscription : 17 mai 2018, 20:10

Re: design Domoticz + MQTT

Message par Panoramix »

Bonsoir,
je viens de rejoindre domoticz, car je recherche un système open source ET standard.
Je viens d'essayer Gladys avec MQTT , NO COMMENT !
Après avoir installé Domoticz me voici ici :
-Je constate vu ce billet que certain membre de ce blog, jette des années d'expérience un 'Standard propriétaire domoticz' pour le MQTT à moi de flasher, m'adapter, etc, ...
Hé bien moi je vais rester dans le STANDARD open source car je suis une personne ouverte désirant ne pas recréer la poudre, mais être compatible avec un standard qui sera exploitable par tous.

bravo pour le travail réaliser par les 'VRAIS' de Domoticz et qui désirent le faire avancer...

Dans l'attente de l'intégration de MQTT je vous laisse, je vais réinitialiser ma config de base Raspian + Mosquitto et continuer mes recherches avant de me lancer dans un développement.

Courage à tous
Doume
Messages : 550
Inscription : 28 déc. 2014, 10:27
Localisation : Nord (59)
Contact :

Re: design Domoticz + MQTT

Message par Doume »

Panoramix a écrit : bravo pour le travail réaliser par les 'VRAIS' de Domoticz et qui désirent le faire avancer...
C'est quoi, pour toi, les "VRAIS" ? Ceux qui acceptent de se plier à tes specs ?

MQTT ne définit en rien le contenu des messages : C'est seulement devenu un standard de 'transport' entre processus.
Domoticz dans son état actuel est totalement conforme à MQTT, et le supporte : La preuve, des interfaces comme ESPEasy, Wifinfo, Tasmota, ESPURNA, etc... dialoguent très bien avec Domoticz !
mqu
Messages : 15
Inscription : 14 mai 2018, 18:20

Re: design Domoticz + MQTT

Message par mqu »

Doume a écrit :
MQTT ne définit en rien le contenu des messages : C'est seulement devenu un standard de 'transport' entre processus.
Domoticz dans son état actuel est totalement conforme à MQTT, et le supporte : La preuve, des interfaces comme ESPEasy, Wifinfo, Tasmota, ESPURNA, etc... dialoguent très bien avec Domoticz !
je pense que Panoramix est seul contre tous. Mais je le rejoins. La façon dont le protocole MQTT est utilisé au sein de Domoticz est vraiment atypique. En réalisant quelques acrobaties, on arrive a faire fonctionner. Pour cela, il faut :
- soit modifier un firmware natif MQTT,
- soit écrire un adaptateur MQTT-Domoticz.

en clair : Domoticz 1/ encapsule les datas dans du json, ne gère pas les topics mais utilise 2 topics permettant de créer une sorte de bus logiciel.

je suis actuellement en train d'écrire un adaptateur ruby-mqtt-domoticz. J'essaie de faire en sorte qu'il soit le plus générique possible. Dans les commentaires des "sensors", il suffira d'inscrire les topics associés a chaque sensors. Ensuite, via l'API, je pense pouvoir rendre la chose assez automatique. Plus nécessaire de se prendre la tete avec les "idx". De même le json sera bien encapsulé.

idéalement, si les dev Domoticz voulaient bien mettre une option "json" à true ou false dans l'implémentation MQTT et prendre en compte un topic par sensor, ca serait cool. Mais bon, on peut toujours rêver.

bien cordialement.
Répondre