Homepoint deel 2

slimmedingen

Eerder schreef ik al over Homepoint, waarmee ik doormiddel van een M5Stack een klein dashboard voor mijn domotica systeem heb gemaakt. Tot voor kort lukte het mij enkel om waarden zoals temperatuur weer te geven. Het is mij nu gelukt om ook via iets te bedienen via Homepoint. Homepoint communiceert met de MQTT server en ik heb Node-RED gebruikt om van MQTT Domoticz aan te sturen en andersom om de waarde in Domoticz via MQTT aan Homepoint door te geven.

image
De flow in Node-RED
[{"id":"c9ca4d65.45d3e8","type":"tab","label":"Homepoint","disabled":false,"info":""},{"id":"2f65a33b.3de6a4","type":"mqtt out","z":"c9ca4d65.45d3e8","name":"Domoticz","topic":"domoticz/in","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"4d2ff189.666908","x":940,"y":40,"wires":[]},{"id":"10ea14bc.79952b","type":"function","z":"c9ca4d65.45d3e8","name":"Off","func":"msg.payload = `{\"command\": \"switchlight\", \"idx\": 204, \"switchcmd\": \"Off\" }`;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":60,"wires":[["2f65a33b.3de6a4"]]},{"id":"199825e0.baff9a","type":"function","z":"c9ca4d65.45d3e8","name":"On","func":"msg.payload = `{\"command\": \"switchlight\", \"idx\": 204, \"switchcmd\": \"On\" }`;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":20,"wires":[["2f65a33b.3de6a4"]]},{"id":"9783e2ff.33d28","type":"mqtt in","z":"c9ca4d65.45d3e8","name":"Domoticz Bad","topic":"domoticz/out/204","qos":"2","datatype":"json","broker":"4d2ff189.666908","nl":false,"rap":false,"x":130,"y":140,"wires":[["907aa6f2.3aa9e8"]]},{"id":"9185b920.3a15e8","type":"mqtt in","z":"c9ca4d65.45d3e8","name":"MQTT","topic":"homepoint/bad/set","qos":"2","datatype":"json","broker":"4d2ff189.666908","nl":false,"rap":true,"rh":0,"x":110,"y":40,"wires":[["ad06f9e3.6f57a8"]]},{"id":"ad06f9e3.6f57a8","type":"switch","z":"c9ca4d65.45d3e8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"99","vt":"str"},{"t":"eq","v":"0","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":40,"wires":[["199825e0.baff9a"],["10ea14bc.79952b"]]},{"id":"907aa6f2.3aa9e8","type":"switch","z":"c9ca4d65.45d3e8","name":"","property":"payload.nvalue","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"str"},{"t":"eq","v":"0","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":140,"wires":[["70ace3c.c5ade1c"],["31906189.3a37ae"]]},{"id":"ffd50b32.e03098","type":"mqtt out","z":"c9ca4d65.45d3e8","name":"MQTT","topic":"homepoint/bad/set","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"4d2ff189.666908","x":930,"y":140,"wires":[]},{"id":"31906189.3a37ae","type":"function","z":"c9ca4d65.45d3e8","name":"Off","func":"msg.payload = \"0\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":160,"wires":[["ffd50b32.e03098"]]},{"id":"70ace3c.c5ade1c","type":"function","z":"c9ca4d65.45d3e8","name":"On","func":"msg.payload = \"99\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":670,"y":120,"wires":[["ffd50b32.e03098"]]},{"id":"4d2ff189.666908","type":"mqtt-broker","name":"192.168.2.4","broker":"192.168.2.4","port":"1883","clientid":"","usetls":false,"verifyservercert":true,"protocolVersion":"4","keepalive":"15","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]

Hierboven de code van de Node-RED flow. Aan de configuratie van Homepoint voeg je bijvoorbeeld onderstaande toe:

  {
    "name": "Bad",
    "type": "Switch",
    "icon": "power",
    "devices": [{
      "name": "Bad",
      "setTopic": "homepoint/bad/set",
      "getTopic": "homepoint/bad/set",
      "onValue": "99",
      "offValue": "0"
      }]

Bijgewerkt op 29 december 2023

Heeft dit artikel je geholpen?

Bedankt voor je feedback!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

*