G.B. National Grid Status

A Flow to extract the live detail from http://www.gridwatch.templar.co.uk/ and publish to MQTT and Mysql db.

Database Structure is [{topic}, {message}] with the database taking care of timestamps. Both fields are txt fields.

I'm not a programmer, just an enthusiastic hobbyist and would dearly love to see any improvements from someone who actually understands how node red works. I get how this works, but there has to be a better way of doing this.

Having said that, written by an amateur so this will probably help someone starting out.

Tools that can help MQTT Spy : https://kamilfb.github.io/mqtt-spy/

[{"id":"4b2eb1f0.22dde","type":"tab","label":"export prep"},{"id":"b2e0ff4f.7233","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT  UK Pwr Demand","topic":"test/pwr/demand","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1106.333251953125,"y":266.8888854980469,"wires":[]},{"id":"bb14ba36.0513b8","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"Demand","group":"64f8fe17.a662a","order":4,"width":"6","height":"6","gtype":"wave","title":"Demand GW","label":"GW","format":"{{value}}","min":"30","max":"40","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"40","x":938.0000953674316,"y":73.7778377532959,"wires":[]},{"id":"986314d7.331698","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK Pwr Freq","topic":"test/pwr/freq","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1105.5555419921875,"y":309.5555114746094,"wires":[]},{"id":"79a77d48.58e694","type":"inject","z":"4b2eb1f0.22dde","name":"Nat Grid","topic":"pwr/nationagrid/livestats","payload":"","payloadType":"date","repeat":"","crontab":"*/5 0-23 * * *","once":false,"x":189,"y":219.77780151367188,"wires":[["90d11de5.e69a6","c5814816.00b918"]]},{"id":"f5ae81d0.1180f","type":"inject","z":"4b2eb1f0.22dde","name":"test","topic":"test/pwr/","payload":" <!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"         \"http://www.w3.org/TR/1998/REC-html40-19980424/loose.dtd\"> <html > <head> <TITLE>G. B. National Grid status</TITLE>       <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" > \t  <meta http-equiv=\"refresh\" content=\"999\" > \t  <meta name=\"google\" content=\"notranslate\">       <meta http-equiv=\"Content-Language\" content=\"en\"> \t  <link rel=stylesheet href=\"style.css\" type=\"text/css\"> \t  <LINK REL=\"apple-touch-icon\" HREF=\"/apple-touch-icon.png\" /> <script type=\"text/javascript\"> function hide(x) \t{ \tdocument.getElementById(x).style.display='none'; \t} function show(x) \t{ \tdocument.getElementById(x).style.display='inline'; \t} </script> </head> <body> <span id=\"dummy\"></span> <div style=\"position: absolute;top:0px;left:200px; height: 15px; width: 1250px; text-align: center\"><H1>G.B. National Grid Status</H1> </div> <div style=\"position: absolute;top:40px;left:200px; width: 1250px; text-align: center\"> <i>Data courtesy of <a href=\"https://www.elexonportal.co.uk\" target=\"_blank\">Elexon portal</a> and <a href=\"https://www.solar.sheffield.ac.uk/pvlive/\" target=\"_blank\">Sheffield University</a></i> </div> \t<div id=\"demand\" style=\"position: absolute; top:254px;left: 89px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipleft.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> Demand: </b> This is the total demand of the entire country (plus or minus exports) <b>less</b> any <b>unmetered</b> generating sources like wind but including an <i>estimate</i> for solar.<p>The amber warning represents the demand level that cannot be reliably met by wood or fossil burning and nuclear generation, but must be augmented by imports, or unreliable intermittent 'renewable' energy.</p>\t</div> \t\t<div style=\"position: absolute;top:60px;left:-20px; width: 250px; height: 250px; background-image: url(bitmaps/dial-GRID-POWER-250.png)\" class=\"bezel\" onmouseover=\"show('demand')\" onmouseout=\"hide('demand')\"> \t<img src=\"bitmaps/needle-250-25\" alt=\"Demand 32.42GW\" align=\"middle\"> \t \t</div> \t<div style=\"position: absolute;top:240px;left:-20px; width: 250px; height: 50px;\" class=\"medium_legend\"> \t<center><b>Demand 32.42GW</b></center> \t</div> \t\t<div id=\"frequency\" style=\"position: absolute; top:254px;left: 269px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipleft.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> Frequency: </b> Grid frequency is controlled to be exactly 50Hz on <i>average</i>, but varies slightly. A lower frequency corresponds to a higher potential demand than actual generating capacity: by allowing the frequency and voltage to go lower, the demand is reduced slightly to keep the balance, and <i>vice versa.</i>\t</div> \t\t<div style=\"position: absolute;top:60px;left:160px; width: 250px; height: 250px; background-image: url(bitmaps/dial-50HZ-250.png)\" class=\"bezel\" onmouseover=\"show('frequency')\" onmouseout=\"hide('frequency')\"> \t<img src=\"bitmaps/needle-250-54\" alt=\"Frequency 50.037Hz\" align=\"middle\"> \t \t</div> \t<div style=\"position: absolute;top:240px;left:160px; width: 250px; height: 50px;\" class=\"medium_legend\"> \t<center><b>Frequency 50.037Hz</b></center> \t</div> \t\t<div id=\"ccgt\" style=\"position: absolute; top:254px;left: 679px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipcenter.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> CCGT: </b> Combined Cycle Gas Turbines are gas turbines whose hot exhausts are used to drive a boiler and steam turbine. This two stage process makes them very efficient in gas usage. They are also quite fast to get online - less than an hour in general, so they are used to cover (profitable) peak demand and to balance wind output.\t</div> \t\t<div style=\"position: absolute;top:60px;left:700px; width: 250px; height: 250px; background-image: url(bitmaps/dial-CCGT-POWER-250.png)\" class=\"bezel\" onmouseover=\"show('ccgt')\" onmouseout=\"hide('ccgt')\"> \t<img src=\"bitmaps/needle-250-56\" alt=\"CCGT 15.34GW\" align=\"middle\"> \t \t</div> \t<div style=\"position: absolute;top:240px;left:700px; width: 250px; height: 50px;\" class=\"medium_legend\"> \t<center><b>CCGT 15.34GW<br>(47.32%)</b></center> \t</div> \t\t<div id=\"wind\" style=\"position: absolute; top:254px;left: 729px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipright.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> Wind: </b> This is the total contributed by <i>metered</i> wind farms. Wind power contributes about another 30% from <i>embedded</i> (or unmetered) wind turbines that shows only as a drop in demand. Wind like nuclear, will sell into any market price because turbines are expensive, wind is not and subsidies are always paid. The variability of wind leads to very high fluctuations in output.\t</div> \t\t<div style=\"position: absolute;top:60px;left:880px; width: 250px; height: 250px; background-image: url(bitmaps/dial-BIG-WIND-250.png)\" class=\"bezel\" onmouseover=\"show('wind')\" onmouseout=\"hide('wind')\"> \t<img src=\"bitmaps/needle-250-17\" alt=\"Wind 1.34GW\" align=\"middle\"> \t \t</div> \t<div style=\"position: absolute;top:240px;left:880px; width: 250px; height: 50px;\" class=\"medium_legend\"> \t<center><b>Wind 1.34GW<br>(4.13%)</b></center> \t</div> \t\t<div id=\"coal\" style=\"position: absolute; top:254px;left: 449px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipleft.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> Coal: </b> Coal is no longer the largest contributor to the UK grid as gas prices are currently low, and legislation has forced closure of most plants. Drax also co-fires biomass with coal, which allows them to gain access to renewable subsidies. Coal plants are now restricted in running hours for emissions, so tend to run only in winter, when prices are higher.\t</div> \t\t<div style=\"position: absolute;top:60px;left:340px; width: 250px; height: 250px; background-image: url(bitmaps/dial-COAL-POWER-250.png)\" class=\"bezel\" onmouseover=\"show('coal')\" onmouseout=\"hide('coal')\"> \t<img src=\"bitmaps/needle-250-4\" alt=\"Coal 0.36GW\" align=\"middle\"> \t \t</div> \t<div style=\"position: absolute;top:240px;left:340px; width: 250px; height: 50px;\" class=\"medium_legend\"> \t<center><b>Coal 0.36GW<br>(1.11%)</b></center> \t</div> \t\t<div id=\"nuclear\" style=\"position: absolute; top:254px;left: 499px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipcenter.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> Nuclear: </b> Currently the UK has seven AGR designs and one relatively modern PWR. Nuclear power stations are run flat-out to maximise income. Since the cost of fuel is almost insignificant, it pays them to sell at any price they can get. Variations in output are generally signs that refuelling or maintenance is ongoing.\t</div> \t\t<div style=\"position: absolute;top:60px;left:520px; width: 250px; height: 250px; background-image: url(bitmaps/dial-NUCLEAR-POWER-250.png)\" class=\"bezel\" onmouseover=\"show('nuclear')\" onmouseout=\"hide('nuclear')\"> \t<img src=\"bitmaps/needle-250-76\" alt=\"Nuclear 6.86GW\" align=\"middle\"> \t \t</div> \t<div style=\"position: absolute;top:240px;left:520px; width: 250px; height: 50px;\" class=\"medium_legend\"> \t<center><b>Nuclear 6.86GW<br>(21.16%)</b></center> \t</div> \t\t<div id=\"frenchict\" style=\"position: absolute; top:256px;left: 892px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipright.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> French Interconnector: </b> This is a 2GW bi-directional link to France which (when fully operational, which is seldom) is able to import up to 2GW of power from France - usually in summer when France has a nuclear power surplus - and export in winter, when the UK's excess of backup plant  and coal  power can be profitably sold to meet continental shortfalls.\t</div> \t\t<div style=\"position: absolute;top:154px;left:1105px; width: 125px; height: 125px; background-image: url(bitmaps/dial-FRENCH-POWER-125.png)\" class=\"bezel\" onmouseover=\"show('frenchict')\" onmouseout=\"hide('frenchict')\" > \t<img src=\"bitmaps/needle-125-90\" alt=\"French ICT 2.00GW\" align=\"middle\"> \t</div> \t<div style=\"position: absolute;top:242px;left:1105px; width: 125px; height: 25px;\" class=\"small_legend\"> \t<center><b>French ICT 2.00GW<br>(6.17%)</b></center> \t</div> \t\t<div id=\"dutchict\" style=\"position: absolute; top:256px;left: 982px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipright.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> BritNed Interconnector: </b> This is 1GW connector to Holland Its usage seems to reflect a surplus or a deficit of NW europe wind energy.\t</div> \t\t<div style=\"position: absolute;top:154px;left:1195px; width: 125px; height: 125px; background-image: url(bitmaps/dial-DUTCH-POWER-125.png)\" class=\"bezel\" onmouseover=\"show('dutchict')\" onmouseout=\"hide('dutchict')\" > \t<img src=\"bitmaps/needle-125-100\" alt=\"Dutch ICT 1.01GW\" align=\"middle\"> \t</div> \t<div style=\"position: absolute;top:242px;left:1195px; width: 125px; height: 25px;\" class=\"small_legend\"> \t<center><b>Dutch ICT 1.01GW<br>(3.12%)</b></center> \t</div> \t\t<div id=\"irishict\" style=\"position: absolute; top:256px;left: 1072px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipright.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> Moyle interconector.: </b> This is a 500MW (0.5GW) bi-directional link from Scotland to N Ireland. Normally used to import cheaper electricity to Ireland, but sometimes reverses when demand is high, as Ireland has a good installed base of gas turbine power stations.\t</div> \t\t<div style=\"position: absolute;top:154px;left:1285px; width: 125px; height: 125px; background-image: url(bitmaps/dial-IRISH-POWER-125.png)\" class=\"bezel\" onmouseover=\"show('irishict')\" onmouseout=\"hide('irishict')\" > \t<img src=\"bitmaps/needle-125-55\" alt=\"Irish ICT 0.09GW\" align=\"middle\"> \t</div> \t<div style=\"position: absolute;top:242px;left:1285px; width: 125px; height: 25px;\" class=\"small_legend\"> \t<center><b>Irish ICT 0.09GW<br>(0.28%)</b></center> \t</div> \t\t<div id=\"ewict\" style=\"position: absolute; top:256px;left: 1162px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipright.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> East-West Interconnector: </b> This is a new 500MW (0.5GW) bi-directional link between Wales and the Irish Republic, enabling access to the UK (and continental) grid, and prices, for the Irish consumers. On 8 September 2016, the interconnector developed a fault. The interconnector re-entered service on the 20 December 2016 with a fully rated 500 MW import, however exports to the UK are still limited to roughly 280MW\t</div> \t\t<div style=\"position: absolute;top:154px;left:1375px; width: 125px; height: 125px; background-image: url(bitmaps/dial-EW-POWER-125.png)\" class=\"bezel\" onmouseover=\"show('ewict')\" onmouseout=\"hide('ewict')\" > \t<img src=\"bitmaps/needle-125-50\" alt=\"E-W ICT 0.00GW\" align=\"middle\"> \t</div> \t<div style=\"position: absolute;top:242px;left:1375px; width: 125px; height: 25px;\" class=\"small_legend\"> \t<center><b>E-W ICT 0.00GW<br>(0.00%)</b></center> \t</div> \t\t<div id=\"pumped\" style=\"position: absolute; top:106px;left: 847px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipright.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> Pumped Storage: </b> These are small hydro-electric stations that can use overnight electricity to recharge their reservoirs. Mainly used to meet very short term peak demands (the water soon runs out). They represent the nearest thing to 'storage' that is attached to the grid.\t</div> \t\t<div style=\"position: absolute;top:4px;left:1060px; width: 125px; height: 125px; background-image: url(bitmaps/dial-PUMPED-POWER-125.png)\" class=\"bezel\" onmouseover=\"show('pumped')\" onmouseout=\"hide('pumped')\" > \t<img src=\"bitmaps/needle-125-10\" alt=\"Pumped 0.29GW\" align=\"middle\"> \t</div> \t<div style=\"position: absolute;top:92px;left:1060px; width: 125px; height: 25px;\" class=\"small_legend\"> \t<center><b>Pumped 0.29GW<br>(0.89%)</b></center> \t</div> \t\t<div id=\"hydro\" style=\"position: absolute; top:106px;left: 937px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipright.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> Hydroelectric power: </b> The UK has no major hydroelectric power stations, but a collection of smaller ones, mainly in Scotland, that provide very useful power (if it's rained recently!). There would be a little more, but many stations deliberately reduce output to get the best renewable subsidy rates.\t</div> \t\t<div style=\"position: absolute;top:4px;left:1150px; width: 125px; height: 125px; background-image: url(bitmaps/dial-HYDRO-POWER-125.png)\" class=\"bezel\" onmouseover=\"show('hydro')\" onmouseout=\"hide('hydro')\" > \t<img src=\"bitmaps/needle-125-20\" alt=\"Hydro 0.28GW\" align=\"middle\"> \t</div> \t<div style=\"position: absolute;top:92px;left:1150px; width: 125px; height: 25px;\" class=\"small_legend\"> \t<center><b>Hydro 0.28GW<br>(0.86%)</b></center> \t</div> \t\t<div id=\"biomass\" style=\"position: absolute; top:106px;left: 1027px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipright.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> Biomass: </b> These power stations are either (parts of) old coal plants that have been converted to run on imported timber - e.g. Drax 2 -  thus enabling them to qualify as 'renewable' and gain subsidies thereby, or purpose built biomass burners like Stevens Croft (40MW)  built to use sawmill waste.\t</div> \t\t<div style=\"position: absolute;top:4px;left:1240px; width: 125px; height: 125px; background-image: url(bitmaps/dial-OTHER-POWER-125.png)\" class=\"bezel\" onmouseover=\"show('biomass')\" onmouseout=\"hide('biomass')\" > \t<img src=\"bitmaps/needle-125-93\" alt=\"Biomass 2.09GW\" align=\"middle\"> \t</div> \t<div style=\"position: absolute;top:92px;left:1240px; width: 125px; height: 25px;\" class=\"small_legend\"> \t<center><b>Biomass 2.09GW<br>(6.45%)</b></center> \t</div> \t\t<div id=\"solar\" style=\"position: absolute; top:106px;left: 1117px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipright.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> Solar PV: </b> <img src=\"bitmaps/Warning triangle.png\" style=\"float:left; margin-right:10px; margin-top: 5px;\">As no solar PV to date is metered centrally, we cannot show accurate real time figures on solar PV power. <p><b><i>Estimated </i></b>power (data provided by  \t<a href=\"https://www.solar.sheffield.ac.uk/pvlive/\">Sheffield University</a>) is shown here. There is good evidence from the lack of decrease in recorded demand at midday to suppose this is somewhat overestimated, however.\t</div> \t\t<div style=\"position: absolute;top:4px;left:1330px; width: 125px; height: 125px; background-image: url(bitmaps/dial-SOLAR-POWER-125.png)\" class=\"bezel\" onmouseover=\"show('solar')\" onmouseout=\"hide('solar')\" > \t<img src=\"bitmaps/needle-125-36\" alt=\"Solar 2.86GW\" align=\"middle\"> \t</div> \t<div style=\"position: absolute;top:92px;left:1330px; width: 125px; height: 25px;\" class=\"small_legend\"> \t<center><b>Solar 2.86GW<br>(8.82%)</b></center> \t</div> \t\t<div id=\"ocgt\" style=\"position: absolute; top:106px;left: 1207px;width: 260px; height: 123px; overflow: none; background-image:url('/bitmaps/tipright.png'); padding-top: 45px; padding-left: 15px; padding-right: 25px; padding-bottom: 5px; color:#000000;font-size: 11px; z-index:1; display: none\"> \t<b> OCGT: </b> Open Cycle Gas Turbines, are gas turbines without steam plant to maximise their efficiency. They are cheap to build, but expensive to run, so are seldom used except in emergencies in winter, when very high market prices of electricity make them profitable.\t</div> \t\t<div style=\"position: absolute;top:4px;left:1420px; width: 125px; height: 125px; background-image: url(bitmaps/dial-OCGT-POWER-125.png)\" class=\"bezel\" onmouseover=\"show('ocgt')\" onmouseout=\"hide('ocgt')\" > \t<img src=\"bitmaps/needle-125-0\" alt=\"OCGT 0.00GW\" align=\"middle\"> \t</div> \t<div style=\"position: absolute;top:92px;left:1420px; width: 125px; height: 25px;\" class=\"small_legend\"> \t<center><b>OCGT 0.00GW<br>(0.00%)</b></center> \t</div> \t\t<div style=\"position: absolute;top:302px;left:11px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"demand-day.png \" alt=\"Daily Demand (GW)\"></div> \t<div style=\"position: absolute;top:290px;left:10px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:295px;left:10px; width: 365px; height: 12px;text-align:center;  \" > \tDaily Demand (GW)</div> \t \t\t<div style=\"position: absolute;top:432px;left:11px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"demand-week.png \" alt=\"Weekly Demand (GW)\"></div> \t<div style=\"position: absolute;top:420px;left:10px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:425px;left:10px; width: 365px; height: 12px;text-align:center;  \" > \tWeekly Demand (GW)</div> \t \t\t<div style=\"position: absolute;top:562px;left:11px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"demand-month.png \" alt=\"Monthly Demand (GW)\"></div> \t<div style=\"position: absolute;top:550px;left:10px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:555px;left:10px; width: 365px; height: 12px;text-align:center;  \" > \tMonthly Demand (GW)</div> \t \t\t<div style=\"position: absolute;top:692px;left:11px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"demand-year.png \" alt=\"Yearly Demand (GW)\"></div> \t<div style=\"position: absolute;top:680px;left:10px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:685px;left:10px; width: 365px; height: 12px;text-align:center;  \" > \tYearly Demand (GW)</div> \t \t\t<div style=\"position: absolute;top:302px;left:381px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"coal-nuke-ccgt-wind-day.png \" alt=\"Daily Nuclear/Coal/CCGT/Wind (GW)\"></div> \t<div style=\"position: absolute;top:290px;left:380px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:295px;left:380px; width: 365px; height: 12px;text-align:center;  \" > \tDaily Nuclear/Coal/CCGT/Wind (GW)</div> \t \t\t<div style=\"position: absolute;top:432px;left:381px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"coal-nuke-ccgt-wind-week.png \" alt=\"Weekly Nuclear/Coal/CCGT/Wind (GW)\"></div> \t<div style=\"position: absolute;top:420px;left:380px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:425px;left:380px; width: 365px; height: 12px;text-align:center;  \" > \tWeekly Nuclear/Coal/CCGT/Wind (GW)</div> \t \t\t<div style=\"position: absolute;top:562px;left:381px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"coal-nuke-ccgt-wind-month.png \" alt=\"Monthly Nuclear/Coal/CCGT/Wind (GW)\"></div> \t<div style=\"position: absolute;top:550px;left:380px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:555px;left:380px; width: 365px; height: 12px;text-align:center;  \" > \tMonthly Nuclear/Coal/CCGT/Wind (GW)</div> \t \t\t<div style=\"position: absolute;top:692px;left:381px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"coal-nuke-ccgt-wind-year.png \" alt=\"Yearly Nuclear/Coal/CCGT/Wind (GW)\"></div> \t<div style=\"position: absolute;top:680px;left:380px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:685px;left:380px; width: 365px; height: 12px;text-align:center;  \" > \tYearly Nuclear/Coal/CCGT/Wind (GW)</div> \t \t\t<div style=\"position: absolute;top:302px;left:751px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"hydro-pumped-bio-day.png \" alt=\"Daily Hydro/Pumped/Bio. (GW)\"></div> \t<div style=\"position: absolute;top:290px;left:750px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:295px;left:750px; width: 365px; height: 12px;text-align:center;  \" > \tDaily Hydro/Pumped/Bio. (GW)</div> \t \t\t<div style=\"position: absolute;top:432px;left:751px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"hydro-pumped-bio-week.png \" alt=\"Weekly Hydro/Pumped/Bio. (GW)\"></div> \t<div style=\"position: absolute;top:420px;left:750px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:425px;left:750px; width: 365px; height: 12px;text-align:center;  \" > \tWeekly Hydro/Pumped/Bio. (GW)</div> \t \t\t<div style=\"position: absolute;top:562px;left:751px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"hydro-pumped-bio-month.png \" alt=\"Monthly Hydro/Pumped/Bio. (GW)\"></div> \t<div style=\"position: absolute;top:550px;left:750px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:555px;left:750px; width: 365px; height: 12px;text-align:center;  \" > \tMonthly Hydro/Pumped/Bio. (GW)</div> \t \t\t<div style=\"position: absolute;top:692px;left:751px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"hydro-pumped-bio-year.png \" alt=\"Yearly Hydro/Pumped/Bio.(GW)\"></div> \t<div style=\"position: absolute;top:680px;left:750px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:685px;left:750px; width: 365px; height: 12px;text-align:center;  \" > \tYearly Hydro/Pumped/Bio.(GW)</div> \t \t\t<div style=\"position: absolute;top:302px;left:1121px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"ict-day.png \" alt=\"Daily French/Irish/Dutch/EW ICT (GW)\"></div> \t<div style=\"position: absolute;top:290px;left:1120px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:295px;left:1120px; width: 365px; height: 12px;text-align:center;  \" > \tDaily French/Irish/Dutch/EW ICT (GW)</div> \t \t\t<div style=\"position: absolute;top:432px;left:1121px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"ict-week.png \" alt=\"Weekly French/Irish/Dutch/EW ICT (GW)\"></div> \t<div style=\"position: absolute;top:420px;left:1120px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:425px;left:1120px; width: 365px; height: 12px;text-align:center;  \" > \tWeekly French/Irish/Dutch/EW ICT (GW)</div> \t \t\t<div style=\"position: absolute;top:562px;left:1121px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"ict-month.png \" alt=\"Monthly French/Irish/Dutch/EW ICT (GW)\"></div> \t<div style=\"position: absolute;top:550px;left:1120px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:555px;left:1120px; width: 365px; height: 12px;text-align:center;  \" > \tMonthly French/Irish/Dutch/EW ICT (GW)</div> \t \t\t<div style=\"position: absolute;top:692px;left:1121px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"ict-year.png \" alt=\"Yearly French/Irish/Dutch/EW ICT (GW)\"></div> \t<div style=\"position: absolute;top:680px;left:1120px; width: 370px; height: 12px;text-align:center; font-weight: bold\" > \t<IMG src=\"bitmaps/graph-bezel.gif\"  alt=\"bezel\"> </div> \t<div class=\"bezel\" style=\"position: absolute;top:685px;left:1120px; width: 365px; height: 12px;text-align:center;  \" > \tYearly French/Irish/Dutch/EW ICT (GW)</div> \t \t\t <div style=\"position: absolute;top:810px;left:200px; height: 15px; width: 1250px; text-align: center\"><b>Data last recorded on  Saturday the 22nd. of April, 2017 at 10:00 BST</b> </div> <div class=\"bezel\" style=\"position: absolute;top:12px;left:40px; width: 190px; text-align: right\"> Download data sets (CSV):</div> <div style=\"position: absolute;top:10px;left:18px;\" ><a href=\"france\" > <IMG src=\"france/bitmaps/france-flag-md.png\" ></a></div> <div class=\"bezel\" style=\"position: absolute;top:36px;left:40px; width: 184px; vertical-align: center; text-align: right; font-size: 12px;\"> <a href=\"france\" >New! Gridwatch France</a> </div>  <div class=\"button\" onmouseover=\"this.className='hot-button'\"  onmouseout=\"this.className='button'\" style=\"Position: absolute; top:10px; left:220px; height: 20px; width: 150px; text-align:center;\"> <a class=\"mybutton\" href=\"download.php\">Download</a> </div> <div class=\"button\" onmouseover=\"this.className='hot-button'\"  onmouseout=\"this.className='button'\" style=\"Position: absolute; top:10px; left:340px; height: 20px; width: 150px; text-align:center;\"> <a class=\"mybutton\" href=\"/links.html\">Links</a> </div> <div class=\"button\" onmouseover=\"this.className='hot-button'\"  onmouseout=\"this.className='button'\" style=\"Position: absolute; top:10px; left:460px; height: 20px; width: 150px; text-align:center;\"> <a class=\"mybutton\" href=\"/about.html\">Info</a> </div> <div style=\"position: absolute;top:100px;left:200px; height: 15px; width: 1250px; text-align: center; display: none\"><H1 style= \"color:red\">!Elexon portals are currently not supplying accurate real time information on generation by fuel type.<br> Gridwatch is therefore not reporting up to date data! </H1> </div> </body>  </html>","payloadType":"str","repeat":"","crontab":"","once":false,"x":173,"y":425.7778015136719,"wires":[["ecc105c5.6f0818"]]},{"id":"90d11de5.e69a6","type":"http request","z":"4b2eb1f0.22dde","name":"UK Power","method":"GET","ret":"txt","url":"http://www.gridwatch.templar.co.uk/","tls":"","x":183,"y":279.7778015136719,"wires":[["ecc105c5.6f0818"]]},{"id":"3884f4bf.7762ec","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"Nuclear","group":"f9a02bfa.3f0d38","order":1,"width":"3","height":"3","gtype":"gage","title":"Nuclear","label":"GW","format":"{{value}}","min":"0","max":"10","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":736.0001411437988,"y":394.77784729003906,"wires":[]},{"id":"59334060.52838","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"Wind","group":"aeb3c467.0b6c48","order":6,"width":"3","height":"3","gtype":"gage","title":"Wind","label":"GW","format":"{{value}}","min":"0","max":"8","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":718,"y":497.7778015136719,"wires":[]},{"id":"760684aa.081c4c","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"Biomass","group":"aeb3c467.0b6c48","order":1,"width":"3","height":"3","gtype":"gage","title":"Biomass","label":"GW","format":"{{value}}","min":"0","max":"3","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":735,"y":552.7778015136719,"wires":[]},{"id":"768023a8.0e13ec","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"Freq","group":"9fdf17e4.ffcb18","order":4,"width":"6","height":"6","gtype":"gage","title":"Frequency","label":"Hz","format":"{{value}}","min":"45","max":"52","colors":["#ca3838","#00ff00","#ca3838"],"seg1":"49.5","seg2":"50.5","x":728.0000381469727,"y":314.77784156799316,"wires":[]},{"id":"ecc105c5.6f0818","type":"function","z":"4b2eb1f0.22dde","name":"Pwr Splitter","func":"// does a simple text extract parse of the http output to provide an\n// object containing the uk power demand, frequency and time\n\n\n    var dem = msg.payload.split('\"Demand ')[1].split(\"GW\")[0];\n    var fre = msg.payload.split('\"Frequency')[1].split(\"Hz\")[0];\n    var col = msg.payload.split('\"Coal ')[1].split(\"GW\")[0]; // Coal\n    var nuc = msg.payload.split('\"Nuclear ')[1].split(\"GW\")[0]; // Nuclear\n    var cgt = msg.payload.split('\"CCGT ')[1].split(\"GW\")[0]; // Gas Turbine\n    var wnd = msg.payload.split('\"Wind ')[1].split(\"GW\")[0]; // \n    var bio = msg.payload.split('\"Biomass ')[1].split(\"GW\")[0]; // \n    var pmp = msg.payload.split('\"Pumped ')[1].split(\"GW\")[0]; // \n    var hyd = msg.payload.split('\"Hydro ')[1].split(\"GW\")[0]; // \n    var sol = msg.payload.split('\"Solar ')[1].split(\"GW\")[0]; // \n    var ogt = msg.payload.split('\"OCGT ')[1].split(\"GW\")[0]; // \n    var fri = msg.payload.split('\"French ICT ')[1].split(\"GW\")[0]; \n    var nli = msg.payload.split('ch ICT ')[1].split(\" GW\")[0]; // \n    var iri = msg.payload.split('\"Irish ICT ')[1].split(\"GW\")[0]; // \n    var ewi = msg.payload.split('\"E-W ICT')[1].split(\"GW\")[0]; // \n    /* \n    */\n    \n    var dte = msg.payload.split('Data last recorded on')[1].split(\"<\")[0]; // \n\n    msg.payload = {};\n    msg.tall = \"test/pwr/demand\";\n    msg.topic = \"test/pwr/demand\";\n    msg.payload = parseFloat(dem);\n    \n    msg2 = {};\n    msg2.tall = \"test/pwr/frequency\";\n    msg2.topic = \"test/pwr/frequency\";\n    msg2.payload = parseFloat(fre);\n    \n    msg3 = {};\n    msg3.tall = \"test/pwr/coal\";\n    msg3.topic = \"test/pwr/coal\";\n    msg3.payload = parseFloat(col);\n    \n    msg4 = {};\n    msg4.tall = \"test/pwr/nuclear\";\n    msg4.topic = \"test/pwr/nuclear\";\n    msg4.payload = parseFloat(nuc);\n    \n    msg5 = {};\n    msg5.tall = \"test/pwr/ccgt\";\n    msg5.topic = \"test/pwr/ccgt\";\n    msg5.payload = parseFloat(cgt);\n    \n    msg6 = {};\n    msg6.tall = \"test/pwr/wind\";\n    msg6.topic = \"test/pwr/wind\";\n    msg6.payload = parseFloat(wnd);\n    \n    msg7 = {};\n    msg7.tall = \"test/pwr/biomass\";\n    msg7.topic = \"test/pwr/biomass\";\n    msg7.payload = parseFloat(bio);\n    \n    msg8 = {};\n    msg8.tall = \"test/pwr/pumped\";\n    msg8.topic = \"test/pwr/pumped\";\n    msg8.payload = parseFloat(pmp);\n    \n    msg9 = {};\n    msg9.tall = \"test/pwr/hydro\";\n    msg9.topic = \"test/pwr/hydro\";\n    msg9.payload = parseFloat(hyd);\n    \n    msg10 = {};\n    msg10.tall = \"test/pwr/sol\";\n    msg10.topic = \"test/pwr/sol\";\n    msg10.payload = parseFloat(sol);\n    \n    msg11 = {};\n    msg11.topic = \"test/pwr/ocgt\";\n    msg11.tall = \"test/pwr/ocgt\";\n    msg11.payload = parseFloat(ogt);\n    \n    msg12 = {};\n    msg12.tall = \"test/pwr/ict-fr\";\n    msg12.topic = \"test/pwr/ict-fr\";\n    msg12.payload = parseFloat(fri);\n    \n    msg13 = {};\n    msg13.tall = \"test/pwr/ict-nl\";\n    msg13.topic = \"test/pwr/ict-nl\";\n    msg13.payload = parseFloat(nli);\n    \n    msg14 = {};\n    msg14.tall = \"test/pwr/ict-ir\";\n    msg14.topic = \"test/pwr/ict-ir\";\n    msg14.payload = parseFloat(iri);\n    \n    msg15 = {};\n    msg15.topic = \"test/pwr/ict-ew\";\n    msg15.tall = \"test/pwr/ict-ew\";\n    msg15.payload = parseFloat(ewi);\n    \n    msg16 = {};\n    msg16.topic = \"test/pwr/time\";\n    msg16.payload = dte;\n\n\n    return [msg, msg2, msg3, msg4, msg5,msg6, msg7,msg8,msg9,msg10,msg11,msg12,msg13, msg14,msg15,msg16];\n    //return [msg, msg2, msg3, msg4, msg5,msg6, msg7,msg8,msg9,msg10,msg11];\n","outputs":"16","noerr":0,"x":452,"y":173.77780151367188,"wires":[["bb14ba36.0513b8","b2e0ff4f.7233","65dbb9eb.311918","561955a2.5be2bc","28d2cfd4.d6fad"],["768023a8.0e13ec","986314d7.331698","68ffbd97.59b6c4","561955a2.5be2bc","28d2cfd4.d6fad"],["4567ff42.98db4","22e09d66.2ea482","561955a2.5be2bc","28d2cfd4.d6fad"],["3884f4bf.7762ec","205beb25.2f7244","561955a2.5be2bc","28d2cfd4.d6fad"],["1b562ec0.b5fc21","c7a83b72.5c0678","561955a2.5be2bc","28d2cfd4.d6fad"],["59334060.52838","4c2a1fc7.3f08d","561955a2.5be2bc","28d2cfd4.d6fad"],["760684aa.081c4c","561955a2.5be2bc","28d2cfd4.d6fad","a56926c4.25c9f8"],["a9f5232b.6d03c","561955a2.5be2bc","28d2cfd4.d6fad","38074aa5.e47576"],["4df23fd1.8215e","561955a2.5be2bc","28d2cfd4.d6fad","5a46630e.f8be8c"],["33f80e03.f6c222","561955a2.5be2bc","28d2cfd4.d6fad","82a84748.cbafd8"],["b522ebbd.f1db28","561955a2.5be2bc","28d2cfd4.d6fad","ad113303.ae296"],["28d2cfd4.d6fad","f0987d60.8a07d","74b514f6.b352ec"],["28d2cfd4.d6fad","e7617e61.0a55c","e08b6104.43886"],["28d2cfd4.d6fad","8bef9436.06e3d8","c9c1d65e.b6b3c8"],["28d2cfd4.d6fad","d6528366.357ba","e8999004.faa12"],["82949742.5f69c8"]]},{"id":"a9f5232b.6d03c","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"Pumped","group":"f9a02bfa.3f0d38","order":4,"width":"3","height":"3","gtype":"gage","title":"Pumped","label":"GW","format":"{{value}}","min":"0","max":"3","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":736,"y":586.7778015136719,"wires":[]},{"id":"1b562ec0.b5fc21","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"CCGT","group":"f9a02bfa.3f0d38","order":5,"width":"3","height":"3","gtype":"gage","title":"CCGT","label":"GW","format":"{{value}}","min":"0","max":"35","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":722,"y":441.7778015136719,"wires":[]},{"id":"4df23fd1.8215e","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"Hydro","group":"f9a02bfa.3f0d38","order":3,"width":"3","height":"3","gtype":"gage","title":"Hydro","label":"GW","format":"{{value}}","min":"0","max":"3","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":727.2000122070312,"y":635.9778747558594,"wires":[]},{"id":"33f80e03.f6c222","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"Solar","group":"aeb3c467.0b6c48","order":3,"width":"3","height":"3","gtype":"gage","title":"Solar","label":"GW","format":"{{value}}","min":"0","max":"8","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":726.2000122070312,"y":679.9778747558594,"wires":[]},{"id":"4567ff42.98db4","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"Coal","group":"9fdf17e4.ffcb18","order":6,"width":"3","height":"3","gtype":"gage","title":"Coal","label":"MW","format":"{{value}}","min":"0","max":"10","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"8","x":731.2000389099121,"y":353.97794246673584,"wires":[]},{"id":"b522ebbd.f1db28","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"OCGT","group":"aeb3c467.0b6c48","order":2,"width":"3","height":"3","gtype":"gage","title":"OCGT","label":"GW","format":"{{value}}","min":"0","max":"8","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":730,"y":731.7778015136719,"wires":[]},{"id":"22e09d66.2ea482","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK Coal","topic":"test/pwr/coal","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1083,"y":355.7778015136719,"wires":[]},{"id":"205beb25.2f7244","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK Nuclear","topic":"test/pwr/nuclear","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1088,"y":394.7778015136719,"wires":[]},{"id":"c7a83b72.5c0678","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK CCGT","topic":"test/pwr/ccgt","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1088,"y":435.7778015136719,"wires":[]},{"id":"4c2a1fc7.3f08d","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK Wind","topic":"test/pwr/wind","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1081,"y":474.7778015136719,"wires":[]},{"id":"a56926c4.25c9f8","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK biomass","topic":"test/pwr/biomass","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1092,"y":515.7778015136719,"wires":[]},{"id":"65dbb9eb.311918","type":"ui_chart","z":"4b2eb1f0.22dde","name":"UK Demand Gr","group":"64f8fe17.a662a","order":5,"width":"6","height":"4","label":"Demand","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"bezier","nodata":"Waiting","ymin":"27","ymax":"50","removeOlder":"5","removeOlderPoints":"","removeOlderUnit":"60","cutout":0,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"x":884,"y":270.7778015136719,"wires":[[],[]]},{"id":"38074aa5.e47576","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK Pumped","topic":"test/pwr/pumped","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1090,"y":561.7778015136719,"wires":[]},{"id":"5a46630e.f8be8c","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK Hydro","topic":"test/pwr/hydro","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1095,"y":604.7778015136719,"wires":[]},{"id":"82a84748.cbafd8","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK Solar (est)","topic":"test/pwr/solar","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1104,"y":647.7778015136719,"wires":[]},{"id":"ad113303.ae296","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK OCGT","topic":"test/pwr/ocgt","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1095,"y":701.7778015136719,"wires":[]},{"id":"68ffbd97.59b6c4","type":"ui_chart","z":"4b2eb1f0.22dde","name":"Frequency Chrt","group":"9fdf17e4.ffcb18","order":5,"width":"6","height":"4","label":"Frequency Hz","chartType":"line","legend":"false","xformat":"HH:mm","interpolate":"bezier","nodata":"Waiting","ymin":"49","ymax":"51","removeOlder":"5","removeOlderPoints":"","removeOlderUnit":"60","cutout":0,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"x":888.1000366210938,"y":312.9779968261719,"wires":[[],[]]},{"id":"7fc5d3cd.d9321c","type":"mysql","z":"4b2eb1f0.22dde","mydb":"382daea.461db52","name":"mqtt","x":1278,"y":187.88888549804688,"wires":[["c693b11a.5ce51"]]},{"id":"28d2cfd4.d6fad","type":"function","z":"4b2eb1f0.22dde","name":"Store in DB","func":"msg.topic = \"INSERT INTO messages(topic,message) VALUES (\\\"? \\\",?)\";\nmsg.payload = [msg.tall, msg.payload];\nreturn msg;","outputs":1,"noerr":0,"x":1046,"y":147.88888549804688,"wires":[["7fc5d3cd.d9321c","e321fc5.a775e"]]},{"id":"561955a2.5be2bc","type":"debug","z":"4b2eb1f0.22dde","name":"","active":false,"console":"false","complete":"true","x":513,"y":639.7778015136719,"wires":[]},{"id":"e321fc5.a775e","type":"debug","z":"4b2eb1f0.22dde","name":"","active":false,"console":"false","complete":"false","x":1360,"y":399.8888854980469,"wires":[]},{"id":"c5814816.00b918","type":"debug","z":"4b2eb1f0.22dde","name":"","active":false,"console":"false","complete":"false","x":319,"y":515.8888854980469,"wires":[]},{"id":"f0987d60.8a07d","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK ICT-FR","topic":"test/pwr/ict-fr","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1099,"y":761.8888854980469,"wires":[]},{"id":"82949742.5f69c8","type":"ui_text","z":"4b2eb1f0.22dde","group":"9fdf17e4.ffcb18","order":1,"width":"6","height":"1","name":"LastUpdate","label":"","format":"{{msg.payload}}","layout":"row-spread","x":894,"y":729.8888854980469,"wires":[]},{"id":"d6528366.357ba","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"ICT-EW","group":"aeb3c467.0b6c48","order":4,"width":"3","height":"3","gtype":"gage","title":"ICT-EW","label":"GW","format":"{{value}}","min":"-4","max":"4","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":744.8958129882812,"y":780.7777404785156,"wires":[]},{"id":"c693b11a.5ce51","type":"debug","z":"4b2eb1f0.22dde","name":"","active":true,"console":"false","complete":"true","x":1432.8956871032715,"y":267.7778072357178,"wires":[]},{"id":"74b514f6.b352ec","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"ICT-Fr","group":"f9a02bfa.3f0d38","order":6,"width":"3","height":"3","gtype":"gage","title":"ICT-Fr","label":"GW","format":"{{value}}","min":"-4","max":"4","colors":["#ca3838","#80ff00","#ca3838"],"seg1":"-1","seg2":"1","x":861.8957939147949,"y":812.7777690887451,"wires":[]},{"id":"8bef9436.06e3d8","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"ICT-IRL","group":"aeb3c467.0b6c48","order":5,"width":"3","height":"3","gtype":"gage","title":"ICT-IRL","label":"GW","format":"{{value}}","min":"-1","max":"1","colors":["#ca3838","#80ff00","#ca3838"],"seg1":"-0.45","seg2":".45","x":753.8958129882812,"y":872.7777404785156,"wires":[]},{"id":"e7617e61.0a55c","type":"ui_gauge","z":"4b2eb1f0.22dde","name":"ICT-NL","group":"f9a02bfa.3f0d38","order":2,"width":"3","height":"3","gtype":"gage","title":"ICT-NL","label":"GW","format":"{{value}}","min":"-2","max":"2","colors":["#ca3838","#80ff00","#ca3838"],"seg1":"-.5","seg2":".5","x":893.8958129882812,"y":870.7777404785156,"wires":[]},{"id":"e08b6104.43886","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK ICT-NL","topic":"test/pwr/ict-nl","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1103.8958282470703,"y":814.777753829956,"wires":[]},{"id":"c9c1d65e.b6b3c8","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK ICT-FR","topic":"test/pwr/ict-fr","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1095.8958053588867,"y":859.7778015136719,"wires":[]},{"id":"e8999004.faa12","type":"mqtt out","z":"4b2eb1f0.22dde","name":"MQTT UK ICT-EW","topic":"test/pwr/ict-ew","qos":"1","retain":"","broker":"8585b2ff.c7a9a","x":1308.895751953125,"y":613.7777404785156,"wires":[]},{"id":"8585b2ff.c7a9a","type":"mqtt-broker","z":"","broker":"192.168.55.54","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""},{"id":"64f8fe17.a662a","type":"ui_group","z":"","name":"1","tab":"6e1fd95c.548578","order":1,"disp":true,"width":"6"},{"id":"f9a02bfa.3f0d38","type":"ui_group","z":"","name":"4","tab":"6e1fd95c.548578","order":3,"disp":true,"width":"6"},{"id":"aeb3c467.0b6c48","type":"ui_group","z":"","name":"3","tab":"6e1fd95c.548578","order":4,"disp":true,"width":"6"},{"id":"9fdf17e4.ffcb18","type":"ui_group","z":"","name":"2","tab":"6e1fd95c.548578","order":2,"disp":true,"width":"6"},{"id":"382daea.461db52","type":"MySQLdatabase","z":"","host":"192.168.0.1","port":"3306","db":"db_name","tz":""},{"id":"6e1fd95c.548578","type":"ui_tab","z":"","name":"Main","icon":"dashboard","order":2}]
rodders99

Flow Info

created 1 month ago

Node Types

Core
  • debug (x4)
  • function (x2)
  • http request (x1)
  • inject (x2)
  • mqtt out (x15)
  • mqtt-broker (x1)
Other
  • MySQLdatabase (x1)
  • mysql (x1)
  • tab (x1)
  • ui_chart (x2)
  • ui_gauge (x15)
  • ui_group (x4)
  • ui_tab (x1)
  • ui_text (x1)

Tags

  • GB
  • National
  • grid
  • power
  • status
  • mqtt
  • mysql
Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option