Hatte heute morgen mal wieder ein bischen Zeit, hier mal ein NodeRed "Proof Of Concept":
In den beiden "set POST" und "set GET" function Nodes die IP Adresse anpassen sowie die Wassermenge und die Temperatur auch in der "set POST" function Node
Über die Inject Node starten. (vorher schauen, das nichts ungewolltes in der Wanne liegt 😉)
Es gibt ja auch noch einige andere API Calls wie z.B. Stöpsel hoch und runter ....
Ich denke das ist schon mal ein Start.
Flow zum (copy/paste) Importieren
In den beiden "set POST" und "set GET" function Nodes die IP Adresse anpassen sowie die Wassermenge und die Temperatur auch in der "set POST" function Node
Über die Inject Node starten. (vorher schauen, das nichts ungewolltes in der Wanne liegt 😉)
Es gibt ja auch noch einige andere API Calls wie z.B. Stöpsel hoch und runter ....
Ich denke das ist schon mal ein Start.
Flow zum (copy/paste) Importieren
Code:
[{"id":"c5d1f9c3f2a0fd4e","type":"tab","label":"Badewanne","disabled":false,"info":""},{"id":"455d5e7581b291c6","type":"function","z":"c5d1f9c3f2a0fd4e","name":"set POST","func":"msg.headers = {}\nmsg.method = \"POST\"\nmsg.url = \"http://192.168.2.191/api/tlc/1/bathtub-fill/\"\nmsg.headers = {\n'content-type':'application/x-www-form-urlencoded'\n}\n\nmsg.payload = {\n\"temperature\":\"23.5\",\n\"amount\":\"10\"\n};\n\nreturn msg","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":350,"y":140,"wires":[["72db3c8649452e12"]]},{"id":"28eab93fbb08d4c7","type":"inject","z":"c5d1f9c3f2a0fd4e","name":"","props":[],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"","x":130,"y":140,"wires":[["455d5e7581b291c6"]]},{"id":"72db3c8649452e12","type":"http request","z":"c5d1f9c3f2a0fd4e","name":"http bathtub-fill","method":"use","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":580,"y":140,"wires":[["72d3d740dc44c96c"]]},{"id":"e94fcc1bc3c96c72","type":"debug","z":"c5d1f9c3f2a0fd4e","name":"Debug 1","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":980,"y":140,"wires":[]},{"id":"72d3d740dc44c96c","type":"function","z":"c5d1f9c3f2a0fd4e","name":"check http status","func":"\nif (msg.statusCode == \"200\")\n{\n return msg;\n}\nelse\n{\n return null;\n}\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":810,"y":140,"wires":[["e94fcc1bc3c96c72","c05439350159753f"]]},{"id":"c05439350159753f","type":"function","z":"c5d1f9c3f2a0fd4e","name":"set GET","func":"msg.headers = {}\nmsg.method = \"GET\"\nmsg.url = \"http://192.168.2.191/api/tlc/1/bathtub-fill/\"\nmsg.headers = {\n'content-type':'application/json'\n}\nmsg.payload = {};\n\nreturn msg\n\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":340,"y":240,"wires":[["598da44473b39fa5"]]},{"id":"598da44473b39fa5","type":"http request","z":"c5d1f9c3f2a0fd4e","name":"http bathtub-fill","method":"use","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","authType":"","x":580,"y":240,"wires":[["9eb4555bab9005cd"]]},{"id":"9eb4555bab9005cd","type":"function","z":"c5d1f9c3f2a0fd4e","name":"check http status","func":"\nif (msg.statusCode == \"200\")\n{\n return msg;\n}\nelse\n{\n return null;\n}\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":810,"y":240,"wires":[["f1a738747e81dfb9"]]},{"id":"0cff373ba956e141","type":"switch","z":"c5d1f9c3f2a0fd4e","name":"branch on state value","property":"payload.state","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"},{"t":"eq","v":"1","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"gte","v":"3","vt":"num"}],"checkall":"true","repair":false,"outputs":4,"x":1220,"y":240,"wires":[[],["dfbdee82d0e22256"],[],[]]},{"id":"f1a738747e81dfb9","type":"json","z":"c5d1f9c3f2a0fd4e","name":"JSON to JS","property":"payload","action":"","pretty":false,"x":1010,"y":240,"wires":[["0cff373ba956e141","72cab77c33e6d287"]]},{"id":"dfbdee82d0e22256","type":"trigger","z":"c5d1f9c3f2a0fd4e","name":"","op1":"","op2":"1","op1type":"nul","op2type":"str","duration":"4","extend":false,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":1430,"y":240,"wires":[["c05439350159753f"]]},{"id":"72cab77c33e6d287","type":"debug","z":"c5d1f9c3f2a0fd4e","name":"Debug 2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1180,"y":320,"wires":[]}]
Kommentar