NRMetric Flow

This is the Node Red flow for a WS8212b based matrix display driven by an ESP8266. This flow is responsible for collecting information for the display and transferring the data across to the ESP.

You can see a long detailed video about this flow here: https://youtu.be/sclpkjI_Mo4

There is also a shorter summary video on the entire project here: https://youtu.be/ciXnR66AKC0

[{"id":"cb01a5f.948b458","type":"tab","label":"NRMetric","disabled":false,"info":""},{"id":"9e119f45.bab4e","type":"inject","z":"cb01a5f.948b458","name":"Every 2h","topic":"","payload":"","payloadType":"date","repeat":"7200","crontab":"","once":false,"x":100,"y":80,"wires":[["c1ca96bf.0cd568"]]},{"id":"c1ca96bf.0cd568","type":"http request","z":"cb01a5f.948b458","name":"Youtube Channel List","method":"GET","ret":"txt","url":"https://www.googleapis.com/youtube/v3/channels?part=statistics&id=CHANNEL_ID&key=API_KEY","tls":"","x":360,"y":80,"wires":[["b68c0ade.9c13b8"]]},{"id":"b68c0ade.9c13b8","type":"json","z":"cb01a5f.948b458","name":"","x":550,"y":80,"wires":[["55702d88.9a6e94"]]},{"id":"284fbaaf.5e0436","type":"debug","z":"cb01a5f.948b458","name":"","active":false,"console":"false","complete":"true","x":1530,"y":140,"wires":[]},{"id":"55702d88.9a6e94","type":"change","z":"cb01a5f.948b458","name":"Provider","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"youtube_subscribers","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":80,"wires":[["6fab29fa.f91308"]]},{"id":"6fab29fa.f91308","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"payload.items[0].statistics.subscriberCount","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":840,"y":80,"wires":[["dc5087cb.e53b08"]]},{"id":"dc5087cb.e53b08","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"4","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":990,"y":80,"wires":[["a13f195d.58d9d8"]]},{"id":"178b7141.3c619f","type":"inject","z":"cb01a5f.948b458","name":"Mornings","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"*/10 6-7 * * 1,2,3,4,5","once":false,"x":110,"y":160,"wires":[["4de34a32.2b31e4"]]},{"id":"4a4535c3.1ba89c","type":"http request","z":"cb01a5f.948b458","name":"Kindergarden travel","method":"GET","ret":"txt","url":"https://maps.googleapis.com/maps/api/distancematrix/json?origins=SOURCE_ADDRESS&destinations=DESTINATION_ADDRESS&key=API_KEY&mode=driving&units=metric&departure_time=now","tls":"","x":370,"y":260,"wires":[["d73a98d.cf2df68"]]},{"id":"d73a98d.cf2df68","type":"json","z":"cb01a5f.948b458","name":"","x":570,"y":260,"wires":[["28e02992.47ada6"]]},{"id":"ba829d46.93034","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"$replace(payload.rows[0].elements[0].duration_in_traffic.text,\" mins\",\"p\")","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":260,"wires":[["30fde8d7.b40a68"]]},{"id":"30fde8d7.b40a68","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"7","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":260,"wires":[["11d6e9e3.63ced6"]]},{"id":"402fdc2f.0a83c4","type":"inject","z":"cb01a5f.948b458","name":"Every 1h","topic":"","payload":"","payloadType":"date","repeat":"3600","crontab":"","once":false,"x":105,"y":450,"wires":[["31e9334f.68831c"]]},{"id":"31e9334f.68831c","type":"http request","z":"cb01a5f.948b458","name":"Forecast IO","method":"GET","ret":"txt","url":"https://api.darksky.net/forecast/API_KEY/LAT,LONG?exclude=hourly,alerts,flags&units=ca","tls":"","x":281.0000114440918,"y":449.2500190734863,"wires":[["eab76bf.dd9df98"]]},{"id":"eab76bf.dd9df98","type":"json","z":"cb01a5f.948b458","name":"","x":459.5000305175781,"y":449.0000190734863,"wires":[["b479afeb.8eff9","672c2dac.dd2e94","1f5351ad.0f100e","47fbbbc0.f79dd4","b7de29a0.0aaf38","8bcacc81.e2028","de56edc7.e75bc","2d30f5f3.61225a","5b800211.20df6c","bc16baf2.efbd88","64539b92.5b3aa4","b8abecdf.53e29","811dc8f9.1a7118","ec66636d.dfd75","b364a30c.520cb"]]},{"id":"37971688.38b6ea","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"$round(msg.payload.daily.data[0].temperatureMin,1) & \"C\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":460,"wires":[["974805df.99be28"]]},{"id":"974805df.99be28","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"11","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":460,"wires":[["16c511e5.ed85be"]]},{"id":"cfbe1512.27f158","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"$round(msg.payload.daily.data[0].temperatureMax,1) & \"C\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":500,"wires":[["c7f52b42.37f9d8"]]},{"id":"c7f52b42.37f9d8","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"10","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":500,"wires":[["42d54382.a356dc"]]},{"id":"49d0d276.097f4c","type":"http request","z":"cb01a5f.948b458","name":"","method":"GET","ret":"txt","url":"","tls":"","x":870,"y":1720,"wires":[["1ef3757c.8a5f0b","14539d4b.6dda03"]]},{"id":"b03ef6f5.cea938","type":"function","z":"cb01a5f.948b458","name":"Core","func":"// This topic sent by all providers to update the data in the context\nif (msg.topic===\"provider_update\") {\n\n    context.set(msg.display.provider,{\"content\" : msg.display.content, \"icon\": msg.display.icon, \"color\": msg.display.color});\n    node.status({fill:\"blue\",shape:\"ring\",text:\"Provider \"+msg.display.provider+\" stored\"});\n}\n\n// This topic is sent when the recipe is updated\nif (msg.topic===\"recipe_update\") {\n    context.set(\"recipe\",msg.payload);\n    node.status({fill:\"blue\",shape:\"ring\",text:\"Recipe stored\"});\n}\n\n// This topic is triggered by the display when it completes the cycle and requests updated value to be sent#\n// In this case the first page of the recipe is sent\nif (msg.topic===\"update_request\") {\n    var recipe = context.get(\"recipe\");\n    if (recipe!==undefined) {\n        context.set(\"ip\",msg.payload); // save the IP address for later\n        if (recipe!==undefined) {\n            var provider = context.get(recipe.recipe[0].provider);\n            if (provider===undefined) {\n                provider = {\"icon\":0, \"color\":7, \"content\":\"empty\" };\n            }\n            msg.url = \"http://\" + msg.payload + \"/update?id=0&gfx=\" + provider.icon + \"&color=\" + provider.color + \"&duration=\" + recipe.recipe[0].duration + \"&text=\" + provider.content;\n            msg.payload = \"\";\n            msg.topic = \"update|0\";\n            node.status({fill:\"blue\",shape:\"ring\",text:msg.topic+\" sent\"});\n            return msg;\n        }\n    }\n}\n\n// Messages with a pipe in the topic are redirected back from the HTTP request, to trigger the sending of the next page \nif (msg.topic.indexOf(\"|\") !== -1) {\n    var currentPage = parseInt(msg.topic.substring(msg.topic.indexOf(\"|\")+1),10);\n    currentPage++;\n    var recipe = context.get(\"recipe\");\n    if (recipe!==undefined) {\n        if (currentPage===recipe.recipe.length) {\n            // All the pages are sent send the maxpage value and stop\n            msg.url = \"http://\" + context.get(\"ip\") + \"/update?maxpage=\" + (currentPage-1);\n            msg.payload = \"\";\n            msg.topic = \"maxpage\";\n            node.status({fill:\"blue\",shape:\"ring\",text:msg.topic+\" sent\"});\n            return msg;\n        } else {\n            // Send the next page\n            var provider = context.get(recipe.recipe[currentPage].provider);\n            if (provider===undefined) {\n                provider = {\"icon\":0, \"color\":7, \"content\":\"empty\" };\n            }\n            msg.url = \"http://\" + context.get(\"ip\") + \"/update?id=\" + currentPage + \"&gfx=\" + provider.icon + \"&color=\" + provider.color + \"&duration=\" + recipe.recipe[currentPage].duration + \"&text=\" + provider.content;\n            msg.payload = \"\";\n            msg.topic = \"update|\"+currentPage;\n            node.status({fill:\"blue\",shape:\"ring\",text:msg.topic+\" sent\"});\n            return msg;\n        }\n    }\n}\n\n\n\n","outputs":1,"noerr":0,"x":644.8998794555664,"y":1776.7999906539917,"wires":[["37397a2a.c37e26","49d0d276.097f4c"]]},{"id":"b45ca37c.387ff","type":"inject","z":"cb01a5f.948b458","name":"Default","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":true,"x":120,"y":2620,"wires":[["5b4e4d63.65a174"]]},{"id":"f69eb571.80ff48","type":"change","z":"cb01a5f.948b458","name":"Set Topic","rules":[{"t":"set","p":"topic","pt":"msg","to":"provider_update","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1500,"y":1100,"wires":[["b03ef6f5.cea938","284fbaaf.5e0436","56379a41.57a564"]]},{"id":"28e02992.47ada6","type":"change","z":"cb01a5f.948b458","name":"Provider","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"travel_vitamaxi","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":720,"y":260,"wires":[["ba829d46.93034"]]},{"id":"b479afeb.8eff9","type":"change","z":"cb01a5f.948b458","name":"Today Temp Min","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"today_tempmin","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":640,"y":460,"wires":[["37971688.38b6ea"]]},{"id":"672c2dac.dd2e94","type":"change","z":"cb01a5f.948b458","name":"Today Temp Max","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"today_tempmax","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":500,"wires":[["cfbe1512.27f158"]]},{"id":"a13f195d.58d9d8","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":80,"wires":[["f69eb571.80ff48"]]},{"id":"11d6e9e3.63ced6","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":260,"wires":[["f69eb571.80ff48"]]},{"id":"16c511e5.ed85be","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"msg.payload.daily.data[0].temperatureMin > 0 ? 0 : 4","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":460,"wires":[["f69eb571.80ff48"]]},{"id":"42d54382.a356dc","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"msg.payload.daily.data[0].temperatureMax > 0 ? 0 : 4","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":500,"wires":[["f69eb571.80ff48"]]},{"id":"81d3128a.ec9c8","type":"change","z":"cb01a5f.948b458","name":"Set topic","rules":[{"t":"set","p":"topic","pt":"msg","to":"recipe_update","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":457.8998489379883,"y":1804.7999725341797,"wires":[["b03ef6f5.cea938","21a83e85.d83922"]]},{"id":"c5f10ff4.97b9b","type":"inject","z":"cb01a5f.948b458","name":"","topic":"","payload":"192.168.1.116","payloadType":"str","repeat":"","crontab":"","once":false,"x":167.89984893798828,"y":1704.7999725341797,"wires":[["636f35f5.c64f0c"]]},{"id":"37397a2a.c37e26","type":"debug","z":"cb01a5f.948b458","name":"","active":false,"console":"false","complete":"true","x":905.8998870849609,"y":1770.7999925613403,"wires":[]},{"id":"1ef3757c.8a5f0b","type":"delay","z":"cb01a5f.948b458","name":"","pauseType":"delay","timeout":"10","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":764.3999481201172,"y":1896.8000555038452,"wires":[["b03ef6f5.cea938"]]},{"id":"14539d4b.6dda03","type":"switch","z":"cb01a5f.948b458","name":"","property":"statusCode","propertyType":"msg","rules":[{"t":"neq","v":"200","vt":"num"}],"checkall":"true","outputs":1,"x":1069.8999099731445,"y":1714.7999992370605,"wires":[[]]},{"id":"95e44701.7e2e58","type":"function","z":"cb01a5f.948b458","name":"Diagnostic log","func":"msg.payload = \"HTTP error: \"+msg.statusCode;\nmsg.system = 20; // System id, use 1 for Dummy\n//msg.state = 70; // specify if the message is to change system status\nmsg.severity = 1; // 0: information, 1: warning, 2: error\n//msg.email = true; // if separate email should be sent\n//msg.emailtext = \"\"; this a long text which goes into the email\nreturn msg;","outputs":1,"noerr":0,"x":1246.149917602539,"y":1716.0499992370605,"wires":[["549703ca.3d50ac"]]},{"id":"549703ca.3d50ac","type":"link out","z":"cb01a5f.948b458","name":"","links":["13e089a7.73cb46"],"x":1381.8999309539795,"y":1716.0500001907349,"wires":[]},{"id":"50e7def9.0f6be","type":"mqtt in","z":"cb01a5f.948b458","name":"","topic":"/nrmetric/update","qos":"0","broker":"cea5258a.b34038","x":149.89986419677734,"y":1639.7999696731567,"wires":[["636f35f5.c64f0c"]]},{"id":"636f35f5.c64f0c","type":"change","z":"cb01a5f.948b458","name":"Update request","rules":[{"t":"set","p":"topic","pt":"msg","to":"update_request","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":379.89986419677734,"y":1647.2999696731567,"wires":[["b03ef6f5.cea938"]]},{"id":"b499c667.82abe8","type":"mqtt in","z":"cb01a5f.948b458","name":"Growatt MQTT","topic":"/home/growatt","qos":"2","broker":"cea5258a.b34038","x":140,"y":1080,"wires":[["d8cd8fff.4c97b"]]},{"id":"d8cd8fff.4c97b","type":"json","z":"cb01a5f.948b458","name":"","x":304.50000762939453,"y":1080.0000381469727,"wires":[["9f6d7c3b.f6b9e"]]},{"id":"179ce972.06c217","type":"function","z":"cb01a5f.948b458","name":"Content","func":"msg.display.content = (msg.payload.today/1000).toFixed(1) + \"Kwh\";\nreturn msg;","outputs":1,"noerr":0,"x":660,"y":1080,"wires":[["5b7ed36d.5cc5ac"]]},{"id":"9f6d7c3b.f6b9e","type":"change","z":"cb01a5f.948b458","name":"Provider","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"solar_today","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":1080,"wires":[["179ce972.06c217"]]},{"id":"5b7ed36d.5cc5ac","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"24","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":810,"y":1080,"wires":[["85355a88.7ff758"]]},{"id":"85355a88.7ff758","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":1080,"wires":[["f69eb571.80ff48"]]},{"id":"15b78226.530f7e","type":"inject","z":"cb01a5f.948b458","name":"Every 1h","topic":"","payload":"","payloadType":"date","repeat":"3600","crontab":"","once":false,"x":100,"y":260,"wires":[["4de34a32.2b31e4"]]},{"id":"bc463f22.60109","type":"http request","z":"cb01a5f.948b458","name":"Tsystems travel","method":"GET","ret":"txt","url":"https://maps.googleapis.com/maps/api/distancematrix/json?origins=SOURCE_ADDRESS&destinations=DESTINATION_ADDRESS&key=API_KEY&mode=driving&units=metric&departure_time=now","tls":"","x":360,"y":320,"wires":[["51a70d9e.7535b4"]]},{"id":"51a70d9e.7535b4","type":"json","z":"cb01a5f.948b458","name":"","x":570,"y":320,"wires":[["6a23ce48.d8f05"]]},{"id":"67d5ac1a.62db94","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"$replace(payload.rows[0].elements[0].duration_in_traffic.text,\" mins\",\"p\")","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":320,"wires":[["a8fcb4d9.48bb28"]]},{"id":"a8fcb4d9.48bb28","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"8","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":320,"wires":[["50be9058.1fc16"]]},{"id":"6a23ce48.d8f05","type":"change","z":"cb01a5f.948b458","name":"Provider","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"travel_tsystems","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":720,"y":320,"wires":[["67d5ac1a.62db94"]]},{"id":"50be9058.1fc16","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":320,"wires":[["f69eb571.80ff48"]]},{"id":"3f309e54.640a22","type":"mqtt in","z":"cb01a5f.948b458","name":"","topic":"/poolheater/status","qos":"2","broker":"cea5258a.b34038","x":150,"y":1140,"wires":[["504275a9.64186c"]]},{"id":"504275a9.64186c","type":"json","z":"cb01a5f.948b458","name":"","x":310,"y":1140,"wires":[["88d42de2.b9c81"]]},{"id":"a7afa4d9.b174a8","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"payload.pool","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":1140,"wires":[["95309d4.8f54f6"]]},{"id":"88d42de2.b9c81","type":"change","z":"cb01a5f.948b458","name":"Provider","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"temp_patio","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":1140,"wires":[["a7afa4d9.b174a8"]]},{"id":"95309d4.8f54f6","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"9","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":810,"y":1140,"wires":[["eef60f5a.d839c"]]},{"id":"eef60f5a.d839c","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":1140,"wires":[["f69eb571.80ff48"]]},{"id":"b6916ec9.58277","type":"inject","z":"cb01a5f.948b458","name":"Afternoon","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"*/10 15-16 * * 1,2,3,4,5","once":false,"x":110,"y":200,"wires":[["4de34a32.2b31e4"]]},{"id":"972d37d8.8998f8","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"$round(msg.payload.currently.temperature,1) & \"C\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":540,"wires":[["d8ba8dc8.7296b"]]},{"id":"1f5351ad.0f100e","type":"change","z":"cb01a5f.948b458","name":"Current Temp","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"currently_temp","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":640,"y":540,"wires":[["972d37d8.8998f8"]]},{"id":"46fa1d28.ff03a4","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"msg.payload.currently.temperature > 0 ? 0 : 4","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":540,"wires":[["f69eb571.80ff48"]]},{"id":"d8ba8dc8.7296b","type":"function","z":"cb01a5f.948b458","name":"Icon","func":"switch (msg.payload.currently.icon) {\n    case \"clear-day\":\n        msg.display.icon = 13;\n        break;\n    case \"clear-night\":\n        msg.display.icon = 14;\n        break;\n    case \"rain\":\n        msg.display.icon = 15;\n        break;\n    case \"snow\":\n        msg.display.icon = 16;\n        break;\n    case \"sleet\":\n        msg.display.icon = 17;\n        break;\n    case \"wind\":\n        msg.display.icon = 18;\n        break;\n    case \"fog\":\n        msg.display.icon = 19;\n        break;\n    case \"cloudy\":\n        msg.display.icon = 20;\n        break;\n    case \"partly-cloudy-day\":\n        msg.display.icon = 21;\n        break;\n    case \"partly-cloudy-night\":\n        msg.display.icon = 22;\n        break;\n    default:\n        msg.display.icon = 13;\n        break;\n}\nreturn msg;","outputs":1,"noerr":0,"x":1010,"y":540,"wires":[["46fa1d28.ff03a4"]]},{"id":"47fbbbc0.f79dd4","type":"change","z":"cb01a5f.948b458","name":"Today Wind","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"today_wind","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":580,"wires":[["3a050a81.9050e6"]]},{"id":"31baf331.20674c","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":580,"wires":[["f69eb571.80ff48"]]},{"id":"d4fe1bee.6dff38","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"23","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":580,"wires":[["31baf331.20674c"]]},{"id":"d3e3b1d1.01ec5","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"payload.vetel","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":1200,"wires":[["61517d62.69a5f4"]]},{"id":"8c10f50d.afb6b8","type":"change","z":"cb01a5f.948b458","name":"Provider","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"gbp","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":1200,"wires":[["d3e3b1d1.01ec5"]]},{"id":"61517d62.69a5f4","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"12","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":810,"y":1200,"wires":[["4ea24cf5.b66e84"]]},{"id":"4ea24cf5.b66e84","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":1200,"wires":[["f69eb571.80ff48"]]},{"id":"92d7bb8.71e9648","type":"link in","z":"cb01a5f.948b458","name":"NRMetric GBP Vetel","links":["c914bd3.6f9504"],"x":335,"y":1200,"wires":[["8c10f50d.afb6b8"]]},{"id":"3923e0ac.508b2","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"$round(msg.payload.daily.data[1].temperatureMin,1) & \"C\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":700,"wires":[["efebc385.e7a0b"]]},{"id":"efebc385.e7a0b","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"27","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":700,"wires":[["3c819948.60b2c6"]]},{"id":"c50b8d9e.81f98","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"$round(msg.payload.daily.data[1].temperatureMax,1) & \"C\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":740,"wires":[["6ced8d24.832f34"]]},{"id":"6ced8d24.832f34","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"26","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":740,"wires":[["f6568784.59ba98"]]},{"id":"b7de29a0.0aaf38","type":"change","z":"cb01a5f.948b458","name":"Tomorrow Temp Min","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"tomorrow_tempmin","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":700,"wires":[["3923e0ac.508b2"]]},{"id":"8bcacc81.e2028","type":"change","z":"cb01a5f.948b458","name":"Tomorrow Temp Max","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"tomorrow_tempmax","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":740,"wires":[["c50b8d9e.81f98"]]},{"id":"3c819948.60b2c6","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"msg.payload.daily.data[1].temperatureMin > 0 ? 0 : 4","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":700,"wires":[["f69eb571.80ff48"]]},{"id":"f6568784.59ba98","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"msg.payload.daily.data[1].temperatureMax > 0 ? 0 : 4","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":740,"wires":[["f69eb571.80ff48"]]},{"id":"de56edc7.e75bc","type":"change","z":"cb01a5f.948b458","name":"Tomorrow Wind","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"tomorrow_wind","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":640,"y":780,"wires":[["c262dbc8.bd9838"]]},{"id":"745826f7.7be748","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":780,"wires":[["f69eb571.80ff48"]]},{"id":"9ba5e3fd.228c","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"28","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":780,"wires":[["745826f7.7be748"]]},{"id":"2d30f5f3.61225a","type":"change","z":"cb01a5f.948b458","name":"Tomorrow Date","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"tomorrow_date","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":640,"y":820,"wires":[["54c4c9c1.b51308"]]},{"id":"971e9135.2853a","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"5","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":820,"wires":[["f69eb571.80ff48"]]},{"id":"9d53982a.f25778","type":"function","z":"cb01a5f.948b458","name":"Icon","func":"switch (msg.payload.daily.data[1].icon) {\n    case \"clear-day\":\n        msg.display.icon = 13;\n        break;\n    case \"clear-night\":\n        msg.display.icon = 14;\n        break;\n    case \"rain\":\n        msg.display.icon = 15;\n        break;\n    case \"snow\":\n        msg.display.icon = 16;\n        break;\n    case \"sleet\":\n        msg.display.icon = 17;\n        break;\n    case \"wind\":\n        msg.display.icon = 18;\n        break;\n    case \"fog\":\n        msg.display.icon = 19;\n        break;\n    case \"cloudy\":\n        msg.display.icon = 20;\n        break;\n    case \"partly-cloudy-day\":\n        msg.display.icon = 21;\n        break;\n    case \"partly-cloudy-night\":\n        msg.display.icon = 22;\n        break;\n    default:\n        msg.display.icon = 13;\n        break;\n}\nreturn msg;","outputs":1,"noerr":0,"x":1010,"y":820,"wires":[["971e9135.2853a"]]},{"id":"54c4c9c1.b51308","type":"function","z":"cb01a5f.948b458","name":"Content","func":"// Update the status with current timestamp\nvar now = new Date();\nnow.setTime(msg.payload.daily.data[1].time*1000);\nvar mm = now.getMonth() < 9 ? \"0\" + (now.getMonth() + 1) : (now.getMonth() + 1); // getMonth() is zero-based\nvar dd  = now.getDate() < 10 ? \"0\" + now.getDate() : now.getDate();\nmsg.display.content = mm + \"/\" + dd;\nreturn msg;","outputs":1,"noerr":0,"x":860,"y":820,"wires":[["9d53982a.f25778"]]},{"id":"261839ce.24dbe6","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"msg.payload.daily.data[0].precipProbability * 100 & \"%\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":620,"wires":[["31117e6b.1cee22"]]},{"id":"5b800211.20df6c","type":"change","z":"cb01a5f.948b458","name":"Today Precip","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"today_precip","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":620,"wires":[["261839ce.24dbe6"]]},{"id":"f4127e83.84508","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":620,"wires":[["f69eb571.80ff48"]]},{"id":"31117e6b.1cee22","type":"function","z":"cb01a5f.948b458","name":"Icon","func":"switch (msg.payload.daily.data[0].precipType) {\n    case \"clear-day\":\n        msg.display.icon = 13;\n        break;\n    case \"clear-night\":\n        msg.display.icon = 14;\n        break;\n    case \"rain\":\n        msg.display.icon = 15;\n        break;\n    case \"snow\":\n        msg.display.icon = 16;\n        break;\n    case \"sleet\":\n        msg.display.icon = 17;\n        break;\n    case \"wind\":\n        msg.display.icon = 18;\n        break;\n    case \"fog\":\n        msg.display.icon = 19;\n        break;\n    case \"cloudy\":\n        msg.display.icon = 20;\n        break;\n    case \"partly-cloudy-day\":\n        msg.display.icon = 21;\n        break;\n    case \"partly-cloudy-night\":\n        msg.display.icon = 22;\n        break;\n    default:\n        msg.display.icon = 15;\n        break;\n}\nreturn msg;","outputs":1,"noerr":0,"x":1010,"y":620,"wires":[["f4127e83.84508"]]},{"id":"56379a41.57a564","type":"function","z":"cb01a5f.948b458","name":"Provider Debug","func":"var providers = new Map();\nif (context.get(\"providers\")!==undefined) {\n    providers=context.get(\"providers\");\n}\n\n// This topic sent by all providers to update the data in the context\nif (msg.topic===\"provider_update\") {\n    if (providers.has(msg.display.provider)) {\n        providers.delete(msg.display.provider);\n    }\n    providers.set(msg.display.provider,{\"content\" : msg.display.content, \"icon\": msg.display.icon, \"color\": msg.display.color});\n    context.set(\"providers\",providers);\n    node.status({fill:\"blue\",shape:\"ring\",text:\"Provider \"+msg.display.provider+\" stored\"});\n}\n\nmsg.payload = [];\nfor (var [key, value] of providers) {\n    msg.payload.push({\"provider\": key, \"content\": value});\n}\nreturn msg;\n\n\n","outputs":1,"noerr":0,"x":980,"y":2040,"wires":[["e503f97e.31e068"]]},{"id":"d986d9dd.514ec8","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"msg.payload.daily.data[0].cloudCover * 100 & \"%\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":660,"wires":[["a13f3f80.988ba"]]},{"id":"bc16baf2.efbd88","type":"change","z":"cb01a5f.948b458","name":"Today Cloud","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"today_cloud","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":660,"wires":[["d986d9dd.514ec8"]]},{"id":"a01f9f89.4666b","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":660,"wires":[["f69eb571.80ff48"]]},{"id":"a13f3f80.988ba","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"20","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":660,"wires":[["a01f9f89.4666b"]]},{"id":"9ff0452a.cdb978","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"msg.payload.daily.data[1].precipProbability * 100 & \"%\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":860,"wires":[["617f8fe5.02178"]]},{"id":"64539b92.5b3aa4","type":"change","z":"cb01a5f.948b458","name":"Tomorrow Precip","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"tomorrow_precip","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":650,"y":860,"wires":[["9ff0452a.cdb978"]]},{"id":"d06c9269.d17b8","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":860,"wires":[["f69eb571.80ff48"]]},{"id":"617f8fe5.02178","type":"function","z":"cb01a5f.948b458","name":"Icon","func":"switch (msg.payload.daily.data[1].precipType) {\n    case \"clear-day\":\n        msg.display.icon = 13;\n        break;\n    case \"clear-night\":\n        msg.display.icon = 14;\n        break;\n    case \"rain\":\n        msg.display.icon = 29;\n        break;\n    case \"snow\":\n        msg.display.icon = 30;\n        break;\n    case \"sleet\":\n        msg.display.icon = 31;\n        break;\n    case \"wind\":\n        msg.display.icon = 18;\n        break;\n    case \"fog\":\n        msg.display.icon = 19;\n        break;\n    case \"cloudy\":\n        msg.display.icon = 20;\n        break;\n    case \"partly-cloudy-day\":\n        msg.display.icon = 21;\n        break;\n    case \"partly-cloudy-night\":\n        msg.display.icon = 22;\n        break;\n    default:\n        msg.display.icon = 15;\n        break;\n}\nreturn msg;","outputs":1,"noerr":0,"x":1010,"y":860,"wires":[["d06c9269.d17b8"]]},{"id":"8f9fd20a.ee852","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"msg.payload.daily.data[1].cloudCover * 100 & \"%\"","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":900,"wires":[["c676f082.3d1c9"]]},{"id":"b8abecdf.53e29","type":"change","z":"cb01a5f.948b458","name":"Today Cloud","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"tomorrow_cloud","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":900,"wires":[["8f9fd20a.ee852"]]},{"id":"33cdf20d.4ee32e","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":900,"wires":[["f69eb571.80ff48"]]},{"id":"c676f082.3d1c9","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"32","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":900,"wires":[["33cdf20d.4ee32e"]]},{"id":"811dc8f9.1a7118","type":"change","z":"cb01a5f.948b458","name":"Sunrise","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"sunrise","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":960,"wires":[["ffb6f61b.e94658"]]},{"id":"89255574.9da558","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":960,"wires":[["f69eb571.80ff48"]]},{"id":"8f5c2b0e.19e658","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"34","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":960,"wires":[["89255574.9da558"]]},{"id":"ffb6f61b.e94658","type":"function","z":"cb01a5f.948b458","name":"Content","func":"// Update the status with current timestamp\nvar now = new Date();\nnow.setTime(msg.payload.daily.data[0].sunriseTime*1000);\nvar hh = now.getHours() < 10 ? \"0\" + now.getHours() : now.getHours();\nvar mmm  = now.getMinutes() < 10 ? \"0\" + now.getMinutes() : now.getMinutes();\nmsg.display.content = hh + \":\" + mmm;\nreturn msg;","outputs":1,"noerr":0,"x":860,"y":960,"wires":[["8f5c2b0e.19e658"]]},{"id":"ec66636d.dfd75","type":"change","z":"cb01a5f.948b458","name":"Sunset","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"sunset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":1000,"wires":[["2e77bbb6.11ac24"]]},{"id":"61a11f70.ef892","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1130,"y":1000,"wires":[["f69eb571.80ff48"]]},{"id":"d65f3333.f183b","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"33","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1010,"y":1000,"wires":[["61a11f70.ef892"]]},{"id":"2e77bbb6.11ac24","type":"function","z":"cb01a5f.948b458","name":"Content","func":"// Update the status with current timestamp\nvar now = new Date();\nnow.setTime(msg.payload.daily.data[0].sunsetTime*1000);\nvar hh = now.getHours() < 10 ? \"0\" + now.getHours() : now.getHours();\nvar mmm  = now.getMinutes() < 10 ? \"0\" + now.getMinutes() : now.getMinutes();\nmsg.display.content = hh + \":\" + mmm;\nreturn msg;","outputs":1,"noerr":0,"x":860,"y":1000,"wires":[["d65f3333.f183b"]]},{"id":"e503f97e.31e068","type":"template","z":"cb01a5f.948b458","name":"Format","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<table border=\"1\">\n    <tr><th>Provider</th><th>Icon</th><th>Color</th><th>Content</th></tr>\n    {{#payload}}\n        <tr class=\"\">\n            <td>{{provider}}</td>\n            <td>{{content.icon}}</td>\n            <td>{{content.color}}</td>\n            <td>{{content.content}}</td>\n        </tr>\n    {{/payload}}\n</table>\n","output":"str","x":1160,"y":2040,"wires":[["a83bbf2c.b900e"]]},{"id":"a83bbf2c.b900e","type":"ui_template","z":"cb01a5f.948b458","group":"2126b2ab.37b41e","name":"Provider dump","order":0,"width":0,"height":0,"format":"<div ng-bind-html=\"msg.payload\"></div>","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":1340,"y":2040,"wires":[[]]},{"id":"cab01b6d.3b31e8","type":"change","z":"cb01a5f.948b458","name":"Daytime Weekday Recipe","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"recipe\":[{\"provider\":\"youtube_subscribers\",\"duration\":5},{\"provider\":\"currently_temp\",\"duration\":5},{\"provider\":\"today_tempmin\",\"duration\":5},{\"provider\":\"today_tempmax\",\"duration\":5},{\"provider\":\"today_wind\",\"duration\":5},{\"provider\":\"today_cloud\",\"duration\":5},{\"provider\":\"today_precip\",\"duration\":5},{\"provider\":\"travel_vitamaxi\",\"duration\":5},{\"provider\":\"travel_tsystems\",\"duration\":5},{\"provider\":\"solar_today\",\"duration\":5},{\"provider\":\"gbp\",\"duration\":5},{\"provider\":\"eur\",\"duration\":5},{\"provider\":\"usd\",\"duration\":5},{\"provider\":\"sunrise\",\"duration\":5},{\"provider\":\"sunset\",\"duration\":5},{\"provider\":\"stock_hcl\",\"duration\":5},{\"provider\":\"stock_vestas\",\"duration\":5},{\"provider\":\"stock_linde\",\"duration\":5}]}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":2380,"wires":[["280e8e29.499dd2"]]},{"id":"27cd4f50.2e939","type":"change","z":"cb01a5f.948b458","name":"Evening Weekday Recipe","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"recipe\":[{\"provider\":\"youtube_subscribers\",\"duration\":5},{\"provider\":\"currently_temp\",\"duration\":5},{\"provider\":\"tomorrow_date\",\"duration\":5},{\"provider\":\"tomorrow_tempmin\",\"duration\":5},{\"provider\":\"tomorrow_tempmax\",\"duration\":5},{\"provider\":\"tomorrow_wind\",\"duration\":5},{\"provider\":\"tomorrow_cloud\",\"duration\":5},{\"provider\":\"tomorrow_precip\",\"duration\":5},{\"provider\":\"travel_vitamaxi\",\"duration\":5},{\"provider\":\"travel_tsystems\",\"duration\":5},{\"provider\":\"solar_today\",\"duration\":5},{\"provider\":\"gbp\",\"duration\":5},{\"provider\":\"eur\",\"duration\":5},{\"provider\":\"usd\",\"duration\":5},{\"provider\":\"sunrise\",\"duration\":5},{\"provider\":\"sunset\",\"duration\":5},{\"provider\":\"stock_hcl\",\"duration\":5},{\"provider\":\"stock_vestas\",\"duration\":5},{\"provider\":\"stock_linde\",\"duration\":5}]}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":2500,"wires":[["280e8e29.499dd2"]]},{"id":"9e0e6b04.78ebb8","type":"inject","z":"cb01a5f.948b458","name":"Midnight","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"00 0 * * *","once":false,"x":140,"y":2360,"wires":[["dbc104d0.3212d8"]]},{"id":"edf8c4a6.fa2d38","type":"inject","z":"cb01a5f.948b458","name":"6pm","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"00 18 * * *","once":false,"x":150,"y":2480,"wires":[["cbed5d3e.7743d"]]},{"id":"21a83e85.d83922","type":"template","z":"cb01a5f.948b458","name":"Format","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<table border=\"1\">\n    <tr><th>Provider</th><th>Duration</th></tr>\n    {{#payload.recipe}}\n        <tr class=\"\">\n            <td>{{provider}}</td>\n            <td>{{duration}}</td>\n        </tr>\n    {{/payload.recipe}}\n</table>\n","output":"str","x":960,"y":2100,"wires":[["1f0bb628.3e171a"]]},{"id":"1f0bb628.3e171a","type":"ui_template","z":"cb01a5f.948b458","group":"558c8a63.67a884","name":"Recipe dump","order":0,"width":0,"height":0,"format":"<div ng-bind-html=\"msg.payload\"></div>","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":1130,"y":2100,"wires":[[]]},{"id":"3a050a81.9050e6","type":"function","z":"cb01a5f.948b458","name":"Content","func":"// Convert wind bearing to direction\nvar WindDirection = \"\";\nif (msg.payload.daily.data[0].windBearing>=0 && msg.payload.daily.data[0].windBearing<22.5) {\n    WindDirection = \"N\";\n}\nif (msg.payload.daily.data[0].windBearing>=22.5 && msg.payload.daily.data[0].windBearing<67.5) {\n    WindDirection = \"NE\";\n}\nif (msg.payload.daily.data[0].windBearing>=67.5 && msg.payload.daily.data[0].windBearing<112.5) {\n    WindDirection = \"E\";\n}\nif (msg.payload.daily.data[0].windBearing>=112.5 && msg.payload.daily.data[0].windBearing<157.5) {\n    WindDirection = \"SE\";\n}\nif (msg.payload.daily.data[0].windBearing>=157.5 && msg.payload.daily.data[0].windBearing<202.5) {\n    WindDirection = \"S\";\n}\nif (msg.payload.daily.data[0].windBearing>=202.5 && msg.payload.daily.data[0].windBearing<247.5) {\n    WindDirection = \"SW\";\n}\nif (msg.payload.daily.data[0].windBearing>=247.5 && msg.payload.daily.data[0].windBearing<292.5) {\n    WindDirection = \"W\";\n}\nif (msg.payload.daily.data[0].windBearing>=292.5 && msg.payload.daily.data[0].windBearing<337.5) {\n    WindDirection = \"NW\";\n}\nif (msg.payload.daily.data[0].windBearing>=337.5) {\n    WindDirection = \"N\";\n}\nmsg.display.content = Math.floor(msg.payload.daily.data[0].windSpeed,0) + \" \" + WindDirection;\n\n\nreturn msg;","outputs":1,"noerr":0,"x":860,"y":580,"wires":[["d4fe1bee.6dff38"]]},{"id":"c262dbc8.bd9838","type":"function","z":"cb01a5f.948b458","name":"Content","func":"// Convert wind bearing to direction\nvar WindDirection = \"\";\nif (msg.payload.daily.data[1].windBearing>=0 && msg.payload.daily.data[1].windBearing<22.5) {\n    WindDirection = \"N\";\n}\nif (msg.payload.daily.data[1].windBearing>=22.5 && msg.payload.daily.data[1].windBearing<67.5) {\n    WindDirection = \"NE\";\n}\nif (msg.payload.daily.data[1].windBearing>=67.5 && msg.payload.daily.data[1].windBearing<112.5) {\n    WindDirection = \"E\";\n}\nif (msg.payload.daily.data[1].windBearing>=112.5 && msg.payload.daily.data[1].windBearing<157.5) {\n    WindDirection = \"SE\";\n}\nif (msg.payload.daily.data[1].windBearing>=157.5 && msg.payload.daily.data[1].windBearing<202.5) {\n    WindDirection = \"S\";\n}\nif (msg.payload.daily.data[1].windBearing>=202.5 && msg.payload.daily.data[1].windBearing<247.5) {\n    WindDirection = \"SW\";\n}\nif (msg.payload.daily.data[1].windBearing>=247.5 && msg.payload.daily.data[1].windBearing<292.5) {\n    WindDirection = \"W\";\n}\nif (msg.payload.daily.data[1].windBearing>=292.5 && msg.payload.daily.data[1].windBearing<337.5) {\n    WindDirection = \"NW\";\n}\nif (msg.payload.daily.data[1].windBearing>=337.5) {\n    WindDirection = \"N\";\n}\nmsg.display.content = Math.floor(msg.payload.daily.data[1].windSpeed,0) + \" \" + WindDirection;\n\n\nreturn msg;","outputs":1,"noerr":0,"x":860,"y":780,"wires":[["9ba5e3fd.228c"]]},{"id":"b364a30c.520cb","type":"debug","z":"cb01a5f.948b458","name":"","active":false,"console":"false","complete":"payload","x":630,"y":400,"wires":[]},{"id":"13b97d18.7fbe23","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"payload.vetel","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":1240,"wires":[["d03316d6.4d0788"]]},{"id":"6dbff327.99cb0c","type":"change","z":"cb01a5f.948b458","name":"Provider","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"eur","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":1240,"wires":[["13b97d18.7fbe23"]]},{"id":"d03316d6.4d0788","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"35","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":810,"y":1240,"wires":[["408146c3.42ec38"]]},{"id":"408146c3.42ec38","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":1240,"wires":[["f69eb571.80ff48"]]},{"id":"cc1f0154.d28b","type":"link in","z":"cb01a5f.948b458","name":"NRMetric EUR Vetel","links":["7970f17c.51356"],"x":335,"y":1240,"wires":[["6dbff327.99cb0c"]]},{"id":"43eda8fa.2d8c08","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"payload.vetel","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":1280,"wires":[["de96e067.24a11"]]},{"id":"6a088270.7f005c","type":"change","z":"cb01a5f.948b458","name":"Provider","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"usd","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":1280,"wires":[["43eda8fa.2d8c08"]]},{"id":"de96e067.24a11","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"36","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":810,"y":1280,"wires":[["fb2a6143.a07d4"]]},{"id":"fb2a6143.a07d4","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":1280,"wires":[["f69eb571.80ff48"]]},{"id":"d51ab062.db908","type":"link in","z":"cb01a5f.948b458","name":"NRMetric USD Vetel","links":["90ac9fac.d2176"],"x":335,"y":1280,"wires":[["6a088270.7f005c"]]},{"id":"93f9de44.cd5c7","type":"http request","z":"cb01a5f.948b458","name":"Stock HCL","method":"GET","ret":"txt","url":"https://finance.google.com/finance?q=NSE%3AHCLTECH&output=json","tls":"","x":290,"y":1360,"wires":[["b5edf19f.f0a58"]]},{"id":"a3ae058e.843fd8","type":"json","z":"cb01a5f.948b458","name":"","x":650,"y":1360,"wires":[["7cde3761.2d9208"]]},{"id":"7cde3761.2d9208","type":"change","z":"cb01a5f.948b458","name":"Provider","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"stock_hcl","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":1360,"wires":[["93f6a079.93fac"]]},{"id":"93f6a079.93fac","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"payload.l","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":960,"y":1360,"wires":[["1907cb.c6d59835"]]},{"id":"1907cb.c6d59835","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"37","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1110,"y":1360,"wires":[["7b769fd8.c4d74"]]},{"id":"7b769fd8.c4d74","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"$substring(msg.payload.c,0,1) = '-' ? 1 : 2","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1250,"y":1360,"wires":[["f69eb571.80ff48"]]},{"id":"7358cc28.d93aa4","type":"inject","z":"cb01a5f.948b458","name":"Every 1h","topic":"","payload":"","payloadType":"date","repeat":"3600","crontab":"","once":false,"x":113.9999885559082,"y":1360.7499809265137,"wires":[["93f9de44.cd5c7"]]},{"id":"b5edf19f.f0a58","type":"change","z":"cb01a5f.948b458","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"$substring(msg.payload, 6)\t","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"$substring(msg.payload, 0, $length(msg.payload)-2)\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":1360,"wires":[["a3ae058e.843fd8"]]},{"id":"69403d8.cc955c4","type":"http request","z":"cb01a5f.948b458","name":"Stock Vestas","method":"GET","ret":"txt","url":"https://finance.google.com/finance?q=CPH%3AVWS&output=json","tls":"","x":290,"y":1400,"wires":[["30734438.86a18c"]]},{"id":"4bb4885e.cb3bd8","type":"json","z":"cb01a5f.948b458","name":"","x":650,"y":1400,"wires":[["6ada1c3d.71de44"]]},{"id":"6ada1c3d.71de44","type":"change","z":"cb01a5f.948b458","name":"Provider","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"stock_vestas","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":1400,"wires":[["8fb312de.6738c"]]},{"id":"8fb312de.6738c","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"payload.l","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":960,"y":1400,"wires":[["a9f7e22c.c7df7"]]},{"id":"a9f7e22c.c7df7","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"38","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1110,"y":1400,"wires":[["4185c9db.bef468"]]},{"id":"4185c9db.bef468","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"$substring(msg.payload.c,0,1) = '-' ? 1 : 2","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1250,"y":1400,"wires":[["f69eb571.80ff48"]]},{"id":"9915b609.be70d8","type":"inject","z":"cb01a5f.948b458","name":"Every 1h","topic":"","payload":"","payloadType":"date","repeat":"3600","crontab":"","once":false,"x":113.9999885559082,"y":1400.7499809265137,"wires":[["69403d8.cc955c4"]]},{"id":"30734438.86a18c","type":"change","z":"cb01a5f.948b458","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"$substring(msg.payload, 6)\t","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"$substring(msg.payload, 0, $length(msg.payload)-2)\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":1400,"wires":[["4bb4885e.cb3bd8"]]},{"id":"d758bae.8cfaa48","type":"http request","z":"cb01a5f.948b458","name":"Stock Linde","method":"GET","ret":"txt","url":"https://finance.google.com/finance?q=FRA%3ALIN&output=json","tls":"","x":290,"y":1440,"wires":[["feb56efe.f2d7"]]},{"id":"9363537c.190ab","type":"json","z":"cb01a5f.948b458","name":"","x":650,"y":1440,"wires":[["f61f631f.868e7"]]},{"id":"f61f631f.868e7","type":"change","z":"cb01a5f.948b458","name":"Provider","rules":[{"t":"set","p":"display.provider","pt":"msg","to":"stock_linde","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":1440,"wires":[["42be123e.e005ac"]]},{"id":"42be123e.e005ac","type":"change","z":"cb01a5f.948b458","name":"Content","rules":[{"t":"set","p":"display.content","pt":"msg","to":"payload.l","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":960,"y":1440,"wires":[["d32cf0ea.1edf2"]]},{"id":"d32cf0ea.1edf2","type":"change","z":"cb01a5f.948b458","name":"Icon","rules":[{"t":"set","p":"display.icon","pt":"msg","to":"39","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1110,"y":1440,"wires":[["5a3a3e2e.e0ce5"]]},{"id":"5a3a3e2e.e0ce5","type":"change","z":"cb01a5f.948b458","name":"Color","rules":[{"t":"set","p":"display.color","pt":"msg","to":"$substring(msg.payload.c,0,1) = '-' ? 1 : 2","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":1250,"y":1440,"wires":[["f69eb571.80ff48"]]},{"id":"d7fb8b5a.201a08","type":"inject","z":"cb01a5f.948b458","name":"Every 1h","topic":"","payload":"","payloadType":"date","repeat":"3600","crontab":"","once":false,"x":113.9999885559082,"y":1440.7499809265137,"wires":[["d758bae.8cfaa48"]]},{"id":"feb56efe.f2d7","type":"change","z":"cb01a5f.948b458","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"$substring(msg.payload, 6)\t","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"$substring(msg.payload, 0, $length(msg.payload)-2)\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":480,"y":1440,"wires":[["9363537c.190ab"]]},{"id":"edcb40a9.e36f7","type":"function","z":"cb01a5f.948b458","name":"Weekday?","func":"// This function only passes the msg through\n// if it is a weekday (Mon-Fri)\nvar now = new Date();\nif ((now.getDay()>1)&&(now.getDay()<6)) {\n   return msg; \n}\n","outputs":1,"noerr":0,"x":230,"y":600,"wires":[["cae29adc.125b48"]]},{"id":"45abdeec.b6732","type":"function","z":"cb01a5f.948b458","name":"Weekend?","func":"// This function only passes the msg through\n// if it is a weekend (Sat-Sun)\nvar now = new Date();\nif ((now.getDay()===0)||(now.getDay()===6)) {\n   return msg; \n}\n","outputs":1,"noerr":0,"x":230,"y":640,"wires":[["43257c14.9f1ba4"]]},{"id":"7c2eaf71.e69b6","type":"inject","z":"cb01a5f.948b458","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":120,"y":540,"wires":[["edcb40a9.e36f7","45abdeec.b6732"]]},{"id":"cae29adc.125b48","type":"debug","z":"cb01a5f.948b458","name":"","active":true,"console":"false","complete":"false","x":390,"y":600,"wires":[]},{"id":"43257c14.9f1ba4","type":"debug","z":"cb01a5f.948b458","name":"","active":true,"console":"false","complete":"false","x":390,"y":640,"wires":[]},{"id":"4de34a32.2b31e4","type":"function","z":"cb01a5f.948b458","name":"Weekend?","func":"// This function only passes the msg through\n// if it is a weekend (Sat-Sun)\nvar now = new Date();\nif ((now.getDay()===0)||(now.getDay()===6)) {\n   return msg; \n}\n","outputs":1,"noerr":0,"x":330,"y":180,"wires":[["4a4535c3.1ba89c","bc463f22.60109"]]},{"id":"dbc104d0.3212d8","type":"function","z":"cb01a5f.948b458","name":"Weekday","func":"// This function just returns the weekday\n// in the payload to be used in a switch\n// later in the flow\n// also returns a msg.weekend which is true if\n// it is a weekend\nvar now = new Date();\nmsg.payload = now.getDay();\nif ((now.getDay()===0)||(now.getDay()===6)) {\n   msg.weekend = true; \n} else {\n    msg.weekend = false;\n}\nreturn msg; \n\n","outputs":1,"noerr":0,"x":320,"y":2360,"wires":[["c2b25345.42e73"]]},{"id":"cce3e7e5.dd1078","type":"change","z":"cb01a5f.948b458","name":"Daytime Weekend Recipe","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"recipe\":[{\"provider\":\"youtube_subscribers\",\"duration\":5},{\"provider\":\"currently_temp\",\"duration\":5},{\"provider\":\"today_tempmin\",\"duration\":5},{\"provider\":\"today_tempmax\",\"duration\":5},{\"provider\":\"today_wind\",\"duration\":5},{\"provider\":\"today_cloud\",\"duration\":5},{\"provider\":\"today_precip\",\"duration\":5},{\"provider\":\"solar_today\",\"duration\":5},{\"provider\":\"gbp\",\"duration\":5},{\"provider\":\"eur\",\"duration\":5},{\"provider\":\"usd\",\"duration\":5},{\"provider\":\"sunrise\",\"duration\":5},{\"provider\":\"sunset\",\"duration\":5},{\"provider\":\"stock_hcl\",\"duration\":5},{\"provider\":\"stock_vestas\",\"duration\":5},{\"provider\":\"stock_linde\",\"duration\":5}]}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":2340,"wires":[["280e8e29.499dd2"]]},{"id":"4a5154d3.4fee1c","type":"change","z":"cb01a5f.948b458","name":"Evening Weekend Recipe","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"recipe\":[{\"provider\":\"youtube_subscribers\",\"duration\":5},{\"provider\":\"currently_temp\",\"duration\":5},{\"provider\":\"tomorrow_date\",\"duration\":5},{\"provider\":\"tomorrow_tempmin\",\"duration\":5},{\"provider\":\"tomorrow_tempmax\",\"duration\":5},{\"provider\":\"tomorrow_wind\",\"duration\":5},{\"provider\":\"tomorrow_cloud\",\"duration\":5},{\"provider\":\"tomorrow_precip\",\"duration\":5},{\"provider\":\"solar_today\",\"duration\":5},{\"provider\":\"gbp\",\"duration\":5},{\"provider\":\"eur\",\"duration\":5},{\"provider\":\"usd\",\"duration\":5},{\"provider\":\"sunrise\",\"duration\":5},{\"provider\":\"sunset\",\"duration\":5},{\"provider\":\"stock_hcl\",\"duration\":5},{\"provider\":\"stock_vestas\",\"duration\":5},{\"provider\":\"stock_linde\",\"duration\":5}]}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":2460,"wires":[["280e8e29.499dd2"]]},{"id":"c2b25345.42e73","type":"switch","z":"cb01a5f.948b458","name":"Weekend?","property":"weekend","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","outputs":2,"x":530,"y":2360,"wires":[["cce3e7e5.dd1078"],["cab01b6d.3b31e8"]],"outputLabels":["Weekend","Weekday"]},{"id":"5b4e4d63.65a174","type":"change","z":"cb01a5f.948b458","name":"Full Recipe for testing","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"recipe\":[{\"provider\":\"youtube_subscribers\",\"duration\":5},{\"provider\":\"currently_temp\",\"duration\":5},{\"provider\":\"today_tempmin\",\"duration\":5},{\"provider\":\"today_tempmax\",\"duration\":5},{\"provider\":\"today_wind\",\"duration\":5},{\"provider\":\"today_cloud\",\"duration\":5},{\"provider\":\"today_precip\",\"duration\":5},{\"provider\":\"travel_vitamaxi\",\"duration\":5},{\"provider\":\"travel_tsystems\",\"duration\":5},{\"provider\":\"solar_today\",\"duration\":5},{\"provider\":\"gbp\",\"duration\":5},{\"provider\":\"eur\",\"duration\":5},{\"provider\":\"usd\",\"duration\":5},{\"provider\":\"sunrise\",\"duration\":5},{\"provider\":\"sunset\",\"duration\":5},{\"provider\":\"stock_hcl\",\"duration\":5},{\"provider\":\"stock_vestas\",\"duration\":5},{\"provider\":\"stock_linde\",\"duration\":5}]}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":2580,"wires":[["280e8e29.499dd2"]]},{"id":"cbed5d3e.7743d","type":"function","z":"cb01a5f.948b458","name":"Weekday","func":"// This function just returns the weekday\n// in the payload to be used in a switch\n// later in the flow\n// also returns a msg.weekend which is true if\n// it is a weekend\nvar now = new Date();\nmsg.payload = now.getDay();\nif ((now.getDay()===0)||(now.getDay()===6)) {\n   msg.weekend = true; \n} else {\n    msg.weekend = false;\n}\nreturn msg; \n\n","outputs":1,"noerr":0,"x":340,"y":2480,"wires":[["b6b75792.54b1d8"]]},{"id":"b6b75792.54b1d8","type":"switch","z":"cb01a5f.948b458","name":"Weekend?","property":"weekend","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","outputs":2,"x":530,"y":2480,"wires":[["4a5154d3.4fee1c"],["27cd4f50.2e939"]],"outputLabels":["Weekend","Weekday"]},{"id":"280e8e29.499dd2","type":"function","z":"cb01a5f.948b458","name":"Dummy","func":"\nreturn msg;","outputs":1,"noerr":0,"x":1140,"y":2400,"wires":[["81d3128a.ec9c8"]]},{"id":"cea5258a.b34038","type":"mqtt-broker","z":"","broker":"192.168.1.80","port":"1883","clientid":"node-red","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""},{"id":"2126b2ab.37b41e","type":"ui_group","z":"","name":"Providers","tab":"991b0faf.6bef8","disp":true,"width":"12"},{"id":"558c8a63.67a884","type":"ui_group","z":"","name":"Recipe","tab":"991b0faf.6bef8","disp":true,"width":"12"},{"id":"991b0faf.6bef8","type":"ui_tab","z":"","name":"NRMetric","icon":"settings system daydream"}]
nygma2004

Flow Info

created 4 months ago

Node Types

Core
  • change (x101)
  • debug (x5)
  • delay (x1)
  • function (x19)
  • http request (x8)
  • inject (x13)
  • json (x9)
  • mqtt in (x3)
  • mqtt-broker (x1)
  • switch (x3)
  • template (x2)
Other
  • link in (x3)
  • link out (x1)
  • tab (x1)
  • ui_group (x2)
  • ui_tab (x1)
  • ui_template (x2)

Tags

  • nrmetric
Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option