[{"id":"fac25a56.bab388","type":"inject","z":"2e23a186.3fdb7e","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":130,"y":140,"wires":[["3ccd4874.2ba598"]]},{"id":"3ccd4874.2ba598","type":"function","z":"2e23a186.3fdb7e","name":"Set YOUR DaskSky APIKEY","func":"// get ur key here //https://www.wunderground.com/member/api-keys\n// or https://darksky.net/dev\nflow.set(\"WAPIKEY\",\"3bb84459e7c76e4c4d81cabe2e7448a0\")\nmsg.payload=\"Weather key set !\"\nreturn msg;","outputs":1,"noerr":0,"x":440,"y":140,"wires":[["be8350f1.59c06"]]},{"id":"be8350f1.59c06","type":"debug","z":"2e23a186.3fdb7e","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":690,"y":140,"wires":[]},{"id":"405e4984.dfc1c8","type":"http request","z":"2e23a186.3fdb7e","name":"","method":"GET","ret":"txt","paytoqs":false,"url":"","tls":"","proxy":"","authType":"","x":710,"y":260,"wires":[["130a590c.cbf627","43218e08.ca6f"]]},{"id":"f986dc0e.bded2","type":"inject","z":"2e23a186.3fdb7e","name":"GetMyLocalWeather from DarkSky","topic":"","payload":"","payloadType":"date","repeat":"30","crontab":"","once":false,"onceDelay":0.1,"x":200,"y":260,"wires":[["c2c8aef6.5e06a"]]},{"id":"c2c8aef6.5e06a","type":"function","z":"2e23a186.3fdb7e","name":"get my local weather","func":"myapikey=flow.get(\"WAPIKEY\") ||\"\"\nif(myapikey == \"\")\nnode.warn(\"Please set your DarkSky api 1st\")\n//43.6686829,-79.3963467\nmsg.url=\"https://api.darksky.net/forecast/3bb84459e7c76e4c4d81cabe2e7448a0/43.668,-79.396?exclude=minutely,hourly,daily,alerts,flags&units=auto\"\n\n\nreturn msg;","outputs":1,"noerr":0,"x":460,"y":260,"wires":[["405e4984.dfc1c8"]]},{"id":"542d3cdf.727a24","type":"debug","z":"2e23a186.3fdb7e","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":930,"y":320,"wires":[]},{"id":"130a590c.cbf627","type":"http response","z":"2e23a186.3fdb7e","name":"","statusCode":"","headers":{},"x":930,"y":260,"wires":[]},{"id":"43218e08.ca6f","type":"json","z":"2e23a186.3fdb7e","name":"","property":"payload","action":"","pretty":false,"x":690,"y":320,"wires":[["542d3cdf.727a24","22a9848f.fd89ec"]]},{"id":"e8220770.2bced8","type":"comment","z":"2e23a186.3fdb7e","name":"darksky ","info":"https://api.darksky.net/forecast/3bb84459e7c76e4c4d81cabe2e7448a0/43.674,-79.658?exclude=minutely,hourly,daily,alerts,flags&units=auto\n\nhttps://darksky.net/forecast/43.6714,-79.404/us12/en\n\nhttps://darksky.net/dev/account\n","x":90,"y":80,"wires":[]},{"id":"dcaf1cef.7cd13","type":"inject","z":"2e23a186.3fdb7e","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":130,"y":180,"wires":[["fc0be191.11b51"]]},{"id":"fc0be191.11b51","type":"function","z":"2e23a186.3fdb7e","name":"Set YOUR Chromcast IP","func":"// get ur key here //https://www.wunderground.com/member/api-keys\n// or https://darksky.net/dev\nflow.set(\"CHROMECAST\",\"10.0.4.74\")\nmsg.payload=\"CHROMECAST IP set !\"\nreturn msg;","outputs":1,"noerr":0,"x":450,"y":180,"wires":[["fd84f5ba.42ac58"]]},{"id":"fd84f5ba.42ac58","type":"debug","z":"2e23a186.3fdb7e","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":710,"y":180,"wires":[]},{"id":"2c6a865c.9eba8a","type":"inject","z":"2e23a186.3fdb7e","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":130,"y":220,"wires":[["999d0691.4c9e08"]]},{"id":"999d0691.4c9e08","type":"function","z":"2e23a186.3fdb7e","name":"Set YOUR Local IP","func":"// get ur key here //https://www.wunderground.com/member/api-keys\n// or https://darksky.net/dev\nflow.set(\"LOCALIP\",\"10.0.4.104\")\nmsg.payload=\"localip IP set !\"\nreturn msg;","outputs":1,"noerr":0,"x":470,"y":220,"wires":[["81cb7068.f7898"]]},{"id":"81cb7068.f7898","type":"debug","z":"2e23a186.3fdb7e","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":710,"y":220,"wires":[]},{"id":"e4f2dff9.64573","type":"debug","z":"2e23a186.3fdb7e","name":"LocalWeather","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":960,"y":380,"wires":[]},{"id":"22a9848f.fd89ec","type":"function","z":"2e23a186.3fdb7e","name":"set local Temperature","func":"node.warn(msg.payload.currently)\n\n/*\n{\"temp\":5,\"heatIndex\":5,\"dewpt\":-4,\"windChill\":null,\"windSpeed\":null,\"windGust\":null,\"pressure\":1026.75,\"precipRate\":null,\"precipTotal\":null,\"elev\":3}\n*/\n\nmsg.payload.currently.mytime=Date.now()\n\nglobal.set(\"localtemp-ds\",msg.payload.currently.temperature)\n\nnode.warn(\"Annex temp = \"+global.get(\"localtemp-ds\"))\nmsg.payload.currently.mytemp=msg.payload.currently.temperature\nmsg.payload.currently.myhumidity=msg.payload.currently.humidity\nmsg.payload.currently.mypressure=msg.payload.currently.pressure\n\nglobal.set(\"localweather-ds\",msg.payload.currently);\nreturn msg;\n","outputs":1,"noerr":0,"x":620,"y":380,"wires":[["e4f2dff9.64573"]]},{"id":"945d60a4.78548","type":"chromecast-play","z":"2e23a186.3fdb7e","name":"Say It","url":"","contentType":"","ip":"","x":930,"y":480,"wires":[[]]},{"id":"2c528f36.200df","type":"inject","z":"2e23a186.3fdb7e","name":"Cast a Hello Test","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":"","x":380,"y":480,"wires":[["6f17edae.c1a474"]]},{"id":"6f17edae.c1a474","type":"function","z":"2e23a186.3fdb7e","name":"Hello World","func":"var d = new Date();\nd.toLocaleString(); // -> \"2/1/2013 7:37:08 AM\"\nd.toLocaleDateString(); // -> \"2/1/2013\"\ntime = d.toLocaleTimeString();\n nowArray = time.split(':');\n time = 'Hello World, It+is+now '+nowArray[0]+':'+nowArray[1];\n\n\nurl = 'https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&tl=en&q='+time\n//url = 'https://translate.google.com/translate_tts?ie=UTF-8&q='+time+'&tl=en&total=1&idx=0&textlen='+time1.length+'&tk=955860.581808&client=t&prev=input&ttsspeed=1',\n // url = 'https://translate.google.com/translate_tts?ie=UTF-8&q=Hello&tl=en&total=1&idx=0&textlen=5&tk=955860.581808&client=t&prev=input&ttsspeed=1'\nmsg.payload = {\n ip_address: flow.get(\"CHROMECAST\"),\n ip: flow.get(\"CHROMECAST\"),\n url: url,\n contentType: 'audio/mp3'\n}\nreturn msg;\n","outputs":1,"noerr":0,"x":590,"y":480,"wires":[["945d60a4.78548"]]},{"id":"72f65863.f34028","type":"function","z":"2e23a186.3fdb7e","name":"Broadcast local Temperature","func":"url = 'https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&tl=en&q=Local temperature is now '+ global.get(\"localtemp-ds\") +\" degree's !\"\nmsg.payload = {\n ip_address: flow.get(\"CHROMECAST\"),\n ip: flow.get(\"CHROMECAST\"),\n url: url,\n contentType: 'audio/mp3'\n}\nreturn msg;\n","outputs":1,"noerr":0,"x":640,"y":440,"wires":[["945d60a4.78548"]]},{"id":"94fcfd12.a58f6","type":"inject","z":"2e23a186.3fdb7e","name":"ChromeCastWeather","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":"","x":370,"y":440,"wires":[["72f65863.f34028"]]},{"id":"8781c0c3.8eab6","type":"comment","z":"2e23a186.3fdb7e","name":"ChromeCast tts","info":"","x":140,"y":520,"wires":[]},{"id":"a2308f62.f945c","type":"http request","z":"2e23a186.3fdb7e","name":"","method":"GET","ret":"txt","paytoqs":false,"url":"","tls":"","proxy":"","authType":"","x":650,"y":740,"wires":[["8ec719f.2f16ee8"]]},{"id":"91dcb569.49f3b8","type":"inject","z":"2e23a186.3fdb7e","name":"GetMyAirPortWeather","topic":"","payload":"","payloadType":"date","repeat":"30","crontab":"","once":false,"onceDelay":0.1,"x":140,"y":740,"wires":[["762906a.1604cf8"]]},{"id":"762906a.1604cf8","type":"function","z":"2e23a186.3fdb7e","name":"get my Airport weather","func":"myapikey=flow.get(\"WAPIKEY\") ||\"\"\nif(myapikey == \"\")\nnode.warn(\"Please set you dark sky api 1st\")\n//43.670,-79.439\nmsg.url=\"https://api.darksky.net/forecast/3bb84459e7c76e4c4d81cabe2e7448a0/43.670,-79.439?exclude=minutely,hourly,daily,alerts,flags&units=auto\"\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":740,"wires":[["a2308f62.f945c"]]},{"id":"8ec719f.2f16ee8","type":"json","z":"2e23a186.3fdb7e","name":"","property":"payload","action":"","pretty":false,"x":630,"y":800,"wires":[["fc261f45.1d2bd","c07dde69.af17f"]]},{"id":"fc261f45.1d2bd","type":"debug","z":"2e23a186.3fdb7e","name":"AirportWeather","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":960,"y":800,"wires":[]},{"id":"c07dde69.af17f","type":"function","z":"2e23a186.3fdb7e","name":"set airport Temperature","func":"//node.warn(msg.payload)\n\n/*\n{\"temp\":5,\"heatIndex\":5,\"dewpt\":-4,\"windChill\":null,\"windSpeed\":null,\"windGust\":null,\"pressure\":1026.75,\"precipRate\":null,\"precipTotal\":null,\"elev\":3}\n\n\n*/\n\nglobal.set(\"airporttemp-ds\",msg.payload.currently.temperature)\nnode.warn(\"Airport temp = \"+global.get(\"airporttemp-ds\"))\n\nmsg.payload.currently.myairporttemp=msg.payload.currently.temperature\nmsg.payload.currently.myphrase=msg.payload.currently.summary\ngust=msg.payload.currently.windGust\nif(gust==null)\ngust=msg.payload.currently.windSpeed\n\nmsg.payload.currently.mygust=gust\nmsg.payload.currently.mytime=Date.now()\nmsg.payload.currently.mytemp=msg.payload.currently.temperature\nmsg.payload.currently.myhumidity=msg.payload.currently.humidity\nmsg.payload.currently.mypressure=msg.payload.currently.pressure\nmsg.payload.currently.myfeel=msg.payload.currently.apparentTemperature\nmsg.payload.currently.mysummery=msg.payload.currently.summary\nglobal.set(\"airportweather-ds\",msg.payload.currently);\n\nmsg.payload=msg.payload.currently\nreturn msg;\n","outputs":1,"noerr":0,"x":570,"y":840,"wires":[["538375d8.7576bc"]]},{"id":"781a8a89.0a90e4","type":"function","z":"2e23a186.3fdb7e","name":"Say Time,Local temp and airport conditions","func":"var d = new Date();\nd.toLocaleString(); // -> \"2/1/2013 7:37:08 AM\"\nd.toLocaleDateString(); // -> \"2/1/2013\"\ntime = d.toLocaleTimeString('en-US');\n nowArray = time.split(':');\n time = nowArray[0]+':'+nowArray[1];\n ampm = nowArray[2].split(' ');\n time = nowArray[0]+':'+nowArray[1]+\" \"+ampm[1];\n\nmsg.payload = \"It is now \" + time\n\nglobal.get(\"localtemp\")\n\n//msg.payload ={}/\n///msg.payload.temp = msg.observation.temp\nlocaltemp = Math.round(global.get(\"localtemp-ds\"))\nairporttemp = Math.round(global.get(\"airporttemp-ds\"))\nairportweather = global.get(\"airportweather-ds\")\ncloudCoverPhrase=airportweather.myphrase\ngust=Math.round(airportweather.mygust)\n\nmsg.payload = msg.payload + \", the local temperature is \"+localtemp+\" degrees , the Airport temperature is \" + airporttemp + \", and \"+cloudCoverPhrase + \" with wind gusts of \"+gust + \" kilometer per hour. \"\nnode.warn(msg.payload )\n\nflow.set(\"weathertext\",msg.payload)\nurl = 'https://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&tl=en&q='+msg.payload \nmsg.payload = {\n ip_address: flow.get(\"CHROMECAST\"),\n ip: flow.get(\"CHROMECAST\"),\n url: url,\n contentType: 'audio/mp3'\n}\nreturn msg;\n\n","outputs":1,"noerr":0,"x":630,"y":880,"wires":[["538375d8.7576bc","8fe28d49.66ed"]]},{"id":"538375d8.7576bc","type":"debug","z":"2e23a186.3fdb7e","name":"AirportWeather","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":960,"y":840,"wires":[]},{"id":"8fe28d49.66ed","type":"chromecast-play","z":"2e23a186.3fdb7e","name":"Say It","url":"","contentType":"","ip":"","x":930,"y":880,"wires":[[]]},{"id":"a5553ef2.c3fbb","type":"inject","z":"2e23a186.3fdb7e","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":320,"y":880,"wires":[["781a8a89.0a90e4"]]},{"id":"d162181d.248998","type":"function","z":"2e23a186.3fdb7e","name":"Broadcast local Temperature","func":"var d = new Date();\nd.toLocaleString(); // -> \"2/1/2013 7:37:08 AM\"\nd.toLocaleDateString(); // -> \"2/1/2013\"\ntime = d.toLocaleTimeString('en-US');\n nowArray = time.split(':');\n time = nowArray[0]+':'+nowArray[1];\n ampm = nowArray[2].split(' ');\n time = nowArray[0]+':'+nowArray[1]+\" \"+ampm[1];\n\nmsg.payload = \"It is now \" + time\n\n\n//msg.payload ={}/\n///msg.payload.temp = msg.observation.temp\nlocaltemp = Math.round(global.get(\"localtemp-ds\"))\nairporttemp = global.get(\"airporttemp-ds\")\n\nmsg.payload = msg.payload + \", the local temperature is \"+localtemp+\" degrees\"\nreturn msg;\n","outputs":1,"noerr":0,"x":640,"y":520,"wires":[["7a4dbca2.79e714"]]},{"id":"abbada01.7e9b58","type":"inject","z":"2e23a186.3fdb7e","name":"Use Alexa to Boardcast","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":"","x":360,"y":520,"wires":[["d162181d.248998"]]},{"id":"7fbaac0b.44ebf4","type":"comment","z":"2e23a186.3fdb7e","name":"Alexa tts","info":"","x":120,"y":560,"wires":[]},{"id":"b861b4d9.0aefd8","type":"alexa-remote-routine","z":"2e23a186.3fdb7e","name":"","account":"ed1a641e.824f08","routineNode":{"type":"speak","payload":{"type":"regular","text":{"type":"msg","value":"payload"},"devices":["G070QQ1090360B8G"]}},"x":960,"y":920,"wires":[[]]},{"id":"f867b27f.812b2","type":"inject","z":"2e23a186.3fdb7e","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":"","x":320,"y":920,"wires":[["adae97db.a3b3e8"]]},{"id":"adae97db.a3b3e8","type":"function","z":"2e23a186.3fdb7e","name":"Say Time,Local temp and airport conditions","func":"var d = new Date();\nd.toLocaleString(); // -> \"2/1/2013 7:37:08 AM\"\nd.toLocaleDateString(); // -> \"2/1/2013\"\ntime = d.toLocaleTimeString('en-US');\n nowArray = time.split(':');\n time = nowArray[0]+':'+nowArray[1];\n ampm = nowArray[2].split(' ');\n time = nowArray[0]+':'+nowArray[1]+\" \"+ampm[1];\n\nmsg.payload = \"It is now \" + time\n\nglobal.get(\"localtemp\")\n\n//msg.payload ={}/\n///msg.payload.temp = msg.observation.temp\nlocaltemp = Math.round(global.get(\"localtemp-ds\"))\nairporttemp = Math.round(global.get(\"airporttemp-ds\"))\nairportweather = global.get(\"airportweather-ds\")\ncloudCoverPhrase=airportweather.myphrase\ngust=Math.round(airportweather.mygust)\n\nmsg.payload = msg.payload + \", the local temperature is \"+localtemp+\" degrees , the Airport temperature is \" + airporttemp + \", and \"+cloudCoverPhrase + \" with wind gusts of \"+gust + \" kilometers per hour. \"\nnode.warn(msg.payload )\n\n\nreturn msg;\n","outputs":1,"noerr":0,"x":630,"y":920,"wires":[["b861b4d9.0aefd8"]]},{"id":"f29f3f4e.b9c1","type":"inject","z":"2e23a186.3fdb7e","name":"TriggerHourly","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":"","x":110,"y":380,"wires":[["c2c8aef6.5e06a","762906a.1604cf8"]]},{"id":"b279adda.dddc2","type":"comment","z":"2e23a186.3fdb7e","name":"Choose Alexa/Chrome or booth ","info":"","x":150,"y":840,"wires":[]},{"id":"e0e5af40.25556","type":"alexa-remote-init","z":"2e23a186.3fdb7e","name":"","account":"ed1a641e.824f08","option":"initialise","x":580,"y":580,"wires":[["4049d27.0452c2c"]]},{"id":"77e5524b.7b0dec","type":"inject","z":"2e23a186.3fdb7e","name":"","topic":"","payload":"alexa","payloadType":"flow","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":380,"y":580,"wires":[["e0e5af40.25556"]]},{"id":"4049d27.0452c2c","type":"change","z":"2e23a186.3fdb7e","name":"","rules":[{"t":"set","p":"alexa","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":740,"y":580,"wires":[["4493d06f.9fba1"]]},{"id":"4493d06f.9fba1","type":"debug","z":"2e23a186.3fdb7e","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":950,"y":580,"wires":[]},{"id":"21d7dec3.5f8fc2","type":"link in","z":"2e23a186.3fdb7e","name":"","links":["4c313e76.d458"],"x":355,"y":960,"wires":[["adae97db.a3b3e8"]]},{"id":"7a4dbca2.79e714","type":"alexa-remote-routine","z":"2e23a186.3fdb7e","name":"","account":"ed1a641e.824f08","routineNode":{"type":"speak","payload":{"type":"regular","text":{"type":"msg","value":"payload"},"devices":["G070QQ1090360B8G"]}},"x":960,"y":520,"wires":[[]]},{"id":"ed1a641e.824f08","type":"alexa-remote-account","z":"","name":"","authMethod":"proxy","proxyOwnIp":"10.0.4.104","proxyPort":"3456","cookieFile":"","refreshInterval":"3","alexaServiceHost":"pitangui.amazon.com","amazonPage":"amazon.com","acceptLanguage":"en-US","userAgent":"","useWsMqtt":"off","autoInit":"on"}]