[{"id":"ff72a4a3.76a9d8","type":"function","z":"7233d925.84a2d8","name":"is in range?","func":"const schedule = flow.get(\"schedule\");\nlet start = env.get(\"start\");\nlet stop = env.get(\"stop\");\nlet days = env.get(\"days\");\nif(schedule !== undefined){\n start = schedule.start;\n stop = schedule.stop;\n days = schedule.days;\n}\nconst time = new Date();\nlet day = time.getDay();\nif(day === 0) day = 7;\nlet hour = String(time.getHours());\nlet minute = String(time.getMinutes());\nif(hour.length == 1) hour = \"0\" + hour;\nif(minute.length == 1) minute = \"0\" + minute;\nconst hmtime = hour + \":\" + minute;\nif(days.includes(day)){\n if(start == stop){\n return [msg, null];\n } else if(start > stop){\n if(hmtime >= start || hmtime < stop){\n return [msg, null];\n } else {\n return [null, msg];\n }\n } else if(hmtime >= start && hmtime < stop){\n return [msg, null];\n } else {\n return [null, msg];\n }\n} else {\n return null;\n}","outputs":2,"noerr":0,"x":710,"y":3360,"wires":[["cb6239ef.0fa0b8"],[]]},{"id":"544bdd1d.c52004","type":"inject","z":"7233d925.84a2d8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":310,"y":3500,"wires":[["468561dc.32167"]]},{"id":"468561dc.32167","type":"function","z":"7233d925.84a2d8","name":"display rule","func":"const schedule = flow.get(\"schedule\");\nif(typeof schedule == \"object\"){\n const start = schedule.start;\n const stop = schedule.stop;\n const days = String(schedule.days).replace(/1/g,\"Mo\").replace(/2/g,\"Tu\").replace(/3/g,\"We\").replace(/4/g,\"Th\").replace(/5/g,\"Fr\").replace(/6/g,\"Sa\").replace(/7/g,\"Su\");\n msg.payload = \"override: \" + start + \"-\" + stop + \"/\" + days;\n} else {\n const start = env.get(\"start\");\n const stop = env.get(\"stop\");\n const days = String(env.get(\"days\")).replace(/1/g,\"Mo\").replace(/2/g,\"Tu\").replace(/3/g,\"We\").replace(/4/g,\"Th\").replace(/5/g,\"Fr\").replace(/6/g,\"Sa\").replace(/7/g,\"Su\");\n const override = false;\n msg.payload = start + \"-\" + stop + \"/\" + days;\n}\nreturn msg;","outputs":1,"noerr":0,"x":550,"y":3500,"wires":[["117f845e.dca21c"]]},{"id":"c9670db7.8a08f","type":"function","z":"7233d925.84a2d8","name":"check for override","func":"if(msg.topic == \"override\"){\n flow.set(\"schedule\",msg.payload);\n return [null, msg];\n} else if (msg.payload == \"reset\"){\n let reset;\n flow.set(\"schedule\",reset);\n return [null, msg];\n} else {\n return [msg, null];\n}","outputs":2,"noerr":0,"x":470,"y":3380,"wires":[["ff72a4a3.76a9d8"],["468561dc.32167"]]},{"id":"cb6239ef.0fa0b8","type":"http request","z":"7233d925.84a2d8","name":"SOnoOff 160","method":"POST","ret":"txt","url":"http://192.168.1.160/cm?cmnd=Power toggle","tls":"","x":950,"y":3340,"wires":[["b91f66f3.daa048"]]},{"id":"48f928b8.2fe4a8","type":"inject","z":"7233d925.84a2d8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":140,"y":3400,"wires":[["c9670db7.8a08f"]]},{"id":"b91f66f3.daa048","type":"debug","z":"7233d925.84a2d8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1170,"y":3340,"wires":[]},{"id":"117f845e.dca21c","type":"debug","z":"7233d925.84a2d8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1170,"y":3500,"wires":[]}]