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

Re: design Domoticz + MQTT

Message par mqu »

je suis allé faire un tour dans le code MQTT. C'est du C++, mais bon, c'est pas bien joli. Ca ressemble bien plus à du code C, à bien des endroits. Par ailleurs, je suis surpris de recevoir pour un sensor qui représente une température, tout un tas d'attributs sans rapport avec le sensor. On présent un gros soucis de conception.

tout cela pour dire que je ne passerai que le minimum vital de mon précieux temps pour faire fonctionner mes scripts sur Domoticz afin rendre service à "mes utilisateurs potentiels". Pour le reste, je souhaite une bonne continuation au projet qui offre des fonctionnalités intéressantes, mais une ergonomie assez étrange. Certains membres de la communauté sont assez brutaux. Je trouve cela surprenant.
mqu
Messages : 15
Inscription : 14 mai 2018, 18:20

Re: design Domoticz + MQTT

Message par mqu »

Panoramix a écrit : 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.
hello, quels genres de sensors ou d'application MQTT veut-tu intégrer sur Domoticz ? je suis en train de developper une GW Domoticz-MQTT. Ce sera en ruby. Tu pourras être béta-testeur si tu le souhaites. Le code sera pret dans 1 semaine max. Il sera assez générique.

En voici les specs :
- script Ruby ou il faudra configurer : 1/ serveur API Domoticz, 2/ brocker MQTT (et c'est tout)
- au niveau des sensors, il faut dans le champ commentaire (description) indiquer le topic dans ce format : mqtt://chemin/de/mon/topic
- le script tournera en daemon (tache de fond) :
- au lancement, via l'API, on fait la correspondance entre idx et topic
- ensuite, via les subcribes, il y aura ventilation des messages entre les 2 systèmes
- au passage, les messages envoyés vers Domoticz seront encapsulés avec du Json
- et coté MQTT, les messages seront dé-jsonisés

and voila ! cela peut se faire dans n'importe quel langage et probablement en LUA/Domoticz. Si certains veulent s'en donner la peine.
Doume
Messages : 550
Inscription : 28 déc. 2014, 10:27
Localisation : Nord (59)
Contact :

Re: design Domoticz + MQTT

Message par Doume »

ça, c'est ce que j'appelle une approche constructive : Chercher le meilleur moyen de faire cohabiter les deux, sans quémander auprès de tiers des adaptations qui n'entrent pas forcément dans leur stratégie de développement.
Si on trouve des infos inutiles dans les messages soumis à MQTT via domoticz/out , c'est tout simplement parce que les développeurs tentent de maintenir une version unifiée des interfaces, commune à tous les dispositifs.

Je te félicite pour l'idée du commentaire définissant ta propre structure MQTT : C'est très ingénieux, et constructif !

J'espère seulement que le langage Ruby ne réclame pas un gros runtime supplémentaire, car ça commence à faire beaucoup pour un RPI ( LUA , Python, Ruby, (Java ??, ) etc....)
Panoramix
Messages : 2
Inscription : 17 mai 2018, 20:10

Re: design Domoticz + MQTT

Message par Panoramix »

Bonjour à tous,

Merci MQU ;-)
Cherchant une solution vous avez répondu déjà à plusieurs questions que je me posais sur domoticz.La roue avance grâce à des gens comme vous.
mqu
Messages : 15
Inscription : 14 mai 2018, 18:20

Re: design Domoticz + MQTT

Message par mqu »

Doume a écrit : J'espère seulement que le langage Ruby ne réclame pas un gros runtime supplémentaire, car ça commence à faire beaucoup pour un RPI ( LUA , Python, Ruby, (Java ??, ) etc....)
ruby est un peu plus lourd que python. Au moins, avec cette solution, on n'a plus besoin de Node-Red qui me semble un peu plus gros, sauf s'il y a un besoin spécifique. Sur le Rasp, je pense que ca passe à l'aise. Et puis, le script sera transposable facilement en Python. Je sais lire le python et le transposer en Ruby ; l'inverse c'est un peu compliqué.

voici un premier jet de mon code pour ceux qui veulent voir : https://gist.github.com/mqu/fc33f3b9aa2 ... 36c6c7302e ; actuellement, seule la partie API Domoticz est en place avec selection des devices possédant un champ description ayant mqtt://...

pour ce qui concerne le publish-subscribe MQTT, ce sera fait dans la semaine.
mqu
Messages : 15
Inscription : 14 mai 2018, 18:20

Re: design Domoticz + MQTT

Message par mqu »

mqu a écrit : pour ce qui concerne le publish-subscribe MQTT, ce sera fait dans la semaine.
voici la première version fonctionnelle (0.01) :
- lien viessman -> mqtt -> domoticz OK
- url : https://gist.github.com/mqu/fc33f3b9aa2 ... 36c6c7302e
- MQTT + Red-Node + Rasp : https://projetsdiy.fr/node-red-mqtt-esp ... icule-ptz/: un usage habituel des topics MQTT (sans encapsulation JSON).

programmation visuelle :
- Kura vs Node-Red vs Flogo : https://fr.slideshare.net/KaiWaehner/co ... lideshow=1
- dashboard interactif : https://freeboard.io/ - https://github.com/Freeboard/freeboard - https://github.com/alsm/freeboard-mqtt
Dernière modification par mqu le 25 mai 2018, 20:52, modifié 7 fois.
mqu
Messages : 15
Inscription : 14 mai 2018, 18:20

Re: design Domoticz + MQTT

Message par mqu »

mqu a écrit :
mqu a écrit : pour ce qui concerne le publish-subscribe MQTT, ce sera fait dans la semaine.
voici la première version fonctionnelle (0.01) :
- lien viessman -> mqtt -> domoticz OK
- url : https://gist.github.com/mqu/fc33f3b9aa2 ... 36c6c7302e
la version actuelle :
- me permet d'afficher la température extérieure et intérieure,
- de se reconnecter automatiquement en cas de déconnexion.
- est malheureusement hard-codée "viessmann", mais je vais corriger cela
- ne traite pas encore les actions issues d'actionneurs dans Domoticz ;d'ailleurs, je ne sais pas très bien comment paramétrer un bouton M/A.

a+
mqu
Messages : 15
Inscription : 14 mai 2018, 18:20

Re: design Domoticz + MQTT

Message par mqu »

j'ai bien avancé au sujet de la GW Domoticz<->MQTT. Voici les problèmes que je vais devoir résoudre :
  • un subscribe sur un ensemble de topics MQTT me permet de publier sur domotics/in les infos issues des sensors qui arrivent au fil du temps : parfait, c'est nominal, si ce n'est qu'il faut encapsuler les infos dans un json-packet (moins standard, mais tellement simple),
  • à l'écoute du topic domoticz/out, je recois les notifications en provenance de domoticz : encore une fois parfait ; là aussi il faut désencapsuler le format json : pas bien compliqué ; quand j'actionne un bouton poussoir, je récupère les infos, tout va bien,
  • le soucis provient de la boucle qui se crée : sensor -> mqtt:un-topic -> mqtt:domoticz/in ->DOMOTICZ -> mqtt:domoticz/out -> sensor (read-only).
il me faudra donc trouver une solution pour éviter ce bouclage ... merci Domoticz :-(
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: design Domoticz + MQTT

Message par papoo »

Bonjour,
est-ce que ce plugin python pour domoticz ne pourrait il pas faire le job avec quelques modifs?

https://github.com/emontnemery/domoticz_mqtt_discovery
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
mqu
Messages : 15
Inscription : 14 mai 2018, 18:20

Re: design Domoticz + MQTT

Message par mqu »

papoo a écrit :Bonjour,
est-ce que ce plugin python pour domoticz ne pourrait il pas faire le job avec quelques modifs?

https://github.com/emontnemery/domoticz_mqtt_discovery
merci pour le lien. dans les prérequis, il faut un firmware esp8266+tasmota. Du coup, dans le cas de ma domotique Viessmann, on est complètement hors périmêtre. Je vas ajouter ce lien dans le message ou je les collectionne.
Dernière modification par mqu le 11 juin 2018, 12:07, modifié 1 fois.
Répondre