Besoin d'aide avec Node Red et Domoticz

Forum dédié au protocole MQTT : fonctionnement, intégration ...
Répondre
jcv
Messages : 4
Enregistré le : 21 nov. 2022, 22:46

Besoin d'aide avec Node Red et Domoticz

Message par jcv »

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
Capture d’écran 2022-11-21 à 22.55.05.png
Capture d’écran 2022-11-21 à 22.55.05.png (15.56 Kio) Vu 225 fois

Jeff
Messages : 937
Enregistré le : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: Besoin d'aide avec Node Red et Domoticz

Message par Jeff »

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
Nodered_temp.png
Nodered_temp.png (22.55 Kio) Vu 202 fois
La commande json pour lancer une requête sur un device particulier : "http request"

Code : Tout sélectionner

TonipDz/json.htm?type=devices&rid=IDX
Tu passes par un bloc "json" puis par un bloc "fonction" et après tu peux retravailler la donnée, voici un exemple

Code : 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;
Voici un exemple de flow, tu peux aussi voir d'autres exemple dans le tuto Nextion

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: 2022.1 sur VM Synology, Zwave (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen

jcv
Messages : 4
Enregistré le : 21 nov. 2022, 22:46

Re: Besoin d'aide avec Node Red et Domoticz

Message par jcv »

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

Jeff
Messages : 937
Enregistré le : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: Besoin d'aide avec Node Red et Domoticz

Message par Jeff »

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
Version: 2022.1 sur VM Synology, Zwave (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen

jcv
Messages : 4
Enregistré le : 21 nov. 2022, 22:46

Re: Besoin d'aide avec Node Red et Domoticz

Message par jcv »

Bonjour Jeff,
Je commence à comprendre :D
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
Modifié en dernier 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

Jeff
Messages : 937
Enregistré le : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: Besoin d'aide avec Node Red et Domoticz

Message par Jeff »

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 ?
Version: 2022.1 sur VM Synology, Zwave (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen

jcv
Messages : 4
Enregistré le : 21 nov. 2022, 22:46

Re: Besoin d'aide avec Node Red et Domoticz

Message par jcv »

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
Fichiers joints
Capture d’écran 2022-11-23 à 18.50.12.png
Capture d’écran 2022-11-23 à 18.50.12.png (174.46 Kio) Vu 101 fois

Jeff
Messages : 937
Enregistré le : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: Besoin d'aide avec Node Red et Domoticz

Message par Jeff »

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.
Version: 2022.1 sur VM Synology, Zwave (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen

Répondre