Created
March 23, 2020 09:41
-
-
Save MTrab/bdf644bc01859ae1a63d32bd09775d94 to your computer and use it in GitHub Desktop.
Dimmer flow for deconz integrated into Node-Red
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[{"id":"defa50dd.ba16d","type":"subflow","name":"Dimmer","info":"**On**\n\nKnap ID for at tænde (f.eks. 3 for knap 3002)\n\n**Off**\n\nKnap ID for at slukke (f.eks. 3 for knap 3002)\n\n**Up**\n\nKnap ID for at påbegynde skrue op for lysstyrken (f.eks. 3 for knap 3001)\n\n**Up_Stop**\n\nKnap ID for at stoppe skrue op for lysstyrken (f.eks. 3 for knap 3003)\n\n**Down**\n\nKnap ID for at påbegynde skrue ned for lysstyrken (f.eks. 3 for knap 3001)\n\n**Down_Stop**\n\nKnap ID for at stoppe skrue ned for lysstyrken (f.eks. 3 for knap 3003)\n\n**Step**\n\nAntal steps for hver gang der skrues op og ned\n\n**Entity_id**\n\nEntity ID\n","category":"","in":[{"x":50,"y":30,"wires":[{"id":"df1e841b.354bb8"}]}],"out":[],"env":[{"name":"On","type":"str","value":""},{"name":"Off","type":"str","value":""},{"name":"Up","type":"str","value":""},{"name":"Up_Stop","type":"str","value":""},{"name":"Down","type":"str","value":""},{"name":"Down_Stop","type":"str","value":""},{"name":"Step","type":"num","value":"10"},{"name":"Entity_id","type":"str","value":""}],"color":"#DDAA99"},{"id":"2ce51818.749998","type":"api-call-service","z":"defa50dd.ba16d","name":"Light on","server":"76ca0172.30ea9","version":1,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":520,"y":60,"wires":[[]]},{"id":"df1e841b.354bb8","type":"function","z":"defa50dd.ba16d","name":"","func":"var btn = msg.payload.toString();\nvar btnIdx = btn.slice(1);\nvar btnAct = btn.slice(-1)\n\nif (btn == env.get(\"On\") ) {\n return [msg,null,null,null];\n}\n\nif (btn == env.get(\"Off\") ) {\n return [null,msg,null,null];\n}\n\nif (btn == env.get(\"Up\") ) {\n flow.set(\"direction\", 1);\n return [null,null,msg,null];\n}\n\nif (btn == env.get(\"Down\") ) {\n flow.set(\"direction\", 0);\n return [null,null,null,msg];\n}\n\nif (btn == env.get(\"Up_Stop\")) {\n msg.payload = \"stop\";\n return [null,null,msg,null];\n}\n\nif (btn == env.get(\"Down_Stop\")) {\n msg.payload = \"stop\";\n return [null,null,null,msg];\n}","outputs":4,"noerr":0,"x":210,"y":120,"wires":[["2c34edc3.964fb2"],["1074e3c2.b820bc"],["3045b30e.6d118c"],["6a8ada63.9505b4"]]},{"id":"2c34edc3.964fb2","type":"function","z":"defa50dd.ba16d","name":"","func":"if (msg.payload.toString().slice(-1) == 2 ) {\n msg= {\n \"payload\": {\n \"data\": {\n \"entity_id\": env.get(\"Entity_id\")\n }\n }\n }\n \n return msg;\n} else {\n return null;\n}","outputs":1,"noerr":0,"x":370,"y":60,"wires":[["2ce51818.749998"]]},{"id":"7c297e7b.8a6af","type":"api-call-service","z":"defa50dd.ba16d","name":"Light off","server":"76ca0172.30ea9","version":1,"debugenabled":false,"service_domain":"light","service":"turn_off","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":520,"y":100,"wires":[[]]},{"id":"1074e3c2.b820bc","type":"function","z":"defa50dd.ba16d","name":"","func":"if (msg.payload.toString().slice(-1) == 2 ) {\n msg= {\n \"payload\": {\n \"data\": {\n \"entity_id\": env.get(\"Entity_id\")\n }\n }\n }\n \n return msg;\n} else {\n return null;\n}","outputs":1,"noerr":0,"x":370,"y":100,"wires":[["7c297e7b.8a6af"]]},{"id":"3045b30e.6d118c","type":"looptimer","z":"defa50dd.ba16d","duration":"0.4","units":"Second","maxloops":"100","maxtimeout":"1","maxtimeoutunits":"Hour","name":"","x":410,"y":140,"wires":[["c372888a.0a0178"],[]]},{"id":"80abd7a8.de2248","type":"api-current-state","z":"defa50dd.ba16d","name":"Current Brightness","server":"76ca0172.30ea9","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":730,"y":140,"wires":[["7810b3ce.f7a5bc"]]},{"id":"c372888a.0a0178","type":"function","z":"defa50dd.ba16d","name":"","func":"msg= {\n \"payload\": {\n \"entity_id\": env.get(\"Entity_id\")\n }\n}\n \nreturn msg;\n","outputs":1,"noerr":0,"x":570,"y":140,"wires":[["80abd7a8.de2248"]]},{"id":"7810b3ce.f7a5bc","type":"function","z":"defa50dd.ba16d","name":"+ STEP","func":"var brightness = msg.data.attributes.brightness;\nvar step = env.get(\"Step\");\n\nvar stopAction = null;\nvar stopMsg = {};\nstopMsg.payload = \"stop\";\n\nif (brightness == null) { brightness = 0; }\n\nvar newBrightness = brightness + step;\nif (newBrightness > 255) {\n newBrightness = 255;\n stopAction = stopMsg;\n}\n\nnewmsg = {};\n\nnewmsg.payload = {\n data: { \n \"brightness\": newBrightness,\n \"entity_id\": env.get(\"Entity_id\")\n } \n}\n\nreturn [newmsg,stopAction];\n","outputs":2,"noerr":0,"x":900,"y":140,"wires":[["210886e2.b6a92a"],["3045b30e.6d118c"]]},{"id":"6a8ada63.9505b4","type":"looptimer","z":"defa50dd.ba16d","duration":"0.4","units":"Second","maxloops":"100","maxtimeout":"1","maxtimeoutunits":"Hour","name":"","x":410,"y":200,"wires":[["6f395d24.afdb04"],[]]},{"id":"97bc73ce.69d4c","type":"api-current-state","z":"defa50dd.ba16d","name":"Current Brightness","server":"76ca0172.30ea9","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":730,"y":200,"wires":[["4b4a1768.534188"]]},{"id":"6f395d24.afdb04","type":"function","z":"defa50dd.ba16d","name":"","func":"msg= {\n \"payload\": {\n \"entity_id\": env.get(\"Entity_id\")\n }\n}\n \nreturn msg;\n","outputs":1,"noerr":0,"x":570,"y":200,"wires":[["97bc73ce.69d4c"]]},{"id":"4b4a1768.534188","type":"function","z":"defa50dd.ba16d","name":"- STEP","func":"var brightness = msg.data.attributes.brightness;\nvar step = env.get(\"Step\");\n\nvar stopAction = null;\nvar stopMsg = {};\nstopMsg.payload = \"stop\";\n\nif (brightness == null) { brightness = 0; }\n\nvar newBrightness = brightness - step;\nif (newBrightness > 255) {\n newBrightness = 255;\n stopAction = stopMsg;\n}\n\nnewmsg = {};\n\nnewmsg.payload = {\n data: { \n \"brightness\": newBrightness,\n \"entity_id\": env.get(\"Entity_id\")\n } \n}\n\nreturn [newmsg,stopAction];\n","outputs":2,"noerr":0,"x":900,"y":200,"wires":[["210886e2.b6a92a"],["6a8ada63.9505b4"]]},{"id":"210886e2.b6a92a","type":"api-call-service","z":"defa50dd.ba16d","name":"Light","server":"76ca0172.30ea9","version":1,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1050,"y":160,"wires":[[]]},{"id":"76ca0172.30ea9","type":"server","z":"","name":"Home Assistant","legacy":false,"rejectUnauthorizedCerts":true},{"id":"e97795a8.b993e8","type":"deconz-input","z":"cf813d83.034c","name":"Spisestue LK 4ch","server":"6d3bc98b.62b398","device":"14:b4:57:ff:fe:6c:62:dc-01-1000","device_name":"IKEA-LK-4ch-01 : ZHASwitch","state":"buttonevent","output":"onupdate","outputAtStartup":false,"x":140,"y":280,"wires":[["4be8d313.704bbc","5561f875.fe5848"],[]]},{"id":"4be8d313.704bbc","type":"subflow:defa50dd.ba16d","z":"cf813d83.034c","name":"","env":[{"name":"On","value":"4002","type":"str"},{"name":"Off","value":"5002","type":"str"},{"name":"Up","value":"4001","type":"str"},{"name":"Up_Stop","value":"4003","type":"str"},{"name":"Down","value":"5001","type":"str"},{"name":"Down_Stop","value":"5003","type":"str"},{"name":"Entity_id","value":"light.spisebord","type":"str"}],"x":320,"y":280,"wires":[]},{"id":"6d3bc98b.62b398","type":"deconz-server","z":"","name":"deConz-Homeassistant","ip":"10.254.254.109","port":"40850","apikey":"5F7EE6C4AB","ws_port":"8081","secure":false,"polling":"15"}] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment