Попробовал на работе сделать управление вывесками на Node-RED с Мегой, мне понравилось.
Всё наглядно.
Node-RED можно указать в качестве сервера и получать события от кнопок, проверял, работает.
Код: Выделить всё
[{"id":"f6ddf78.d75f808","type":"subflow","name":"to MegaD","info":"","category":"","in":[{"x":60,"y":80,"wires":[{"id":"a0b02e0b.2e82b"}]}],"out":[{"x":340,"y":80,"wires":[{"id":"a0b02e0b.2e82b","port":0}]}],"env":[],"meta":{},"color":"#FFCC66","inputLabels":["MegaD command"],"outputLabels":["MegaD answer"],"icon":"node-red/split.svg"},{"id":"a0b02e0b.2e82b","type":"http request","z":"f6ddf78.d75f808","name":"to MegaD","method":"GET","ret":"txt","paytoqs":"ignore","url":"http://192.168.53.7/sec/?{{{payload}}}","tls":"","persist":false,"proxy":"","authType":"","x":200,"y":80,"wires":[[]]},{"id":"d60b715c.ed5428","type":"subflow:f6ddf78.d75f808","z":"9664dfc.8c522a","x":110,"y":80,"wires":[["8839d18e.aab46","6e52dd8f.56de24","75899193.06517"]]},{"id":"6744523c.4b7cfc","type":"inject","z":"9664dfc.8c522a","name":"Освещенность","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"10","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"pt=30&scl=31&i2c_dev=max44009","payloadType":"str","x":120,"y":160,"wires":[["d60b715c.ed5428"]]},{"id":"8839d18e.aab46","type":"ui_text","z":"9664dfc.8c522a","group":"30291b02.7cde6c","order":1,"width":0,"height":0,"name":"","label":"Освещенность","format":"{{msg.payload}}","layout":"row-spread","x":400,"y":120,"wires":[]},{"id":"6e52dd8f.56de24","type":"ui_chart","z":"9664dfc.8c522a","name":"","group":"33e1de6a.ec5d3a","order":1,"width":8,"height":3,"label":"Освещенность","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":1,"removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"x":400,"y":160,"wires":[[]]},{"id":"75899193.06517","type":"switch","z":"9664dfc.8c522a","name":"is autoMode ON?","property":"autoMode","propertyType":"flow","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":390,"y":80,"wires":[["2639a2d8.7afbf6"]]},{"id":"2639a2d8.7afbf6","type":"time-range-switch","z":"9664dfc.8c522a","name":"","lat":"","lon":"","startTime":"07:30","endTime":"20:00","startOffset":0,"endOffset":0,"x":630,"y":80,"wires":[["17caf8d2.a9ac97"],[]]},{"id":"17caf8d2.a9ac97","type":"function","z":"9664dfc.8c522a","name":"String, Number > Float","func":"msg.payload = parseFloat(msg.payload);\nif (!isNaN(msg.payload)) return msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":850,"y":80,"wires":[["39d258a6.072918"]],"outputLabels":["ON, OFF"]},{"id":"39d258a6.072918","type":"switch","z":"9664dfc.8c522a","name":"< 300=ON, >400=OFF","property":"payload","propertyType":"msg","rules":[{"t":"lt","v":"300","vt":"str"},{"t":"gt","v":"400","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":1070,"y":80,"wires":[["173b512d.000e9f"],["adcdb397.684398"]]},{"id":"173b512d.000e9f","type":"switch","z":"9664dfc.8c522a","name":"is p9 ON?","property":"p9","propertyType":"flow","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":1260,"y":60,"wires":[[],["65a08456.cbe474"]]},{"id":"adcdb397.684398","type":"switch","z":"9664dfc.8c522a","name":"is p9 ON?","property":"p9","propertyType":"flow","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":1260,"y":100,"wires":[["17d2c2b7.8bd5c5"],[]]},{"id":"65a08456.cbe474","type":"change","z":"9664dfc.8c522a","name":"ON","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1400,"y":60,"wires":[["d7c46cd5.dead38"]]},{"id":"8d34d661.f80e","type":"time-range-switch","z":"9664dfc.8c522a","name":"","lat":"","lon":"","startTime":"07:30","endTime":"20:00","startOffset":0,"endOffset":0,"x":900,"y":220,"wires":[["1d730b24.e52795","44c2844a.a17584"],["91b6dd86.a6c9d8","61550473.c17824","adcdb397.684398"]]},{"id":"17d2c2b7.8bd5c5","type":"change","z":"9664dfc.8c522a","name":"OFF","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1400,"y":100,"wires":[["d7c46cd5.dead38"]]},{"id":"d7c46cd5.dead38","type":"change","z":"9664dfc.8c522a","name":"ON or OFF > p9","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"bool","to":"cmd=9:1","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"bool","to":"cmd=9:0","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1600,"y":140,"wires":[["c90657f9.3fdee8","9aa9f6eb.e8178"]]},{"id":"c5aad41a.44d96","type":"switch","z":"9664dfc.8c522a","name":"is autoMode ON?","property":"autoMode","propertyType":"flow","rules":[{"t":"true"}],"checkall":"true","repair":false,"outputs":1,"x":650,"y":220,"wires":[["8d34d661.f80e"]]},{"id":"1d730b24.e52795","type":"switch","z":"9664dfc.8c522a","name":"is p7 ON?","property":"p7","propertyType":"flow","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":1260,"y":200,"wires":[[],["c91ebdae.75b8c"]]},{"id":"44c2844a.a17584","type":"switch","z":"9664dfc.8c522a","name":"is p8 ON?","property":"p8","propertyType":"flow","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":1260,"y":340,"wires":[[],["8a38ecea.f128c"]]},{"id":"91b6dd86.a6c9d8","type":"switch","z":"9664dfc.8c522a","name":"is p7 ON?","property":"p7","propertyType":"flow","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":1260,"y":240,"wires":[["8bd13879.5b626"],[]]},{"id":"61550473.c17824","type":"switch","z":"9664dfc.8c522a","name":"is p8 ON?","property":"p8","propertyType":"flow","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":1260,"y":380,"wires":[["c74dbe5c.f08ad"],[]]},{"id":"27e9b6f9.3dde02","type":"ui_switch","z":"9664dfc.8c522a","name":"","label":"Реклама крыша","tooltip":"","group":"3d4a7b4e.58a2f4","order":4,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"topic","topicType":"msg","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","animate":false,"x":1280,"y":140,"wires":[["d7c46cd5.dead38"]]},{"id":"c90657f9.3fdee8","type":"debug","z":"9664dfc.8c522a","name":"===9","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1810,"y":140,"wires":[]},{"id":"9aa9f6eb.e8178","type":"subflow:f6ddf78.d75f808","z":"9664dfc.8c522a","x":1820,"y":280,"wires":[[]]},{"id":"e76ba614.960db","type":"function","z":"9664dfc.8c522a","name":"All ports > flow, payload","func":"var s = msg.payload.split(\";\")\n\nvar result = {};\nfor (i = 0; i < 38; i++) {\n var t = (s[i] == \"ON\") ? true : false;\n result[\"p\"+i] = t;\n flow.set(\"p\"+i, t);\n}\nmsg.payload = result;\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":370,"y":280,"wires":[["51418b6d.8f51f4","f1139a30.8bd328","25241dfa.8c91d2","82e0795.0435388","c5aad41a.44d96"]],"outputLabels":["array p[x] = true or false"]},{"id":"c91ebdae.75b8c","type":"change","z":"9664dfc.8c522a","name":"ON","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1400,"y":200,"wires":[["69c47ea8.b8f648"]]},{"id":"8a38ecea.f128c","type":"change","z":"9664dfc.8c522a","name":"ON","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1400,"y":340,"wires":[["d9a33095.0c7fb"]]},{"id":"8bd13879.5b626","type":"change","z":"9664dfc.8c522a","name":"OFF","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1400,"y":240,"wires":[["69c47ea8.b8f648"]]},{"id":"c74dbe5c.f08ad","type":"change","z":"9664dfc.8c522a","name":"OFF","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1400,"y":380,"wires":[["d9a33095.0c7fb"]]},{"id":"51418b6d.8f51f4","type":"change","z":"9664dfc.8c522a","name":"p9 state","rules":[{"t":"move","p":"payload.p9","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":140,"wires":[["27e9b6f9.3dde02"]],"outputLabels":["true or false"]},{"id":"649f369d.7e1c58","type":"change","z":"9664dfc.8c522a","name":"Disable controls","rules":[{"t":"set","p":"enabled","pt":"msg","to":"false","tot":"bool"},{"t":"delete","p":"payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":330,"wires":[["4b8a6fc.26f121","610c7aba.f9c28c","27e9b6f9.3dde02"]]},{"id":"f6363dab.6b85","type":"change","z":"9664dfc.8c522a","name":"Enable controls","rules":[{"t":"set","p":"enabled","pt":"msg","to":"true","tot":"bool"},{"t":"delete","p":"payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":370,"wires":[["4b8a6fc.26f121","610c7aba.f9c28c","27e9b6f9.3dde02"]]},{"id":"d9a33095.0c7fb","type":"change","z":"9664dfc.8c522a","name":"ON or OFF > p8","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"bool","to":"cmd=8:1","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"bool","to":"cmd=8:0","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1610,"y":420,"wires":[["557df5e7.a97724","9aa9f6eb.e8178"]]},{"id":"69c47ea8.b8f648","type":"change","z":"9664dfc.8c522a","name":"ON or OFF > p7","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"bool","to":"cmd=7:1","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"bool","to":"cmd=7:0","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1610,"y":280,"wires":[["50510a09.493044","9aa9f6eb.e8178"]]},{"id":"d5594f87.75ec5","type":"subflow:f6ddf78.d75f808","z":"9664dfc.8c522a","x":110,"y":280,"wires":[["e76ba614.960db"]]},{"id":"f1139a30.8bd328","type":"change","z":"9664dfc.8c522a","name":"p7 state","rules":[{"t":"move","p":"payload.p7","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":280,"wires":[["610c7aba.f9c28c"]],"outputLabels":["true or false"]},{"id":"25241dfa.8c91d2","type":"change","z":"9664dfc.8c522a","name":"p8 state","rules":[{"t":"move","p":"payload.p8","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":420,"wires":[["4b8a6fc.26f121"]],"outputLabels":["true or false"]},{"id":"82e0795.0435388","type":"debug","z":"9664dfc.8c522a","name":"===1","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":410,"y":220,"wires":[]},{"id":"e85477c7.d9b37","type":"switch","z":"9664dfc.8c522a","name":"Is autoMode ON?","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":650,"y":350,"wires":[["649f369d.7e1c58"],["f6363dab.6b85"]]},{"id":"4b8a6fc.26f121","type":"ui_switch","z":"9664dfc.8c522a","name":"","label":"Реклама красная","tooltip":"","group":"3d4a7b4e.58a2f4","order":2,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"topic","topicType":"msg","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","animate":false,"x":1290,"y":420,"wires":[["d9a33095.0c7fb"]]},{"id":"610c7aba.f9c28c","type":"ui_switch","z":"9664dfc.8c522a","name":"","label":"Реклама дверь","tooltip":"","group":"3d4a7b4e.58a2f4","order":3,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"topic","topicType":"msg","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","animate":false,"x":1280,"y":280,"wires":[["69c47ea8.b8f648"]]},{"id":"557df5e7.a97724","type":"debug","z":"9664dfc.8c522a","name":"===8","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1810,"y":420,"wires":[]},{"id":"50510a09.493044","type":"debug","z":"9664dfc.8c522a","name":"===7","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1810,"y":320,"wires":[]},{"id":"85df0425.9e085","type":"inject","z":"9664dfc.8c522a","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"5","crontab":"","once":true,"onceDelay":0.1,"topic":"","payload":"cmd=all","payloadType":"str","x":90,"y":350,"wires":[["d5594f87.75ec5","ba53b33e.4f074"]]},{"id":"7bdf3dcb.289e94","type":"change","z":"9664dfc.8c522a","name":"Set autoMode","rules":[{"t":"set","p":"autoMode","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":350,"wires":[["e85477c7.d9b37"]],"outputLabels":["true or false"]},{"id":"ba53b33e.4f074","type":"function","z":"9664dfc.8c522a","name":"Get autoMode","func":"var f = flow.get(\"autoMode\")\nif (f === undefined) {\n flow.set(\"autoMode\", true)\n msg.payload = true\n \n} \nmsg.payload = f\nreturn msg","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":130,"y":420,"wires":[["be951efe.e7f618"]],"outputLabels":["true or false"]},{"id":"be951efe.e7f618","type":"ui_switch","z":"9664dfc.8c522a","name":"","label":"Автовключение рекламы","tooltip":"","group":"3d4a7b4e.58a2f4","order":1,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"topic","topicType":"msg","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","animate":false,"x":360,"y":420,"wires":[["7bdf3dcb.289e94"]]},{"id":"30291b02.7cde6c","type":"ui_group","name":"Датчики на улице","tab":"f62126fb.a6cd98","order":2,"disp":true,"width":"6","collapse":false},{"id":"33e1de6a.ec5d3a","type":"ui_group","name":"Графики","tab":"f62126fb.a6cd98","order":3,"disp":true,"width":8,"collapse":false},{"id":"3d4a7b4e.58a2f4","type":"ui_group","name":"Управление","tab":"f62126fb.a6cd98","order":1,"disp":true,"width":6,"collapse":false},{"id":"f62126fb.a6cd98","type":"ui_tab","name":"Фото-мир","icon":"dashboard","disabled":false,"hidden":false}]