Page 1 sur 2

espeasy et MQTT import

Publié : 13 févr. 2018, 14:26
par totof60
Bonjour

Je souhaite récupérer des infos de domoticz sur un wemos et ultérieurement les afficher sur un écran .

Je n'arrive pas à paramétrer le MQTT import dans espeasy .

Mosquitto est fonctionnel sur mon Domoticz

Dans l'aide espeasy il y a : https://www.letscontrolit.com/wiki/inde ... QTT_Import

mais je ne sais pas quoi mettre dans : "MQTT topic"

La commande suivante

Code : Tout sélectionner

mosquitto_sub -h 192.168.0.22 -v -t "#"
dans un terminal me renvoie cela par exemple :

Image

Si quelqu'un peut m'aider merci

Re: espeasy et MQTT import

Publié : 13 févr. 2018, 20:56
par Jeff
Dans controller , protcol, tu choisis domoticz mqtt : 192.168.0.22 port 1883
Controller Suscribe : domoticz/out
Controller Publish: domoticz/in

Dans device : MQTT import
Topic 1 : domoticz/out/Congelateur/Temperature
Topic 2: domoticz/out/Cpu_usage/Energy
:)

Re: espeasy et MQTT import

Publié : 14 févr. 2018, 07:50
par totof60
Merci Jeff

C'est une des config que j'ai essayé mais ça ne fonctionne pas :(

Re: espeasy et MQTT import

Publié : 14 févr. 2018, 09:16
par Jeff
totof60 a écrit :Merci Jeff

C'est une des config que j'ai essayé mais ça ne fonctionne pas :(
J'ai le doute ! Marche très bien chez moi sur plusieurs esp avec différentes versions. Sinon utilises node-red et regarde ce qui est diffusé en MQTT, ca va grandement t'aider.

Re: espeasy et MQTT import

Publié : 14 févr. 2018, 09:46
par Jeff
Jeff a écrit :
J'ai le doute ! Marche très bien chez moi sur plusieurs esp avec différentes versions. Sinon utilises node-red et regarde ce qui est diffusé en MQTT, ca va grandement t'aider.
Erreur de ma part, ce que je t'ai donné fonctionne car je le transforme via node-red !
Si ca t'intéresse je te donne le flow.

node-red.png
node-red.png (23.6 Kio) Consulté 12173 fois

Re: espeasy et MQTT import

Publié : 14 févr. 2018, 13:50
par totof60
Merci pour le retour ! ouf j'ai déjà plus beaucoup de cheveux et j’étais en train de me les arracher :roll:

Je vais donc étudier node red

Re: espeasy et MQTT import

Publié : 14 févr. 2018, 17:58
par Jeff
Node-red est de base sur raspberry en version graphique.
Node red + mqtt + domoticz, tout est ici
https://www.domoticz.com/wiki/MQTT

Re: espeasy et MQTT import

Publié : 16 févr. 2018, 19:19
par totof60
Node-red est installé , je tente de le comprendre !!

Et si j'ai bien compris il est possible de copier un flow déjà fait via le clipboard.
Si ca t'intéresse je te donne le flow.
Et donc oui cela m'intéresse.merci d'avance ;)

Re: espeasy et MQTT import

Publié : 16 févr. 2018, 23:59
par Jeff
Et voila :D
Flow domoticz extraction domoticz temp et humidité selon le nom

Code : Tout sélectionner

[{"id":"9f9e45d2.510ea8","type":"mqtt in","z":"d9f74ef.52e2cb","name":"","topic":"domoticz/out","qos":"2","broker":"f0e0a1f2.be3d4","x":150,"y":160,"wires":[["5d20ca17.3a8464"]]},{"id":"f0b8d329.751d4","type":"debug","z":"d9f74ef.52e2cb","name":"","active":true,"console":"false","complete":"payload","x":887,"y":154,"wires":[]},{"id":"5d20ca17.3a8464","type":"json","z":"d9f74ef.52e2cb","name":"","x":330,"y":160,"wires":[["c48eec15.0aa43","712c747e.24772c"]]},{"id":"da99a6a6.ea36f8","type":"mqtt out","z":"d9f74ef.52e2cb","name":"","topic":"","qos":"","retain":"","broker":"f0e0a1f2.be3d4","x":669,"y":153,"wires":[]},{"id":"c48eec15.0aa43","type":"function","z":"d9f74ef.52e2cb","name":"Temperature","func":"msg.topic = \"domoticz/out/\"+msg.payload.name+\"/Temperature\";\n\nif  (msg.payload.dtype === \"Temp + Humidity\") \n{\nmsg.payload = msg.payload.svalue1\nreturn msg;\n}\nelse if (msg.payload.dtype === \"Temp\")\n{\nmsg.payload = msg.payload.svalue1\nreturn msg;\n}\n\n\n","outputs":1,"noerr":0,"x":510,"y":100,"wires":[["da99a6a6.ea36f8","f0b8d329.751d4"]]},{"id":"7044a4f3.ca9f6c","type":"comment","z":"d9f74ef.52e2cb","name":"Temperature et humidity","info":"In this example the IDX in the switch node is \nrepublished to a topic named domoticz/out/[devicename]\nthe repub function translate value 1 to ON","x":199,"y":94,"wires":[]},{"id":"712c747e.24772c","type":"function","z":"d9f74ef.52e2cb","name":"Humidity","func":"msg.topic = \"domoticz/out/\"+msg.payload.name+\"/Humidity\";\n\nif  (msg.payload.dtype === \"Temp + Humidity\") \n{\nmsg.payload = msg.payload.svalue2\nreturn msg;\n}\n\n","outputs":1,"noerr":0,"x":500,"y":220,"wires":[["da99a6a6.ea36f8","f0b8d329.751d4"]]},{"id":"f0e0a1f2.be3d4","type":"mqtt-broker","z":"","broker":"192.168.1.200","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"15","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""}]
Tu as aussi les exemples de flow domoticz ici : https://www.domoticz.com/wiki/Flows

Bonus, dashboard node-red avec valeur issue de domoticz (node dashboard à installer), tu comprendras au bout d'un moment qu'il faut ajouter des nodes, récupérer des valeurs et les faire suivre suivant des topics sur Espeasy ou nextion...

Code : Tout sélectionner

[{"id":"383f9c95.7bf454","type":"ui_gauge","z":"99413ae3.745a28","name":"","group":"d5250cf6.8651","order":0,"width":0,"height":0,"gtype":"gage","title":"Air","label":"°C","format":"{{value}}","min":"-10","max":"40","colors":["#35bdff","#e6e600","#ca3838"],"seg1":"12","seg2":"28","x":653,"y":196,"wires":[]},{"id":"5c6e24a8.ac41dc","type":"mqtt in","z":"99413ae3.745a28","name":"","topic":"domoticz/out","qos":"2","broker":"66520baf.9e25f4","x":110,"y":140,"wires":[["cf0e68c.7398a98"]]},{"id":"339182a1.9169ce","type":"comment","z":"99413ae3.745a28","name":"Temp piscine","info":"In this example the IDX in the switch node is \nrepublished to a topic named domoticz/out/[devicename]\nthe repub function translate value 1 to ON","x":119,"y":74,"wires":[]},{"id":"cf0e68c.7398a98","type":"json","z":"99413ae3.745a28","name":"","x":293,"y":216,"wires":[["98655fd0.9216f","2de32e68.2418a2","f981712f.cf522"]]},{"id":"6dfb6c24.f05164","type":"debug","z":"99413ae3.745a28","name":"","active":false,"console":"false","complete":"payload","x":673,"y":136,"wires":[]},{"id":"1e89848e.798e6b","type":"http request","z":"99413ae3.745a28","name":"","method":"GET","ret":"txt","url":"192.168.1.200:8080/json.htm?type=devices&rid=138","tls":"","x":259,"y":551,"wires":[["4c97d95e.0bd918"]]},{"id":"53f3d5b6.b3544c","type":"inject","z":"99413ae3.745a28","name":"","topic":"","payload":"{\"type\":\"METER_VALUE\",\"update_time\":1450629539000,\"value\":36049.50,\"unit\":\"l\"}","payloadType":"str","repeat":"","crontab":"","once":false,"x":119,"y":551,"wires":[["1e89848e.798e6b"]]},{"id":"5b087f47.1e249","type":"debug","z":"99413ae3.745a28","name":"","active":true,"console":"true","complete":"payload","x":729,"y":551,"wires":[]},{"id":"4c97d95e.0bd918","type":"json","z":"99413ae3.745a28","name":"","x":419,"y":551,"wires":[["804c5da2.f4768"]]},{"id":"804c5da2.f4768","type":"function","z":"99413ae3.745a28","name":"data","func":"msg.payload = msg.payload.result[0].Data\nreturn msg;","outputs":1,"noerr":0,"x":559,"y":551,"wires":[["5b087f47.1e249"]]},{"id":"1571e71.046d819","type":"comment","z":"99413ae3.745a28","name":"Request http et send","info":"","x":169,"y":491,"wires":[]},{"id":"98655fd0.9216f","type":"function","z":"99413ae3.745a28","name":"Piscine","func":"msg.topic = \"domoticz/out/\"+msg.payload.name+\"/Temperature\";\n\nif  (msg.payload.name === \"Piscine\") \n{\nmsg.payload = msg.payload.svalue1\nreturn msg;\n}\n\n\n\n","outputs":1,"noerr":0,"x":436.333984375,"y":88,"wires":[["6dfb6c24.f05164","2d66a0d2.7cbab","d65ddbaf.023a68"]]},{"id":"2de32e68.2418a2","type":"function","z":"99413ae3.745a28","name":"Exterieure","func":"msg.topic = \"domoticz/out/\"+msg.payload.name+\"/Temperature\";\n\nif  (msg.payload.name === \"Exterieure\") \n{\nmsg.payload = msg.payload.svalue1\nreturn msg;\n}\n\n\n\n","outputs":1,"noerr":0,"x":449.333984375,"y":217.666015625,"wires":[["383f9c95.7bf454","b7a3959b.58b258","73cddff2.b96a2"]]},{"id":"2d66a0d2.7cbab","type":"ui_gauge","z":"99413ae3.745a28","name":"","group":"b6194925.fe8318","order":0,"width":0,"height":0,"gtype":"gage","title":"Eau","label":"°C","format":"{{value}}","min":0,"max":"35","colors":["#35bdff","#e6e600","#ca3838"],"seg1":"24","seg2":"30","x":653,"y":56,"wires":[]},{"id":"b7a3959b.58b258","type":"debug","z":"99413ae3.745a28","name":"","active":false,"console":"false","complete":"payload","x":673,"y":276,"wires":[]},{"id":"73cddff2.b96a2","type":"ui_chart","z":"99413ae3.745a28","name":"Graph air","group":"d5250cf6.8651","order":0,"width":0,"height":0,"label":"","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","ymin":"","ymax":"","removeOlder":"3","removeOlderPoints":"","removeOlderUnit":"86400","cutout":0,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"x":663,"y":236,"wires":[[],[]]},{"id":"d65ddbaf.023a68","type":"ui_chart","z":"99413ae3.745a28","name":"Graph piscine","group":"b6194925.fe8318","order":0,"width":0,"height":0,"label":"","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","ymin":"","ymax":"","removeOlder":"3","removeOlderPoints":"","removeOlderUnit":"86400","cutout":0,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"x":683,"y":96,"wires":[[],[]]},{"id":"7bef8627.34cf58","type":"debug","z":"99413ae3.745a28","name":"","active":true,"console":"false","complete":"payload","x":681,"y":400,"wires":[]},{"id":"f981712f.cf522","type":"function","z":"99413ae3.745a28","name":"Multi courbes","func":"if (msg.payload.name === \"Exterieure\") \n{\nvar msg1 = {};\nmsg1.payload = msg.payload.svalue1;\nmsg1.topic = 'Exterieure';\nreturn [msg1, null, null];\n}\n\nelse if (msg.payload.name === \"Piscine\")\n{\nvar msg2 = {};\nmsg2.payload = msg.payload.svalue1;\nmsg2.topic = 'Piscine';\nreturn [null, msg2, null];\n}\n\nelse if (msg.payload.name === \"Salle\")\n{\nvar msg3 = {};\nmsg3.payload = msg.payload.svalue1;\nmsg3.topic = 'Salle';\nreturn [null, null, msg3];\n}\n\n\n","outputs":"3","noerr":0,"x":452,"y":368,"wires":[["7bef8627.34cf58","747feffa.0d5b9"],["747feffa.0d5b9","7bef8627.34cf58"],["747feffa.0d5b9","7bef8627.34cf58"]]},{"id":"747feffa.0d5b9","type":"ui_chart","z":"99413ae3.745a28","name":"Temperature","group":"446027bd.237618","order":0,"width":"6","height":"8","label":"","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"Waiting value !","ymin":"","ymax":"","removeOlder":"3","removeOlderPoints":"","removeOlderUnit":"86400","cutout":0,"colors":["#0080ff","#ff8000","#008000","#8000ff","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"x":681,"y":340,"wires":[[],[]]},{"id":"d5250cf6.8651","type":"ui_group","z":"","name":"Exterieure","tab":"b6df447b.f76ed8","order":2,"disp":true,"width":"6"},{"id":"66520baf.9e25f4","type":"mqtt-broker","z":"","broker":"192.168.1.200","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"15","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""},{"id":"b6194925.fe8318","type":"ui_group","z":"","name":"Piscine","tab":"b6df447b.f76ed8","order":3,"disp":true,"width":"6"},{"id":"446027bd.237618","type":"ui_group","z":"","name":"Piscine et exterieure","tab":"b6df447b.f76ed8","order":1,"disp":true,"width":"6"},{"id":"b6df447b.f76ed8","type":"ui_tab","z":"","name":"Extérieure et piscine","icon":"dashboard","order":2}]
Dashboard.png
Dashboard.png (22.57 Kio) Consulté 12076 fois

Re: espeasy et MQTT import

Publié : 17 févr. 2018, 09:04
par totof60
Génial merci


Par contre les remontées de température négative sembles ne pas se faire ?
Edit : si c'est bon !

j'ai cette erreur dans le debug :

Code : Tout sélectionner

msg : string[40]
"Unexpected token C in JSON at position 0"