Besoin d'aide avec Node Red et Domoticz
Besoin d'aide avec Node Red et Domoticz
Bonsoir,
j'utilise Domoticz avec Raspberry depuis quelque temps et j'ai découvert Node red pour créer un Dashboard.
Je rencontre un pb par rapport à l'utilisation de Node red.
Je voudrais dans un premier temps récupérer les données d'une sonde de température via Domoticz et afficher les valeurs sur un Dashboard.
Quelqu'un peut il m'apporter son aide ?
Merci beaucoup
jc
j'utilise Domoticz avec Raspberry depuis quelque temps et j'ai découvert Node red pour créer un Dashboard.
Je rencontre un pb par rapport à l'utilisation de Node red.
Je voudrais dans un premier temps récupérer les données d'une sonde de température via Domoticz et afficher les valeurs sur un Dashboard.
Quelqu'un peut il m'apporter son aide ?
Merci beaucoup
jc
Re: Besoin d'aide avec Node Red et Domoticz
Oui je epux t'aider, voici ce que j'utilise.
Il y a plusieurs manières de traiter les données :
Soit tu surveilles le topic "domoticz" comme ton exemple ou soit tu lances une requête sur un device particulier, tu traites la donnée et tu l'affiche ou la renvoi comme tu le souhaites La commande json pour lancer une requête sur un device particulier : "http request"
Tu passes par un bloc "json" puis par un bloc "fonction" et après tu peux retravailler la donnée, voici un exemple
Voici un exemple de flow, tu peux aussi voir d'autres exemple dans le tuto Nextion
Il y a plusieurs manières de traiter les données :
Soit tu surveilles le topic "domoticz" comme ton exemple ou soit tu lances une requête sur un device particulier, tu traites la donnée et tu l'affiche ou la renvoi comme tu le souhaites La commande json pour lancer une requête sur un device particulier : "http request"
Code : Tout sélectionner
TonipDz/json.htm?type=devices&rid=IDXCode : Tout sélectionner
msg.payload = msg.payload.result[0].Temp;
msg.payload = (msg.payload).toFixed(1)
//msg.payload = msg.payload + "°";
//var url = "192.168.1.111/control?cmd=NEXTION,temp.txt="+"\""+msg.payload+"\"";
//var url = "192.168.1.111/control?cmd=NEXTION,temp.txt="+"%22"+msg.payload+"°"+"%22";
//msg.url = url;
return msg;Code : Tout sélectionner
[{"id":"f599dccd0a2cda03","type":"inject","z":"d92935e8764fb718","name":"1 min","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"60","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":90,"y":240,"wires":[["04207534012c8fea"]]},{"id":"04207534012c8fea","type":"http request","z":"d92935e8764fb718","name":"Exterieure","method":"GET","ret":"txt","paytoqs":"ignore","url":"192.168.1.200:8080/json.htm?type=devices&rid=223","tls":"","persist":false,"proxy":"","authType":"","senderr":false,"credentials":{},"x":290,"y":240,"wires":[["fba04c368fd2d3ee"]]},{"id":"fba04c368fd2d3ee","type":"json","z":"d92935e8764fb718","name":"","property":"payload","action":"","pretty":false,"x":450,"y":240,"wires":[["133ad89133cc1e32","7bc5f5090a018a6f"]]},{"id":"133ad89133cc1e32","type":"function","z":"d92935e8764fb718","name":"Url Data","func":"msg.payload = msg.payload.result[0].Temp;\nmsg.payload = (msg.payload).toFixed(1)\n\n//msg.payload = msg.payload + \"°\";\n//var url = \"192.168.1.111/control?cmd=NEXTION,temp.txt=\"+\"\\\"\"+msg.payload+\"\\\"\";\n//var url = \"192.168.1.111/control?cmd=NEXTION,temp.txt=\"+\"%22\"+msg.payload+\"°\"+\"%22\";\n//msg.url = url;\n\n\nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":600,"y":240,"wires":[["96766142ae2b1094"]]},{"id":"5396c5a6e82e8048","type":"mqtt in","z":"d92935e8764fb718","name":"Baie","topic":"Baie/Temperature","qos":"2","datatype":"auto","broker":"ee3b0af6.711048","nl":false,"rap":true,"rh":0,"inputs":0,"x":160,"y":400,"wires":[["97b244fe9e14b05c"]]},{"id":"97b244fe9e14b05c","type":"json","z":"d92935e8764fb718","name":"","property":"payload","action":"","pretty":false,"x":350,"y":400,"wires":[["7bc5f5090a018a6f"]]},{"id":"7bc5f5090a018a6f","type":"debug","z":"d92935e8764fb718","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":850,"y":400,"wires":[]},{"id":"96766142ae2b1094","type":"mqtt out","z":"d92935e8764fb718","name":"","topic":"Exterieure/Temperature","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"ee3b0af6.711048","x":850,"y":240,"wires":[]},{"id":"ee3b0af6.711048","type":"mqtt-broker","name":"","broker":"192.168.1.200","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
Re: Besoin d'aide avec Node Red et Domoticz
Bonsoir Jeff,
Merci pour ta réponse, cependant est il possible que tu m'envoies le paramétrage de tous tes Node afin que je puisse comprendre ?
En te remerciant d'avance
JC
Merci pour ta réponse, cependant est il possible que tu m'envoies le paramétrage de tous tes Node afin que je puisse comprendre ?
En te remerciant d'avance
JC
Re: Besoin d'aide avec Node Red et Domoticz
Bonjour,
Tu as tout ce que tu as besoin pour récupérer des infos d'un device de domoticz.
As tu bien compris mes explications...
Je vais essayé d'être plus précis, tu dois importer le flow avec le code en bas de mon post.
Tu dois changer ip et le numéro de device du node http "extérieure" de mon ex. Tu peux à ce stade relier une case de visualisation des messages case verte "msg payload" après la case json et voir dans le volet de droite les logs, icône coocinelle "debug" le json.
A partir de là tu peux relier le bloc fonction et traiter l'info que tu veux récupérer et après tu renvois cette info vers une case de dashboard...
Montre moi des images de ton flow si tu as besoin aide
Tu as tout ce que tu as besoin pour récupérer des infos d'un device de domoticz.
As tu bien compris mes explications...
Je vais essayé d'être plus précis, tu dois importer le flow avec le code en bas de mon post.
Tu dois changer ip et le numéro de device du node http "extérieure" de mon ex. Tu peux à ce stade relier une case de visualisation des messages case verte "msg payload" après la case json et voir dans le volet de droite les logs, icône coocinelle "debug" le json.
A partir de là tu peux relier le bloc fonction et traiter l'info que tu veux récupérer et après tu renvois cette info vers une case de dashboard...
Montre moi des images de ton flow si tu as besoin aide
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
Re: Besoin d'aide avec Node Red et Domoticz
Bonjour Jeff,
Je commence à comprendre
Juste encore une précision, que signifie le paramètre "Topic" dans le mode "Mqtt out" ? Que dois je inscrire comme paramètres ?
Et peux tu aussi m'éclairer sur le programme contenu dans le mode fonction ? A quoi cela sert d'écrire ?
msg.payload = msg.payload.result[0].Temp;
msg.payload = (msg.payload).toFixed(1)
Voila, encore des interrogations pour moi.
Merci de ton temps
En te remerciant de ta patience
JC
Je commence à comprendre
Juste encore une précision, que signifie le paramètre "Topic" dans le mode "Mqtt out" ? Que dois je inscrire comme paramètres ?
Et peux tu aussi m'éclairer sur le programme contenu dans le mode fonction ? A quoi cela sert d'écrire ?
msg.payload = msg.payload.result[0].Temp;
msg.payload = (msg.payload).toFixed(1)
Voila, encore des interrogations pour moi.
Merci de ton temps
En te remerciant de ta patience
JC
Dernière modification par Keros le 23 nov. 2022, 18:37, modifié 1 fois.
Raison : Merci d'éditer le dernier message pour y rajouter l'information supplémentaire
Raison : Merci d'éditer le dernier message pour y rajouter l'information supplémentaire
Re: Besoin d'aide avec Node Red et Domoticz
La valeur dans le topic, sert à renvoyer la valeur du msg.payload sur un topic particulier, je l'utilise sur un plugin MQTT de espeasy pour mon afficheur nextion, sur mon écran RGB...
Pour ce qui te concerne toi à la place du node mqtt tu vas utiliser un node jauge ou chart pour lafficher ta valeur msg.payload sur ton dashboard.
As tu déjà installer serveur mosquitto pour le mqtt ?
Récupères tu tes valeurs de domoticz dans les logs ?
Pour ce qui te concerne toi à la place du node mqtt tu vas utiliser un node jauge ou chart pour lafficher ta valeur msg.payload sur ton dashboard.
As tu déjà installer serveur mosquitto pour le mqtt ?
Récupères tu tes valeurs de domoticz dans les logs ?
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
Re: Besoin d'aide avec Node Red et Domoticz
J'ai réussi à créer un Dashboard tout simple ! Ce n'est qu'un début !!! (voir PJ)
En fait si je comprends bien, le paramètre Topic est un espace qui te permet de stocker les données que tu filtres pour pouvoir les réexporter ultérieurement. C ça ?
JC
En fait si je comprends bien, le paramètre Topic est un espace qui te permet de stocker les données que tu filtres pour pouvoir les réexporter ultérieurement. C ça ?
JC
- Pièces jointes
-
- Capture d’écran 2022-11-23 à 18.50.12.png (174.46 Kio) Consulté 2071 fois
Re: Besoin d'aide avec Node Red et Domoticz
Cool, c'est parti.
Pour le topic, pas du tout, voir le sujet pour comprendre,
https://gagnebin.tech/glossaire/le-topi ... %20sujet).
Dans ton cas actuel, tu n'en as pas besoin car tu ne récupère pas et n'envois pas de données sur le réseau mqtt. En fait tu n'utilises pas du tout le MQTT mais tu pourrais écouter le topic domoticz et piocher dedans...
Fait un essai et met un debug pour voir.
Pour le topic, pas du tout, voir le sujet pour comprendre,
https://gagnebin.tech/glossaire/le-topi ... %20sujet).
Dans ton cas actuel, tu n'en as pas besoin car tu ne récupère pas et n'envois pas de données sur le réseau mqtt. En fait tu n'utilises pas du tout le MQTT mais tu pourrais écouter le topic domoticz et piocher dedans...
Fait un essai et met un debug pour voir.
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
Re: Besoin d'aide avec Node Red et Domoticz
Bonsoir Jeff,
J'ai bien avancé sur node red. J'ai encore des progrès a faire sur les nodes "function". Je ne connais pas assez le langage pour écrire des petits bouts de programme. Connais tu un site qui pourrait m'expliquer cela en détail?
Je voudrais également commander une lampe, dont je connais l'idx via domoticz. Comment faire ? Peux tu m'orienter ?
En te remerciant
JC
J'ai bien avancé sur node red. J'ai encore des progrès a faire sur les nodes "function". Je ne connais pas assez le langage pour écrire des petits bouts de programme. Connais tu un site qui pourrait m'expliquer cela en détail?
Je voudrais également commander une lampe, dont je connais l'idx via domoticz. Comment faire ? Peux tu m'orienter ?
En te remerciant
JC
Re: Besoin d'aide avec Node Red et Domoticz
Bonsoir JC,
Pour les fonctions, oui c'est pas facile, il faut tomber sur des exemples mais je pense avoir fait le tour de mon besoin et pouvoir aider pour ce qui concerne domoticz. Le langage est du javascript, donc pour retravailler des chaines ou des nombres, genre arondir, couper des chaines, il faut regarder dans les fonctions javascript. Tu peux aussi voir les tutos nodered.
Sinon pour ton besoin de commande à partir du dashboard de nodered vers domoticz, il y a plein de façon de faire, je te joins des morceaux pour t'aider, sachant que je n'utilise pas le dashbord de nodered personnellement, je l'ai fait pour un copain.
Lien de API domoticz json de tous les devices : https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's
Pour les fonctions, oui c'est pas facile, il faut tomber sur des exemples mais je pense avoir fait le tour de mon besoin et pouvoir aider pour ce qui concerne domoticz. Le langage est du javascript, donc pour retravailler des chaines ou des nombres, genre arondir, couper des chaines, il faut regarder dans les fonctions javascript. Tu peux aussi voir les tutos nodered.
Sinon pour ton besoin de commande à partir du dashboard de nodered vers domoticz, il y a plein de façon de faire, je te joins des morceaux pour t'aider, sachant que je n'utilise pas le dashbord de nodered personnellement, je l'ai fait pour un copain.
Lien de API domoticz json de tous les devices : https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's
Code : Tout sélectionner
[{"id":"ff9c5f46.325f6","type":"ui_button","z":"686062c8b16cf8d5","name":"Marche pompe","group":"48503950.855868","order":5,"width":"3","height":"1","label":"Marche pompe","color":"#F0FFFF","bgcolor":"#228B22","icon":"check_circle","payload":"1","payloadType":"str","topic":"","x":380,"y":940,"wires":[["5b3d5522cfa9d10e"]]},{"id":"5b3d5522cfa9d10e","type":"http request","z":"686062c8b16cf8d5","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"192.168.1.200:8080/json.htm?type=command¶m=switchlight&idx=224&switchcmd=On","tls":"","persist":false,"proxy":"","authType":"","senderr":false,"x":630,"y":940,"wires":[["822d33967947f920"]]},{"id":"822d33967947f920","type":"debug","z":"686062c8b16cf8d5","name":"","active":true,"console":"false","complete":"false","x":1110,"y":940,"wires":[]},{"id":"bbbb8b20aaebcf62","type":"function","z":"686062c8b16cf8d5","name":"Url Data","func":"if (msg.payload == 0)\n{\nvar url = \"192.168.1.200:8080/json.htm?type=command¶m=switchlight&idx=224&switchcmd=Off\";\nmsg.url = url;\nreturn msg;\n}\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":620,"y":1000,"wires":[["cb7c11513adf8be3"]]},{"id":"966854881fbd779d","type":"ui_button","z":"686062c8b16cf8d5","name":"Arrêt pompe","group":"48503950.855868","order":6,"width":"3","height":"1","passthru":false,"label":"Arrêt pompe","tooltip":"","color":"#F0FFFF","bgcolor":"#1E90FF","className":"","icon":"close","payload":"0","payloadType":"str","topic":"","topicType":"str","x":370,"y":1000,"wires":[["bbbb8b20aaebcf62"]]},{"id":"cb7c11513adf8be3","type":"http request","z":"686062c8b16cf8d5","name":"","method":"GET","ret":"txt","paytoqs":false,"url":"","tls":"","persist":false,"proxy":"","authType":"","x":810,"y":1000,"wires":[["822d33967947f920"]]},{"id":"48503950.855868","type":"ui_group","name":"Rechauffeur","tab":"982905c.d4adff8","order":2,"disp":false,"width":"6"},{"id":"982905c.d4adff8","type":"ui_tab","name":"Domotique","icon":"dashboard","order":1}]Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen