Smart Energy Meter

connect the raspberry pi with internet.

[{"id":"88fa0739.2e94a8","type":"tab","label":"Energie verbruik","disabled":false,"info":""},{"id":"9ca1a2c.bafe76","type":"inject","z":"88fa0739.2e94a8","name":"Start of the day","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"00 00 * * *","once":false,"onceDelay":0.1,"x":140,"y":120,"wires":[["90799776.afa048","de17266b.9b4b18","9cc1f9a1.27cf18"]]},{"id":"90799776.afa048","type":"change","z":"88fa0739.2e94a8","name":"Gas","rules":[{"t":"set","p":"payload","pt":"msg","to":"dailyusage","tot":"global"},{"t":"set","p":"dailyusage","pt":"global","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":80,"wires":[["159ea88.8d6ec58"]]},{"id":"cb270f6d.24d6e","type":"debug","z":"88fa0739.2e94a8","name":"Last Days","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":760,"y":80,"wires":[]},{"id":"675fb147.46d4c","type":"comment","z":"88fa0739.2e94a8","name":"Dagelijks verbruik en reset","info":"","x":150,"y":20,"wires":[]},{"id":"159ea88.8d6ec58","type":"function","z":"88fa0739.2e94a8","name":"Total usage","func":"msg.payload = \"Total usage today is \"+msg.payload\nreturn msg;","outputs":1,"noerr":0,"x":570,"y":80,"wires":[["cb270f6d.24d6e"]]},{"id":"2d264d5.9fe0bb2","type":"poll-state","z":"88fa0739.2e94a8","name":"Dal Tarief","server":"4463f6c4.b567b8","updateinterval":"2","outputinitially":false,"outputonchanged":false,"entity_id":"sensor.power_consumption_low","x":120,"y":360,"wires":[["47f912f1.565eec"]]},{"id":"47f912f1.565eec","type":"change","z":"88fa0739.2e94a8","name":"Convert","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":300,"y":360,"wires":[["4351a607.4d2808"]]},{"id":"4351a607.4d2808","type":"function","z":"88fa0739.2e94a8","name":"Power usage","func":"//Grab vorig dal from global variable for total usage\nvorigdal = global.get(\"totaaldal\")||0;\n\n//How much usage since the last update\nperiodedal = msg.payload - vorigdal;\n\n//Grab vorig dal from global variable for daily usage\ndagelijksdal = global.get(\"dagelijksdal\")||0;\n\ndagelijksdal = dagelijksdal + periodedal;\n\n//Update the global variables\nglobal.set(\"dagelijksdal\",dagelijksdal );\nglobal.set(\"totaaldal\", msg.payload);\n\nmsg.payload = parseFloat(dagelijksdal).toFixed(3)\n\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":360,"wires":[["ef7ea479.50ec18"]]},{"id":"d5c007ef.eb55b8","type":"ui_gauge","z":"88fa0739.2e94a8","name":"Stroom nu","group":"88cbb72.df21948","order":1,"width":"3","height":"3","gtype":"donut","title":"Stroom nu","label":"W","format":"{{value}}","min":0,"max":"6000","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":510,"y":260,"wires":[]},{"id":"ef7ea479.50ec18","type":"function","z":"88fa0739.2e94a8","name":"KWh naar Euro","func":"kwhprijs = 0.23 //23 cent\ncalc = parseFloat(msg.payload * kwhprijs).toFixed(2);\nvar msg1 = {payload:calc};\nreturn [msg1];","outputs":1,"noerr":0,"x":760,"y":340,"wires":[["244e1b79.28b1a4"]]},{"id":"244e1b79.28b1a4","type":"ui_text","z":"88fa0739.2e94a8","group":"88cbb72.df21948","order":3,"width":"6","height":"1","name":"Dal tarief","label":"Dal tarief","format":"{{msg.payload}} Euro","layout":"row-spread","x":740,"y":380,"wires":[]},{"id":"939b58c5.b66018","type":"ui_chart","z":"88fa0739.2e94a8","name":"VerbruikGrafiek","group":"88cbb72.df21948","order":2,"width":0,"height":0,"label":"","chartType":"line","legend":"false","xformat":"dd HH:mm","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"1","removeOlderPoints":"10000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":520,"y":300,"wires":[[],[]]},{"id":"de17266b.9b4b18","type":"change","z":"88fa0739.2e94a8","name":"Dal","rules":[{"t":"set","p":"payload","pt":"msg","to":"dagelijksdal","tot":"global"},{"t":"set","p":"dagelijksdal","pt":"global","to":"0","tot":"num"},{"t":"set","p":"vorigdal","pt":"msg","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":120,"wires":[["ed2ef7e.b41ce08"]]},{"id":"4d94f71a.934e88","type":"debug","z":"88fa0739.2e94a8","name":"Last Days","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":760,"y":120,"wires":[]},{"id":"ed2ef7e.b41ce08","type":"function","z":"88fa0739.2e94a8","name":"Total usage","func":"msg.payload = \"Total usage today is \"+msg.payload\nreturn msg;","outputs":1,"noerr":0,"x":570,"y":120,"wires":[["4d94f71a.934e88"]]},{"id":"1094f192.43f43e","type":"change","z":"88fa0739.2e94a8","name":"Convert","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload)*1000","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":300,"y":280,"wires":[["d5c007ef.eb55b8","939b58c5.b66018"]]},{"id":"f6258372.f7858","type":"poll-state","z":"88fa0739.2e94a8","name":"Gas","server":"4463f6c4.b567b8","updateinterval":"2","outputinitially":false,"outputonchanged":false,"entity_id":"sensor.gas_consumption","x":110,"y":720,"wires":[["94be3317.721d1"]]},{"id":"94be3317.721d1","type":"change","z":"88fa0739.2e94a8","name":"Convert","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":300,"y":720,"wires":[["a43aa836.e30f78"]]},{"id":"a43aa836.e30f78","type":"function","z":"88fa0739.2e94a8","name":"Gas usage","func":"//Grab previous value from global variable for total usage\npreviousvalue = global.get(\"totalvalue\")||0;\n\n//How much usage since the last update\nperiodvalue = msg.payload - previousvalue;\n\n//Grab previous value from global variable for daily usage\ndailyvalue = global.get(\"dailyusage\")||0;\n\ndailyvalue = dailyvalue + periodvalue;\n\n//Update the global variables.\nglobal.set(\"dailyusage\",dailyvalue );\nglobal.set(\"totalvalue\", msg.payload);\n\nmsg.payload = parseFloat(dailyvalue).toFixed(3)\n\nreturn msg;","outputs":1,"noerr":0,"x":490,"y":720,"wires":[["6bcc3e1a.d41b9","450350a7.1bd2e","6cae5772.5418d8"]]},{"id":"450350a7.1bd2e","type":"ui_gauge","z":"88fa0739.2e94a8","name":"Gas vandaag","group":"5dd90078.dcc25","order":1,"width":"3","height":"3","gtype":"donut","title":"Gas vandaag","label":"m3","format":"{{value}}","min":0,"max":"10","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":770,"y":660,"wires":[]},{"id":"6cae5772.5418d8","type":"ui_chart","z":"88fa0739.2e94a8","name":"VerbruikGrafiek","group":"5dd90078.dcc25","order":3,"width":"0","height":"0","label":"","chartType":"line","legend":"false","xformat":"dd HH:mm","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"1","removeOlderPoints":"10000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":780,"y":700,"wires":[[],[]]},{"id":"6bcc3e1a.d41b9","type":"function","z":"88fa0739.2e94a8","name":"m3 naar Euro","func":"gasprijs = 0.71 //0.7060 cent\ncalc = parseFloat(msg.payload * gasprijs).toFixed(2);\nvar msg1 = {payload:calc};\nreturn [msg1];","outputs":1,"noerr":0,"x":780,"y":740,"wires":[["f380c562.31b788"]]},{"id":"f380c562.31b788","type":"ui_text","z":"88fa0739.2e94a8","group":"5dd90078.dcc25","order":2,"width":0,"height":0,"name":"Verbruik Euro","label":"Kosten vandaag","format":"{{msg.payload}} Euro","layout":"row-spread","x":780,"y":800,"wires":[]},{"id":"fcf6f7a3.5eb198","type":"poll-state","z":"88fa0739.2e94a8","name":"Elektra verbruik","server":"4463f6c4.b567b8","updateinterval":"2","outputinitially":false,"outputonchanged":false,"entity_id":"sensor.power_consumption","x":140,"y":280,"wires":[["1094f192.43f43e"]]},{"id":"5e57a412.1e905c","type":"poll-state","z":"88fa0739.2e94a8","name":"Normaal Tarief","server":"4463f6c4.b567b8","updateinterval":"2","outputinitially":false,"outputonchanged":false,"entity_id":"sensor.power_consumption_normal","x":130,"y":500,"wires":[["8a920a62.d4b098"]]},{"id":"8a920a62.d4b098","type":"change","z":"88fa0739.2e94a8","name":"Convert","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(payload)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":320,"y":500,"wires":[["c5ace9b1.f967d8"]]},{"id":"c5ace9b1.f967d8","type":"function","z":"88fa0739.2e94a8","name":"Power usage","func":"//Grab vorig normaal from global variable for total usage\nvorignormaal = global.get(\"totaalnormaal\")||0;\n\n//How much usage since the last update\nperiodenormaal = msg.payload - vorignormaal;\n\n//Grab vorig normaal from global variable for daily usage\ndagelijksnormaal = global.get(\"dagelijksnormaal\")||0;\n\ndagelijksnormaal = dagelijksnormaal + periodenormaal;\n\n//Update the global variables\nglobal.set(\"dagelijksnormaal\",dagelijksnormaal );\nglobal.set(\"totaalnormaal\", msg.payload);\n\nmsg.payload = parseFloat(dagelijksnormaal).toFixed(3)\n\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":500,"wires":[["c3bc14e5.1a6888"]]},{"id":"c3bc14e5.1a6888","type":"function","z":"88fa0739.2e94a8","name":"KWh naar Euro","func":"kwhprijs = 0.23 //23 cent\ncalc = parseFloat(msg.payload * kwhprijs).toFixed(2);\nvar msg1 = {payload:calc};\nreturn [msg1];","outputs":1,"noerr":0,"x":760,"y":500,"wires":[["397c1ee5.ddbed2"]]},{"id":"397c1ee5.ddbed2","type":"ui_text","z":"88fa0739.2e94a8","group":"88cbb72.df21948","order":4,"width":"6","height":"1","name":"Normaal tarief","label":"Normaal tarief","format":"{{msg.payload}} Euro","layout":"row-spread","x":760,"y":540,"wires":[]},{"id":"9cc1f9a1.27cf18","type":"change","z":"88fa0739.2e94a8","name":"Normaal","rules":[{"t":"set","p":"payload","pt":"msg","to":"dagelijksnormaal","tot":"global"},{"t":"set","p":"dagelijksnormaal","pt":"global","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":160,"wires":[["399201e2.91d64e"]]},{"id":"399201e2.91d64e","type":"function","z":"88fa0739.2e94a8","name":"Total usage","func":"msg.payload = \"Total usage today is \"+msg.payload\nreturn msg;","outputs":1,"noerr":0,"x":570,"y":160,"wires":[["49c330da.d8856"]]},{"id":"49c330da.d8856","type":"debug","z":"88fa0739.2e94a8","name":"Last Days","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":760,"y":160,"wires":[]},{"id":"4463f6c4.b567b8","type":"server","z":"","name":"Home Assistant","legacy":true},{"id":"88cbb72.df21948","type":"ui_group","z":"","name":"Elektra","tab":"bfc64ecd.f4499","order":8,"disp":true,"width":"6","collapse":false},{"id":"5dd90078.dcc25","type":"ui_group","z":"","name":"Gas","tab":"bfc64ecd.f4499","order":9,"disp":true,"width":"6","collapse":false},{"id":"bfc64ecd.f4499","type":"ui_tab","z":"","name":"Energie","icon":"dashboard","order":1}]

Flow Info

Created 5 years, 6 months ago
Updated 4 years, 11 months ago
Rating: 5 1

Actions

Rate:

Node Types

Core
  • change (x7)
  • comment (x1)
  • debug (x3)
  • function (x9)
  • inject (x1)
Other
  • poll-state (x4)
  • server (x1)
  • tab (x1)
  • ui_chart (x2)
  • ui_gauge (x2)
  • ui_group (x2)
  • ui_tab (x1)
  • ui_text (x3)

Tags

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