[{"id":"602ea838.e62368","type":"ui_tab","z":"ac8e6886.bb30d8","name":"Calendar","icon":"dashboard","order":"1"},{"id":"532cc7ab.edf3a8","type":"ui_tab","z":"ac8e6886.bb30d8","name":"Calendar","icon":"dashboard","order":"1"},{"id":"2f924694.1ab86a","type":"function","z":"ac8e6886.bb30d8","name":"Off ?","func":"if (msg.payload == \"Off\"){\n    return {payload: global.get(\"Fahrrad\") + global.get(\"off_day\")};\n}\nelse {\n    return msg;\n}","outputs":1,"noerr":0,"x":1046.4999694824219,"y":1536.6666259765625,"wires":[["bae7793b.53f5b8"]]},{"id":"e723cc7f.940b5","type":"google calendar","z":"ac8e6886.bb30d8","google":"","name":"Calendar Schule","calendar":"","x":582,"y":492,"wires":[["7b44076b.982948"]]},{"id":"21c5f743.a8e4e8","type":"inject","z":"ac8e6886.bb30d8","name":"Tomorrow","topic":"","payload":"1","payloadType":"str","repeat":"","crontab":"00 17 * * *","once":false,"x":128,"y":515,"wires":[["1ef8c539.b4d07b","e7822dc2.8d38c","7a171ace.c6d9e4","1133742c.869bfc","e203aad1.cdc338"]]},{"id":"7b44076b.982948","type":"json","z":"ac8e6886.bb30d8","name":"","x":796,"y":521,"wires":[["97b58a67.77b8c8"]]},{"id":"909086a9.f330d8","type":"function","z":"ac8e6886.bb30d8","name":"Global Constants","func":"global.set(\"Regenschirm\",\"12,13\");\nglobal.set(\"Bahn\",\"10,11\");\nglobal.set(\"Temperatur\",\"0,1\");\nglobal.set(\"Fahrrad\",\"14,15\");\nglobal.set(\"Recycle\",\"8,9\");\nglobal.set(\"Geburtstag\",\"2,3\");\nglobal.set(\"Schule\",\"16,17\");\nglobal.set(\"Arzt\",\"6,7\");\nglobal.set(\"Ereignis\",\"4,5\");\n\nglobal.set(\"Jonah\",\",255,0,0\");\nglobal.set(\"Celia\",\",0,255,0\");\nglobal.set(\"Lisa\",\",120,120,0\");\nglobal.set(\"Bernd\",\",0,0,255\");\nglobal.set(\"paper\",\",0,0,255\");\nglobal.set(\"cartboard\",\",255,0,0\");\nglobal.set(\"off_day\",\",0,0,0\");\nglobal.set(\"off_night\",\",0,0,0\");\nglobal.set(\"white\",\",190,190,190\");\nglobal.set(\"today\",false);\nreturn {payload: \"0,17\"+global.get(\"off_day\")};\n","outputs":1,"noerr":0,"x":361,"y":118,"wires":[["bae7793b.53f5b8"]]},{"id":"e0541607.bd4e08","type":"inject","z":"ac8e6886.bb30d8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":true,"x":137,"y":119,"wires":[["909086a9.f330d8"]]},{"id":"f7dcc81c.6876d8","type":"comment","z":"ac8e6886.bb30d8","name":"Define Colors","info":"","x":132,"y":65,"wires":[]},{"id":"1fe29ed5.8b0c61","type":"comment","z":"ac8e6886.bb30d8","name":"Set Today or Tomorrow","info":"","x":164,"y":178,"wires":[]},{"id":"1ef8c539.b4d07b","type":"function","z":"ac8e6886.bb30d8","name":"Schule","func":"if (msg.payload == 1){\n    global.set(\"today\",false)   \n}\nelse {\n    global.set(\"today\",true)\n}\nreturn {payload: \"Schule\"};","outputs":1,"noerr":0,"x":359,"y":522,"wires":[["e723cc7f.940b5"]]},{"id":"4b506174.cbd7c","type":"inject","z":"ac8e6886.bb30d8","name":"Today","topic":"","payload":"0","payloadType":"str","repeat":"","crontab":"*/30 7-22 * * *","once":false,"x":131,"y":697,"wires":[["1ef8c539.b4d07b","e7822dc2.8d38c","7a171ace.c6d9e4","1133742c.869bfc","e203aad1.cdc338"]]},{"id":"6fcd17ae.342968","type":"google calendar","z":"ac8e6886.bb30d8","google":"","name":"Calendar Arzt","calendar":"","x":582,"y":543,"wires":[["e09e72af.a69b1"]]},{"id":"e09e72af.a69b1","type":"json","z":"ac8e6886.bb30d8","name":"","x":791,"y":561,"wires":[["58d43e2b.2be7e"]]},{"id":"58d43e2b.2be7e","type":"function","z":"ac8e6886.bb30d8","name":"CalenderParse","func":"// OpenWeatherMap JSON Antwort parsen\nvar calender=JSON.parse(msg.payload);\n\nif (global.get(\"today\")){\n    var Datum = new Date();\n}\nelse {\n\n    var Datum = new Date();\n    Datum.setDate(Datum.getDate() + 1);\n}\n\n\nif (calender.title.search(\"Arzt\") > -1) {\n    var StartDate = new Date(calender.start);\n    if (Datum.toLocaleDateString() == StartDate.toLocaleDateString()){\n        if (calender.title.search(\"Jonah\")>-1){\n            return  [{payload: global.get(\"Arzt\")+global.get(\"Jonah\")}, {payload: calender.title}];\n        }\n        else if (calender.title.search(\"Celia\")>-1){\n            return  [{payload: global.get(\"Arzt\")+global.get(\"Celia\")}, {payload: calender.title}];        \n        }\n        else if (calender.title.search(\"Bernd\")>-1){\n            return  [{payload: global.get(\"Arzt\")+global.get(\"Bernd\")}, {payload: calender.title}];            \n        }\n        else if (calender.title.search(\"Lisa\")>-1){\n            return  [{payload: global.get(\"Arzt\")+global.get(\"Lisa\")}, {payload: calender.title}];\n        }\n        else {\n            return  [{payload: global.get(\"Arzt\")+global.get(\"white\")}, {payload: calender.title}];\n        }\n   }\n    else{\n        return  [{payload: global.get(\"Arzt\")+global.get(\"off_day\")}, {payload: \"Next Event: \" + StartDate.toLocaleDateString() + \" / \" + calender.title}];\n    }\n}\nelse {\n    return  [{payload: global.get(\"Arzt\")+global.get(\"off_day\")}, null];\n}\n\n","outputs":"2","noerr":0,"x":987,"y":561,"wires":[["bae7793b.53f5b8"],["408f4c54.a4ccf4"]]},{"id":"e7822dc2.8d38c","type":"function","z":"ac8e6886.bb30d8","name":"Arzt","func":"if (msg.payload == 1){\n    global.set(\"today\",false)   \n}\nelse {\n    global.set(\"today\",true)\n}\nreturn {payload: \"Arzt\"};","outputs":1,"noerr":0,"x":362,"y":562,"wires":[["6fcd17ae.342968"]]},{"id":"97b58a67.77b8c8","type":"function","z":"ac8e6886.bb30d8","name":"CalenderParse","func":"// OpenWeatherMap JSON Antwort parsen\nvar calender=JSON.parse(msg.payload);\n\nif (global.get(\"today\")){\n    var Datum = new Date();\n}\nelse {\n\n    var Datum = new Date();\n    Datum.setDate(Datum.getDate() + 1);\n}\n\n\nif (calender.title.search(\"Schule\") > -1) {\n    var StartDate = new Date(calender.start);\n    if (Datum.toLocaleDateString() == StartDate.toLocaleDateString()){\n        if (calender.title.search(\"Jonah\")>-1){\n            return  [{payload: global.get(\"Schule\")+global.get(\"Jonah\")}, {payload: calender.title}];\n        }\n        else if (calender.title.search(\"Celia\")>-1){\n            return  [{payload: global.get(\"Schule\")+global.get(\"Celia\")}, {payload: calender.title}];        \n        }\n        else if (calender.title.search(\"Bernd\")>-1){\n            return  [{payload: global.get(\"Schule\")+global.get(\"Bernd\")}, {payload: calender.title}];            \n        }\n        else if (calender.title.search(\"Lisa\")>-1){\n            return  [{payload: global.get(\"Schule\")+global.get(\"Lisa\")}, {payload: calender.title}];\n        }\n        else {\n            return  [{payload: global.get(\"Schule\")+global.get(\"white\")}, {payload: calender.title}];\n        }\n   }\n    else{\n        return  [{payload: global.get(\"Schule\")+global.get(\"off_day\")}, {payload: \"Next Event: \" + StartDate.toLocaleDateString() + \" / \" + calender.title}];\n    }\n}\nelse {\n    return  [{payload: global.get(\"Schule\")+global.get(\"off_day\")}, null];\n}\n\n","outputs":"2","noerr":0,"x":984,"y":520,"wires":[["bae7793b.53f5b8"],["e3be6f35.6b46e"]]},{"id":"39768665.90936a","type":"google calendar","z":"ac8e6886.bb30d8","google":"","name":"Calendar Ereignis","calendar":"","x":590,"y":603,"wires":[["ef913fe7.49f5b"]]},{"id":"ef913fe7.49f5b","type":"json","z":"ac8e6886.bb30d8","name":"","x":792,"y":610,"wires":[["587509e9.568408"]]},{"id":"587509e9.568408","type":"function","z":"ac8e6886.bb30d8","name":"CalenderParse","func":"// OpenWeatherMap JSON Antwort parsen\nvar calender=JSON.parse(msg.payload);\n\nif (global.get(\"today\")){\n    var Datum = new Date();\n}\nelse {\n\n    var Datum = new Date();\n    Datum.setDate(Datum.getDate() + 1);\n}\n\n\nif (calender.title.search(\"Ereignis\") > -1) {\n    var StartDate = new Date(calender.start);\n    if (Datum.toLocaleDateString() == StartDate.toLocaleDateString()){\n        if (calender.title.search(\"Jonah\")>-1){\n            return  [{payload: global.get(\"Ereignis\")+global.get(\"Jonah\")}, {payload: calender.title}];\n        }\n        else if (calender.title.search(\"Celia\")>-1){\n            return  [{payload: global.get(\"Ereignis\")+global.get(\"Celia\")}, {payload: calender.title}];        \n        }\n        else if (calender.title.search(\"Bernd\")>-1){\n            return  [{payload: global.get(\"Ereignis\")+global.get(\"Bernd\")}, {payload: calender.title}];            \n        }\n        else if (calender.title.search(\"Lisa\")>-1){\n            return  [{payload: global.get(\"Ereignis\")+global.get(\"Lisa\")}, {payload: calender.title}];\n        }\n        else {\n            return  [{payload: global.get(\"Ereignis\")+global.get(\"white\")}, {payload: calender.title}];\n        }\n   }\n    else{\n        return  [{payload: global.get(\"Ereignis\")+global.get(\"off_day\")}, {payload: \"Next Event: \" + StartDate.toLocaleDateString() + \" / \" + calender.title}];\n    }\n}\nelse {\n    return  [{payload: global.get(\"Ereignis\")+global.get(\"off_day\")}, null];\n}\n\n","outputs":"2","noerr":0,"x":988,"y":610,"wires":[["bae7793b.53f5b8"],["f0c7b6e8.0fe0b8"]]},{"id":"7a171ace.c6d9e4","type":"function","z":"ac8e6886.bb30d8","name":"Ereignis","func":"if (msg.payload == 1){\n    global.set(\"today\",false)   \n}\nelse {\n    global.set(\"today\",true)\n}\nreturn {payload: \"Ereignis\"};","outputs":1,"noerr":0,"x":373,"y":611,"wires":[["39768665.90936a"]]},{"id":"d265f51.8c8fc08","type":"google calendar","z":"ac8e6886.bb30d8","google":"","name":"Calendar Geburtstag","calendar":"","x":588,"y":663,"wires":[["c914d763.dde1e8"]]},{"id":"c914d763.dde1e8","type":"json","z":"ac8e6886.bb30d8","name":"","x":792,"y":652,"wires":[["abbb3843.f81928","8e6c2332.046b7"]]},{"id":"abbb3843.f81928","type":"function","z":"ac8e6886.bb30d8","name":"CalenderParse","func":"// OpenWeatherMap JSON Antwort parsen\nvar calender=JSON.parse(msg.payload);\n\nif (global.get(\"today\")){\n    var Datum = new Date();\n}\nelse {\n\n    var Datum = new Date();\n    Datum.setDate(Datum.getDate() + 1);\n}\n\n\nif (calender.title.search(\"Geburtstag\") > -1) {\n    var StartDate = new Date(calender.start);\n    if (Datum.toLocaleDateString() == StartDate.toLocaleDateString()){\n        if (calender.title.search(\"Jonah\")>-1){\n            return  [{payload: global.get(\"Geburtstag\")+global.get(\"Jonah\")}, {payload: calender.title}];\n        }\n        else if (calender.title.search(\"Celia\")>-1){\n            return  [{payload: global.get(\"Geburtstag\")+global.get(\"Celia\")}, {payload: calender.title}];        \n        }\n        else if (calender.title.search(\"Bernd\")>-1){\n            return  [{payload: global.get(\"Geburtstag\")+global.get(\"Bernd\")}, {payload: calender.title}];            \n        }\n        else if (calender.title.search(\"Lisa\")>-1){\n            return  [{payload: global.get(\"Geburtstag\")+global.get(\"Lisa\")}, {payload: calender.title}];\n        }\n        else {\n            return  [{payload: global.get(\"Geburtstag\")+global.get(\"white\")}, {payload: calender.title}];\n        }\n   }\n    else{\n        return  [{payload: global.get(\"Geburtstag\")+global.get(\"off_day\")}, {payload: \"Next Event: \" + StartDate.toLocaleDateString() + \" / \" + calender.title}];\n    }\n}\nelse {\n    return  [{payload: global.get(\"Geburtstag\")+global.get(\"off_day\")}, null];\n}\n\n","outputs":"2","noerr":0,"x":988,"y":652,"wires":[["bae7793b.53f5b8"],["c9e65fec.1a0ea"]]},{"id":"1133742c.869bfc","type":"function","z":"ac8e6886.bb30d8","name":"Geburtstag","func":"if (msg.payload == 1){\n    global.set(\"today\",false)   \n}\nelse {\n    global.set(\"today\",true)\n}\nreturn {payload: \"Geburtstag\"};","outputs":1,"noerr":0,"x":383,"y":653,"wires":[["d265f51.8c8fc08"]]},{"id":"8f242257.08761","type":"google calendar","z":"ac8e6886.bb30d8","google":"","name":"Calendar Recycle","calendar":"","x":588,"y":715,"wires":[["ebaadcde.cf0a2"]]},{"id":"ebaadcde.cf0a2","type":"json","z":"ac8e6886.bb30d8","name":"","x":793,"y":693,"wires":[["40e222c7.b75f0c","8e6c2332.046b7"]]},{"id":"40e222c7.b75f0c","type":"function","z":"ac8e6886.bb30d8","name":"CalenderParse","func":"// OpenWeatherMap JSON Antwort parsen\nvar calender=JSON.parse(msg.payload);\n\nif (global.get(\"today\")){\n    var Datum = new Date();\n}\nelse {\n\n    var Datum = new Date();\n    Datum.setDate(Datum.getDate() + 1);\n}\n\n\nif (calender.title.search(\"Recycle\") > -1) {\n    var StartDate = new Date(calender.start);\n    if (Datum.toLocaleDateString() == StartDate.toLocaleDateString()){\n        if (calender.title.search(\"Papier\")>-1){\n            return  [{payload: global.get(\"Recycle\")+ global.get(\"paper\")}, {payload: calender.title}];\n        }\n        else if (calender.title.search(\"Karton\")>-1){\n            return  [{payload: global.get(\"Recycle\")+global.get(\"cartboard\")}, {payload: calender.title}];        \n        }\n\n        else {\n            return  [{payload: global.get(\"Recycle\")+global.get(\"white\")}, {payload: calender.title}];\n        }\n   }\n    else{\n        return  [{payload: global.get(\"Recycle\")+global.get(\"off_day\")}, {payload: \"Next Event: \" + StartDate.toLocaleDateString() + \" / \" + calender.title}];\n    }\n}\nelse {\n    return  [{payload: global.get(\"Recycle\")+global.get(\"off_day\")}, null];\n}\n\n","outputs":"2","noerr":0,"x":989,"y":693,"wires":[["bae7793b.53f5b8"],[]]},{"id":"e203aad1.cdc338","type":"function","z":"ac8e6886.bb30d8","name":"Recycle","func":"if (msg.payload == 1){\n    global.set(\"today\",false)   \n}\nelse {\n    global.set(\"today\",true)\n}\nreturn {payload: \"Recycle\"};","outputs":1,"noerr":0,"x":374,"y":694,"wires":[["8f242257.08761"]]},{"id":"bae7793b.53f5b8","type":"rpi-neopixels","z":"ac8e6886.bb30d8","name":"Calendar LEDs","pixels":"18","bgnd":"","fgnd":"","wipe":"40","mode":"pixelsneedle","rgb":"rgb","x":1647.5,"y":539,"wires":[]},{"id":"2b1441c9.f53afe","type":"inject","z":"ac8e6886.bb30d8","name":"OFF morning","topic":"","payload":"off","payloadType":"str","repeat":"","crontab":"30 10 * * 1,2,3,4,5","once":false,"x":921,"y":122,"wires":[["8f727ea4.31d96"]]},{"id":"7d8d3dc2.1d8bc4","type":"inject","z":"ac8e6886.bb30d8","name":"OFF night","topic":"","payload":"off","payloadType":"str","repeat":"","crontab":"00 23 * * 1,2,3,4,5","once":false,"x":910,"y":183,"wires":[["8f727ea4.31d96"]]},{"id":"9bcfbce9.28c3a","type":"ui_button","z":"ac8e6886.bb30d8","tab":"532cc7ab.edf3a8","name":"Today (1h)","payload":"0","topic":"","group":"","order":1,"x":116,"y":222,"wires":[["1ef8c539.b4d07b","e7822dc2.8d38c","7a171ace.c6d9e4","1133742c.869bfc","e203aad1.cdc338","90ec7c69.ce551","88dc9c2f.edccf"]]},{"id":"90ec7c69.ce551","type":"trigger","z":"ac8e6886.bb30d8","op1":"","op2":"off","op1type":"val","op2type":"val","duration":"30","extend":false,"units":"min","reset":"1","name":"Off Timer 1h","x":936,"y":243,"wires":[["8f727ea4.31d96"]]},{"id":"62e4377c.36f738","type":"ui_button","z":"ac8e6886.bb30d8","tab":"532cc7ab.edf3a8","name":"Tomorrow (10s)","payload":"1","topic":"","group":"","order":1,"x":116,"y":290,"wires":[["88dc9c2f.edccf","1ef8c539.b4d07b","e7822dc2.8d38c","7a171ace.c6d9e4","1133742c.869bfc","e203aad1.cdc338","90ec7c69.ce551"]]},{"id":"88dc9c2f.edccf","type":"trigger","z":"ac8e6886.bb30d8","op1":"","op2":"off","op1type":"val","op2type":"val","duration":"10","extend":true,"units":"s","reset":"0","name":"Off Timer 10s","x":939,"y":289,"wires":[["8f727ea4.31d96"]]},{"id":"e3be6f35.6b46e","type":"ui_text","z":"ac8e6886.bb30d8","tab":"532cc7ab.edf3a8","name":"Schule","group":"","order":1,"format":"{{msg.payload}}","x":1274,"y":595,"wires":[]},{"id":"408f4c54.a4ccf4","type":"ui_text","z":"ac8e6886.bb30d8","tab":"532cc7ab.edf3a8","name":"Arzt","group":"","order":1,"format":"{{msg.payload}}","x":1274,"y":631,"wires":[]},{"id":"c9e65fec.1a0ea","type":"ui_text","z":"ac8e6886.bb30d8","tab":"532cc7ab.edf3a8","name":"Geburtstag","group":"","order":1,"format":"{{msg.payload}}","x":1289,"y":709,"wires":[]},{"id":"8f727ea4.31d96","type":"function","z":"ac8e6886.bb30d8","name":"Off Signal","func":"var d=new Date();\nif ((d.toLocaleTimeString()<\"23:00:00\")&&(msg.payload == \"off\")){\n    var newmsg = {payload:\"0,17\" + global.get(\"off_day\")};\n}\nelse if(msg.payload == \"off\") {\n    var newmsg = {payload:\"0,17\" + global.get(\"off_night\")};\n}\nelse {\n    var newmsg = null;\n}\nreturn newmsg;","outputs":1,"noerr":0,"x":1151,"y":252,"wires":[["bae7793b.53f5b8"]]},{"id":"f0c7b6e8.0fe0b8","type":"ui_text","z":"ac8e6886.bb30d8","tab":"532cc7ab.edf3a8","name":"Ereignis","group":"","order":1,"format":"{{msg.payload}}","x":1284,"y":667,"wires":[]},{"id":"3c48066d.c26daa","type":"catch","z":"ac8e6886.bb30d8","name":"No event","scope":["6fcd17ae.342968","39768665.90936a","d265f51.8c8fc08","8f242257.08761","e723cc7f.940b5"],"x":580,"y":438,"wires":[["c57545f8.4390d8"]]},{"id":"c57545f8.4390d8","type":"function","z":"ac8e6886.bb30d8","name":"No event Off","func":" if (msg.payload == \"Arzt\"){\n    return {payload: global.get(\"Arzt\")+global.get(\"off_day\")};\n } else if (msg.payload == \"Schule\"){\n    return {payload: global.get(\"Schule\")+global.get(\"off_day\")};\n } else if (msg.payload == \"Ereignis\"){\n    return {payload: global.get(\"Ereignis\")+global.get(\"off_day\")};\n } else if (msg.payload == \"Geburtstag\"){\n    return {payload: global.get(\"Geburtstag\")+global.get(\"off_day\")};\n } else if (msg.payload == \"Recycle\"){\n    return {payload: global.get(\"Recycle\")+global.get(\"off_day\")};\n } else {\n    return null;\n}","outputs":1,"noerr":0,"x":979,"y":448,"wires":[["bae7793b.53f5b8"]]},{"id":"28a8a4a8.8e7bbc","type":"exec","z":"ac8e6886.bb30d8","command":"sudo shutdown","addpay":true,"append":" -h now","useSpawn":"","name":"Shutdown","x":288,"y":791.5,"wires":[[],[],[]]},{"id":"3c9d5d2d.966c62","type":"inject","z":"ac8e6886.bb30d8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":102,"y":788,"wires":[["28a8a4a8.8e7bbc"]]},{"id":"dfac5ee3.fd236","type":"feedparse","z":"ac8e6886.bb30d8","name":"Strungen","url":"http://fahrplan.sbb.ch/bin//help.exe/dnl?tpl=rss_feed_custom&icons=44&regions=BVI4","interval":15,"x":124,"y":1051,"wires":[["4098f735.9c3178","be23f12c.11abe"]]},{"id":"75183226.87084c","type":"ui_text","z":"ac8e6886.bb30d8","tab":"602ea838.e62368","name":"Traffic","group":"Traffic","order":1,"format":"{{msg.payload}}","x":618,"y":1120,"wires":[]},{"id":"4098f735.9c3178","type":"function","z":"ac8e6886.bb30d8","name":"Stoerung","func":"// OpenWeatherMap JSON Antwort parsen\nvar Nachrichten=msg.payload;\nvar zeit = msg.time;\n\nvar pos1 = msg.payload.search(\"S 6\");\nvar pos2 = msg.payload.search(\"2062\"); //2062\nvar StoerungTXT = \"\";\nvar Stoerung = \"off\";\n\nif ((pos1 + pos2) > 0) {\n    Stoerung = \"on\";\n    StoerungTXT = msg.payload;\n} \n\nreturn [{payload: Stoerung}, {payload: StoerungTXT}];","outputs":"2","noerr":0,"x":433,"y":1051,"wires":[["debe5375.8c6a1","9f1e6673.1eeb18"],["75183226.87084c"]]},{"id":"be23f12c.11abe","type":"debug","z":"ac8e6886.bb30d8","name":"","active":false,"console":"false","complete":"false","x":295,"y":991,"wires":[]},{"id":"e4b33106.329f4","type":"trigger","z":"ac8e6886.bb30d8","op1":"1","op2":"0","op1type":"val","op2type":"val","duration":"1","extend":false,"units":"s","reset":"","name":"","x":944,"y":984,"wires":[["b892868d.b5b868","88b38477.a48698"]]},{"id":"b892868d.b5b868","type":"function","z":"ac8e6886.bb30d8","name":"","func":"if (msg.payload == \"off\")\n\tcontext.state = 0;\nif (msg.payload == \"on\")\n\tcontext.state = 1;\n\nif (context.state == 1)\n{\n\tif (msg.payload == 0)\n\t\treturn msg;\n\telse\n\t\treturn;\n}\nelse\n\treturn;","outputs":1,"noerr":0,"x":934,"y":1023,"wires":[["575bfa0e.f31a54"]]},{"id":"575bfa0e.f31a54","type":"delay","z":"ac8e6886.bb30d8","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1061,"y":1023,"wires":[["e4b33106.329f4"]]},{"id":"debe5375.8c6a1","type":"switch","z":"ac8e6886.bb30d8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","outputs":2,"x":760,"y":1016,"wires":[["b892868d.b5b868","e4b33106.329f4"],["b892868d.b5b868"]]},{"id":"88b38477.a48698","type":"function","z":"ac8e6886.bb30d8","name":"BLINK Bahn","func":"if (msg.payload == 1) {\n    return {payload: global.get(\"Bahn\") + \",190,0,0\"};\n}\nelse {\n    return {payload: global.get(\"Bahn\") + global.get(\"off_day\")};\n}\n","outputs":1,"noerr":0,"x":1142,"y":978,"wires":[["bae7793b.53f5b8"]]},{"id":"eeddc24a.6b906","type":"inject","z":"ac8e6886.bb30d8","name":"Stoerung S6","topic":"","payload":"Stoerung S 6","payloadType":"str","repeat":"","crontab":"","once":false,"x":120,"y":1113,"wires":[["4098f735.9c3178"]]},{"id":"9f1e6673.1eeb18","type":"delay","z":"ac8e6886.bb30d8","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"hours","rate":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":495,"y":932,"wires":[["9ba483b1.ed668"]]},{"id":"9ba483b1.ed668","type":"change","z":"ac8e6886.bb30d8","name":"Off Signal","rules":[{"t":"set","p":"payload","pt":"msg","to":"off","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":933,"wires":[["debe5375.8c6a1"]]},{"id":"c181a726.f2c048","type":"comment","z":"ac8e6886.bb30d8","name":"Bahnstrungen","info":"","x":116,"y":885,"wires":[]},{"id":"e567deec.e0029","type":"function","z":"ac8e6886.bb30d8","name":"Rain ?","func":"// OpenWeatherMap JSON Antwort parsen\n//var Wetter=JSON.parse(msg.payload);\n\nvar x=1;\nvar wetter = msg.payload.list[x].weather[0].description;\nvar Niederschlag = msg.payload.list[x].weather[0].main;\nvar Zeit = msg.payload.list[x].dt_txt;\nvar MaxTemp = msg.payload.list[x].main.temp_max;\nvar TempColor = \",0,0,210\"; //kalt\nvar Umbrella = global.get(\"Regenschirm\") + global.get(\"off_day\");\nvar Thermometer = global.get(\"Temperatur\") ;\n\nif (MaxTemp > 14){\n    TempColor = \",140,0,140\"; //normale Jacke\n    if (MaxTemp > 21){\n        TempColor = \",210,0,0\"; //kurze Hose\n    }\n}\nif (Niederschlag == \"Rain\"){\n    Umbrella = global.get(\"Regenschirm\") + \",0,0,210\";\n}\n\nvar newMsg = [{payload:Umbrella},{payload:Thermometer + TempColor},{payload:MaxTemp +\"C, \" + wetter + \" @ \" + Zeit}];\nreturn newMsg;","outputs":"3","noerr":0,"x":1166.0000610351562,"y":1325.0000610351562,"wires":[["bae7793b.53f5b8","f36d5050.e0b4c"],["f36d5050.e0b4c","bae7793b.53f5b8"],["c7363377.7472f","f36d5050.e0b4c"]]},{"id":"4a763413.2ffd7c","type":"inject","z":"ac8e6886.bb30d8","name":"Half hour inquiry","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"*/30 6-21 * * *","once":false,"x":208.00003814697266,"y":1330.0000610351562,"wires":[["7081c90a.e87e98"]]},{"id":"79d628b9.25c728","type":"comment","z":"ac8e6886.bb30d8","name":"Openweather API","info":"40725d77ad80e97865f7c058c115fb86","x":123.00003814697266,"y":1245,"wires":[]},{"id":"7081c90a.e87e98","type":"http request","z":"ac8e6886.bb30d8","name":"Wetherforecast","method":"GET","ret":"obj","url":"http://api.openweathermap.org/data/2.5/forecast?q=Zurich,ch&units=metric&mode=json&APPID=40725d77ad80e97865f7c058c115fb86","x":533.0000610351562,"y":1333.0000610351562,"wires":[["e567deec.e0029","1bff1583.ea4b2a"]]},{"id":"c7363377.7472f","type":"ui_text","z":"ac8e6886.bb30d8","tab":"602ea838.e62368","name":"Rain","group":"Weather","order":1,"format":"{{msg.payload}}","x":1449.514892578125,"y":1331.7900390625,"wires":[]},{"id":"f36d5050.e0b4c","type":"debug","z":"ac8e6886.bb30d8","name":"","active":false,"console":"false","complete":"false","x":1359.8368682861328,"y":1446.0000579033374,"wires":[]},{"id":"8e6c2332.046b7","type":"debug","z":"ac8e6886.bb30d8","name":"","active":true,"console":"false","complete":"false","x":983,"y":778,"wires":[]},{"id":"3f4d79a4.1f7e86","type":"http request","z":"ac8e6886.bb30d8","name":"Actual Weather","method":"GET","ret":"obj","url":"api.openweathermap.org/data/2.5/weather?q=Baden,ch&units=metric&mode=json&APPID=40725d77ad80e97865f7c058c115fb86","x":468,"y":1534,"wires":[["40803f69.1238d","e944b9de.baa138"]]},{"id":"a2c5b853.5ff998","type":"inject","z":"ac8e6886.bb30d8","name":"Fahrradwetter","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"*/15 7 * * 1,2,3,4,5","once":false,"x":224,"y":1533,"wires":[["3f4d79a4.1f7e86"]]},{"id":"40803f69.1238d","type":"debug","z":"ac8e6886.bb30d8","name":"","active":true,"console":"false","complete":"false","x":684,"y":1607,"wires":[]},{"id":"e944b9de.baa138","type":"function","z":"ac8e6886.bb30d8","name":"Fahrrad ?","func":"// OpenWeatherMap JSON Antwort parsen\n//var Wetter=JSON.parse(msg.payload);\n\nvar wetter = msg.payload.weather[0].description;\nvar Niederschlag = msg.payload.weather[0].main;\nvar MaxTemp = msg.payload.main.temp_max;\nvar Cycle = global.get(\"Fahrrad\") + \",210,0,0\";\n\n\nif ((MaxTemp > 8) && (Niederschlag != \"Rain\")){\n    Cycle = global.get(\"Fahrrad\") + \",0,210,0\";\n}\n\n\nvar newMsg = {payload:Cycle};\nreturn newMsg;","outputs":"1","noerr":0,"x":672,"y":1535,"wires":[["40803f69.1238d","a037ba9.eb91f48"]]},{"id":"1bff1583.ea4b2a","type":"debug","z":"ac8e6886.bb30d8","name":"","active":false,"console":"false","complete":"false","x":714,"y":1413,"wires":[]},{"id":"a037ba9.eb91f48","type":"trigger","z":"ac8e6886.bb30d8","op1":"On","op2":"Off","op1type":"pay","op2type":"val","duration":"20","extend":true,"units":"min","reset":"","name":"","x":872.4999694824219,"y":1536.6666259765625,"wires":[["2f924694.1ab86a"]]}]