HARDWARIO IoT Kit Light Control of LED Strip

Control colored lights in your room with HARDWARIO IoT Kit. Lights are controlled by orientation of Push button kit or by button itself.

IntermediateFull instructions provided1 hour1,408
HARDWARIO IoT Kit Light Control of LED Strip

Things used in this project

Story

Read more

Code

NODE-Red function

JSON
[{"id":"f338a06e.5e96e","type":"mqtt out","z":"e4e45972.f3d738","name":"","topic":"node/power-controller:0/led-strip/-/effect/set","qos":"","retain":"","broker":"d8ce0546.a191c8","x":1090,"y":240,"wires":[]},{"id":"8bdcc125.a549b","type":"change","z":"e4e45972.f3d738","name":"Effects without specific color","rules":[{"t":"change","p":"payload","pt":"msg","from":"1","fromt":"num","to":"{\"type\":\"rainbow\", \"wait\":20}","tot":"json"},{"t":"change","p":"payload","pt":"msg","from":"2","fromt":"num","to":"{\"type\":\"rainbow-cycle\",\"wait\":20}","tot":"json"},{"t":"change","p":"payload","pt":"msg","from":"3","fromt":"num","to":"{\"type\":\"theater-chase-rainbow\",\"wait\":0}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":580,"y":240,"wires":[["f338a06e.5e96e"]]},{"id":"1beff53a.87590b","type":"mqtt in","z":"e4e45972.f3d738","name":"","topic":"node/push-button:0/orientation","qos":"2","broker":"d8ce0546.a191c8","x":150,"y":240,"wires":[["9b2d59c8.d1d4f8"]]},{"id":"9f485068.45baf","type":"mqtt in","z":"e4e45972.f3d738","name":"","topic":"node/push-button:0/push-button/-/event-count","qos":"2","broker":"d8ce0546.a191c8","x":200,"y":320,"wires":[["8d07aff0.1f888"]]},{"id":"8d07aff0.1f888","type":"function","z":"e4e45972.f3d738","name":"brightness adjust","func":"var brightness = flow.get(\"brightness\") || 0;\nbrightness += 10;\nif(brightness > 100)\n{\n    brightness = 0;\n    flow.set(\"brightness\", 0);\n}\nmsg.payload = brightness;\nflow.set(\"brightness\", brightness);\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":320,"wires":[["1802739c.8b8e5c"]]},{"id":"1802739c.8b8e5c","type":"mqtt out","z":"e4e45972.f3d738","name":"","topic":"node/power-controller:0/led-strip/-/brightness/set","qos":"","retain":"","broker":"d8ce0546.a191c8","x":860,"y":320,"wires":[]},{"id":"4e4aac7d.d3a5f4","type":"mqtt in","z":"e4e45972.f3d738","name":"","topic":"node/push-button:0/push-button/-/hold-count","qos":"2","broker":"d8ce0546.a191c8","x":200,"y":400,"wires":[["534eb20e.5124cc"]]},{"id":"534eb20e.5124cc","type":"function","z":"e4e45972.f3d738","name":"color swap","func":"var colors = [0x0000ff, 0xff0000, 0xffff00, 0x00ff00, 0xff1493, 0xffffff, 0xff4500, 0x800080, 0x8B4513];\nvar index = Math.floor(Math.random(colors.length) * 10);\n\nvar color = colors[index].toString(16);\n\n\n\nvar zeros = \"\";\nif(color.length != 6)\n{\n    for(var i = 0; i < 6 - color.length; i++)\n    {\n        zeros += \"0\";\n    }\n}\n\ncolor = zeros + color;\nflow.set(\"color\", color);\n\nmsg.payload = \"\\\"#\";\n\nmsg.payload += color + \"(00)\";\n\nmsg.payload += \"\\\"\";\n\nreturn msg;","outputs":1,"noerr":0,"x":520,"y":400,"wires":[["2f2d39e4.08f946"]]},{"id":"2f2d39e4.08f946","type":"mqtt out","z":"e4e45972.f3d738","name":"","topic":"node/power-controller:0/led-strip/-/color/set","qos":"","retain":"","broker":"d8ce0546.a191c8","x":850,"y":400,"wires":[]},{"id":"9b2d59c8.d1d4f8","type":"switch","z":"e4e45972.f3d738","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"},{"t":"eq","v":"5","vt":"num"},{"t":"eq","v":"6","vt":"num"}],"checkall":"false","repair":false,"outputs":6,"x":350,"y":240,"wires":[["8bdcc125.a549b"],["8bdcc125.a549b"],["8bdcc125.a549b"],["55859fd.452786"],["55859fd.452786"],["55859fd.452786"]]},{"id":"53d9dff2.3de15","type":"json","z":"e4e45972.f3d738","name":"","property":"payload","action":"obj","pretty":false,"x":910,"y":140,"wires":[["f338a06e.5e96e"]]},{"id":"55e34bb3.286db4","type":"function","z":"e4e45972.f3d738","name":"color parse","func":"var color = flow.get(\"color\") || 0xff0000;\nmsg.payload += \"#\" + color + \"\\\"}\";\nreturn msg;","outputs":1,"noerr":0,"x":770,"y":140,"wires":[["53d9dff2.3de15"]]},{"id":"55859fd.452786","type":"change","z":"e4e45972.f3d738","name":"Effects with specific color","rules":[{"t":"change","p":"payload","pt":"msg","from":"4","fromt":"num","to":"{\"type\":\"icicle\", \"wait\":80, \"color\":\"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"5","fromt":"num","to":"{\"type\":\"pulse-color\", \"wait\":80, \"color\":\"","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"6","fromt":"num","to":"{\"type\":\"color-wipe\", \"wait\":50, \"color\":\"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":140,"wires":[["55e34bb3.286db4"]]},{"id":"d8ce0546.a191c8","type":"mqtt-broker","z":"","name":"","broker":"127.0.0.1","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

Credits

Jakub Smejkal
79 projects • 14 followers
Contact
Martin Hubáček
65 projects • 56 followers
Contact
Pavel Hübner
19 projects • 17 followers
I am a hardware engineer, firmware developer, and open-source enthusiast.
Contact
Rosťa Kutěj
0 projects • 0 followers
Contact

Comments

Please log in or sign up to comment.