Advertisement
Guest User

Node-red Hue handler

a guest
Jan 17th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. [{"id":"8829d52d.10c098","type":"link in","z":"e18c56c3.fcdf78","name":"LIGHT CONTROLLER","links":["ddda8fe4.a7a2","489e83a9.a4b2ac","a58bc476.5a88f8"],"x":95.05555725097656,"y":85.00000953674316,"wires":[["e1a18af7.f3b458"]]},{"id":"66d6de25.3ea7d","type":"DataIn","z":"e18c56c3.fcdf78","collection":"623f0f6f.a1258","name":"HomeAuto","update":true,"path":"/","x":130.7777862548828,"y":537.2222023010254,"wires":[]},{"id":"88bd5cfb.4e4fc","type":"DataOut","z":"e18c56c3.fcdf78","collection":"623f0f6f.a1258","name":"","path":"/","error":true,"x":426.88890075683594,"y":493.8888702392578,"wires":[["c704a791.9313b8"]]},{"id":"7b434c9.7e00cb4","type":"exec","z":"e18c56c3.fcdf78","command":"curl ","addpay":true,"append":"","useSpawn":"","timer":"","name":"Call HUE","x":600.5555725097656,"y":155.3889045715332,"wires":[["2516b8bf.18c248"],[],[]]},{"id":"24da4b05.7c9cb4","type":"delay","z":"e18c56c3.fcdf78","name":"5/s limiter","pauseType":"rate","timeout":"1","timeoutUnits":"milliseconds","rate":"5","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":407.88887786865234,"y":139.88891410827637,"wires":[["cd54532c.1d91d"]]},{"id":"1d7478f3.c8ffb7","type":"comment","z":"e18c56c3.fcdf78","name":"Log the desired state","info":"","x":137.05555725097656,"y":407.6666622161865,"wires":[]},{"id":"bddd0caa.8e8d1","type":"comment","z":"e18c56c3.fcdf78","name":"Light change","info":"","x":601.2777862548828,"y":47.33334827423096,"wires":[]},{"id":"568a33ce.4088bc","type":"comment","z":"e18c56c3.fcdf78","name":"Retrieve desired state","info":"This WILL NOT make a light change if\nthe light has a 'trans', 'bri_inc' or 'alert'\nproperty.  All other states will be\nre asserted.","x":417.72225189208984,"y":266.5555648803711,"wires":[]},{"id":"e446e724.3a5018","type":"function","z":"e18c56c3.fcdf78","name":"","func":"if (typeof msg.payload.on == 'undefined') {\n    msg.payload.on = true;\n}\n\nif (typeof msg.payload.trans !== 'undefined') {\n    msg.payload.trans = msg.payload.trans;\n}\n\nif (typeof msg.payload.bri !== 'undefined') {\n    if ( msg.payload.bri > 254) {\n        node.log(\"Brightness value too great, setting to 254\");\n        msg.payload.bri = 254;\n    }\n}\n\nif (typeof msg.payload.hue !== 'undefined') {\n    if ( msg.payload.hue > 65535) {\n        node.log(\"Hue value not between 0-65535, setting to 65535\");\n        msg.payload.hue = 65535;\n    }\n}\n\nif (typeof msg.payload.sat !== 'undefined') {\n    if ( msg.payload.sat > 254) {\n        node.log(\"Saturation set too high, setting to 254\");\n        msg.payload.sat = 254;\n    }\n}\n\nif (typeof msg.payload.ct !== 'undefined') {\n    if ( msg.payload.ct > 500) {\n        node.log(\"White temp set higher than 500, setting to 500\");\n        msg.payload.ct = 500;\n    }\n    else if (msg.payload.ct < 230) {\n        node.log(\"White temp set lower than 230, setting to 230\");\n        msg.payload.ct = 230;\n    }\n}\n\nif (typeof msg.payload.alert !== 'undefined') {\n    msg.payload.alert = msg.payload.alert;\n}\n\nif (typeof msg.payload.bri_inc !== 'undefined') {\n    msg.payload.bri_inc = msg.payload.bri_inc;\n}\n\n\n\nreturn msg;\n\n","outputs":1,"noerr":0,"x":139.66666793823242,"y":322.77777576446533,"wires":[["e955bbd0.2e4538","24da4b05.7c9cb4"]]},{"id":"2516b8bf.18c248","type":"debug","z":"e18c56c3.fcdf78","name":"","active":false,"console":"true","complete":"payload","x":611.9444694519043,"y":205.4444637298584,"wires":[]},{"id":"a515a861.297458","type":"inject","z":"e18c56c3.fcdf78","name":"Kicker","topic":"","payload":"counter","payloadType":"global","repeat":"","crontab":"","once":true,"x":162.72223663330078,"y":623.7778100967407,"wires":[["1a541243.a253be"]]},{"id":"4a76ee25.882f8","type":"json","z":"e18c56c3.fcdf78","name":"","x":108.27778625488281,"y":504.2222023010254,"wires":[["66d6de25.3ea7d"]]},{"id":"5fe66f38.13484","type":"collector","z":"e18c56c3.fcdf78","name":"","onlyIfChanged":true,"x":117.27778625488281,"y":472.2222023010254,"wires":[["4a76ee25.882f8"]]},{"id":"e955bbd0.2e4538","type":"change","z":"e18c56c3.fcdf78","name":"Log per light","rules":[{"t":"set","p":"topic","pt":"msg","to":"payload.light","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":126.27778625488281,"y":438.2222023010254,"wires":[["5fe66f38.13484"]]},{"id":"35820678.2759ea","type":"split","z":"e18c56c3.fcdf78","name":"","splt":"\\n","x":426.0555725097656,"y":428.8889045715332,"wires":[["6ad206b9.ef38f8"]]},{"id":"c704a791.9313b8","type":"json","z":"e18c56c3.fcdf78","name":"","x":427.38890075683594,"y":461.8888702392578,"wires":[["35820678.2759ea"]]},{"id":"1c59cab5.ce0565","type":"switch","z":"e18c56c3.fcdf78","name":"","property":"payload.trans","propertyType":"msg","rules":[{"t":"null"}],"checkall":"true","outputs":1,"x":426.0555725097656,"y":363.8889045715332,"wires":[["43847444.8b131c"]]},{"id":"e1a18af7.f3b458","type":"json","z":"e18c56c3.fcdf78","name":"","x":121.05555725097656,"y":122.00000953674316,"wires":[["f55e6b24.dd8ba8"]]},{"id":"f55e6b24.dd8ba8","type":"splitter","z":"e18c56c3.fcdf78","name":"","property":"payload.light","x":120.05555725097656,"y":155.00000953674316,"wires":[["833a98eb.739418"]]},{"id":"833a98eb.739418","type":"change","z":"e18c56c3.fcdf78","name":"","rules":[{"t":"set","p":"light","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":140.05555725097656,"y":189.00000953674316,"wires":[["86bb6215.32027"]]},{"id":"86bb6215.32027","type":"change","z":"e18c56c3.fcdf78","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload_unsplit","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":157.55555725097656,"y":223.00000953674316,"wires":[["d7f3e8a5.19e108"]]},{"id":"d7f3e8a5.19e108","type":"change","z":"e18c56c3.fcdf78","name":"","rules":[{"t":"set","p":"payload.light","pt":"msg","to":"light","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":168.05555725097656,"y":257.00000953674316,"wires":[["e446e724.3a5018"]]},{"id":"fec48828.d733d8","type":"delay","z":"e18c56c3.fcdf78","name":"","pauseType":"delay","timeout":"500","timeoutUnits":"milliseconds","rate":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":425.38890075683594,"y":592.8888702392578,"wires":[["377f333.7a5f9cc"]]},{"id":"6ad206b9.ef38f8","type":"function","z":"e18c56c3.fcdf78","name":"","func":"if (msg.count == msg.payload.light) {\n    return msg;\n}","outputs":1,"noerr":0,"x":424.0555725097656,"y":395.8889045715332,"wires":[["1c59cab5.ce0565"]]},{"id":"377f333.7a5f9cc","type":"function","z":"e18c56c3.fcdf78","name":"","func":"// initialise the counter to 0 if it doesn't exist already\nvar count = context.get('count')||0;\ncount += 1;\n// store the value back\ncontext.set('count',count);\n// make it part of the outgoing msg object\nmsg.count = count;\n\nif (count == 35) {\n    context.set('count',0);\n}\n\nreturn msg;","outputs":1,"noerr":0,"x":427.38890075683594,"y":524.8888702392578,"wires":[["88bd5cfb.4e4fc","fec48828.d733d8"]]},{"id":"cd54532c.1d91d","type":"function","z":"e18c56c3.fcdf78","name":"Call Formatter (CHANGE ME)","func":"msg.payload.api = \"\";\nmsg.payload.address = \"\";\n\n\nif (typeof msg.payload.on !== 'undefined') {\n    var on = '\\\\\"on\\\\\": ' + msg.payload.on;\n}\n\nif (typeof msg.payload.trans !== 'undefined') {\n    var trans = '\\\\\"transitiontime\\\\\": ' + msg.payload.trans;\n}\n\nif (typeof msg.payload.bri !== 'undefined') {\n    var bri = '\\\\\"bri\\\\\": ' + msg.payload.bri;\n}\n\nif (typeof msg.payload.hue !== 'undefined') {\n    var hue = '\\\\\"hue\\\\\": ' + msg.payload.hue;\n}\n\nif (typeof msg.payload.sat !== 'undefined') {\n    var sat = '\\\\\"sat\\\\\": ' + msg.payload.sat;\n}\n\nif (typeof msg.payload.ct !== 'undefined') {\n    var ct = '\\\\\"ct\\\\\": ' + msg.payload.ct;\n}\n\nif (typeof msg.payload.alert !== 'undefined') {\n    var Aalert = '\\\\\"alert\\\\\": ' + msg.payload.alert;\n}\n\nif (typeof msg.payload.bri_inc !== 'undefined') {\n    var bri_inc = '\\\\\"bri_inc\\\\\": ' + msg.payload.bri_inc;\n}\n\nvar arr = [bri_inc,trans,bri,hue,sat,ct,Aalert,on];\nvar results = arr.filter(function(item){\n    return typeof item ==='string';  \n});\n\n\nmsg.command = 'curl -s -l -X PUT -d \"{' + results + '}\" http://' + msg.payload.address + '/api/' + msg.payload.api + '/lights/' + msg.payload.light + '/state';\n\nreturn msg;\n\n","outputs":1,"noerr":0,"x":658.5555725097656,"y":80.8889045715332,"wires":[["bb543df1.23bcd"]]},{"id":"bb543df1.23bcd","type":"change","z":"e18c56c3.fcdf78","name":"Set to Payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"command","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":618.5555725097656,"y":114.8889045715332,"wires":[["7b434c9.7e00cb4"]]},{"id":"43847444.8b131c","type":"switch","z":"e18c56c3.fcdf78","name":"","property":"payload.alert","propertyType":"msg","rules":[{"t":"null"}],"checkall":"true","outputs":1,"x":425.5555725097656,"y":332.8889045715332,"wires":[["43476d7c.224114"]]},{"id":"43476d7c.224114","type":"switch","z":"e18c56c3.fcdf78","name":"","property":"payload.bri_inc","propertyType":"msg","rules":[{"t":"null"}],"checkall":"true","outputs":1,"x":423.5555725097656,"y":300.8889045715332,"wires":[["24da4b05.7c9cb4"]]},{"id":"db9dcf2d.1dde2","type":"comment","z":"e18c56c3.fcdf78","name":"Request intake","info":"Lights must be array, even if single:\n[12] or [11,12,13,14]\n\nSupports:\nBrightness (bri)\nHue (hue)\nSaturation (sat)\nOn/off (value must be \"true\" or \"false\" exactly)\nAlert (alert)\nTransitiontime (trans)\nBri_inc (bri_inc)\n\n","x":123.33332061767578,"y":45.5555534362793,"wires":[]},{"id":"1a541243.a253be","type":"delay","z":"e18c56c3.fcdf78","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"seconds","rate":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":174.99999237060547,"y":591.1111135482788,"wires":[["377f333.7a5f9cc"]]},{"id":"623f0f6f.a1258","type":"json-db-collection","z":"","name":"HomeAuto","collection":"HomeAuto","save":true}]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement