Dashboard ui crashing

#1

I keep having issues with the dashboard web page dropping out after a few hours. Then i have to reload the page. Im using chromium. Could that be the issue? Didnt start happening until recently.

0 Likes

#2

Have you got charts in your dashboard (on any page)? If so what is/are the chart time ranges, the total number lines and the sample rate at which you are adding points?
What hardware are the browser and node-red running on?
Does it say "Connection Lost" when it hangs?
[Edit] What exactly do you mean by "dropping out".

0 Likes

#3

I have charts on every page. This is the flow im running. Doesnt say connection lost. Just all my node disappear.

[{"id":"c9759d08.ecfe9","type":"switch","z":"6c09d71.3976f28","name":"switch 2","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"outdoor","vt":"str"},{"t":"cont","v":"ahu_s","vt":"str"},{"t":"cont","v":"ahu_r","vt":"str"},{"t":"cont","v":"boiler_s","vt":"str"},{"t":"cont","v":"boiler_r","vt":"str"},{"t":"cont","v":"waterheater","vt":"str"},{"t":"cont","v":"heatpump_s","vt":"str"},{"t":"cont","v":"heatpump_l","vt":"str"}],"checkall":"true","repair":false,"outputs":8,"x":375.83332443237305,"y":457.4999771118164,"wires":[["b55943b6.1a6f3","86c89cc3.6bf08"],["b55943b6.1a6f3","17f10f12.9660b1"],["b55943b6.1a6f3","64098762.ac3608"],["b55943b6.1a6f3","1ddbe3c7.3e88bc"],["b55943b6.1a6f3","2f0a0d24.1f0b82"],["b55943b6.1a6f3","2a0dcedd.6b2172"],["b55943b6.1a6f3","cdeace34.f3b57"],["b55943b6.1a6f3","f8c8d35.7706c3"]]},{"id":"b3130a6d.cb4a98","type":"function","z":"6c09d71.3976f28","name":"Water Temp Alarm","func":"var upperThreshold = 200;\nvar lowerThreshold = 60;\n\n\nvar previousTemp = context.previousTemp || \n        (upperThreshold - lowerThreshold)/2;\n        \nvar temp = msg.payload;\n\ncontext.previousTemp = temp;\n\n\n// Check if the new temp is different from the previous\nif (previousTemp != temp){\n\tif ((previousTemp < upperThreshold) \n\t    && (temp >= upperThreshold)){\n\t\tmsg.payload = \"BOILER OVERHEATING! Current temperature is \" + String(temp) + \"°F\";\n\t\treturn msg;\n\t}\n\telse if ((previousTemp > lowerThreshold) \n\t && (temp <= lowerThreshold)){\n\t\tmsg.payload = \"Boiler SHUTTING DOWN! Current temperature is \" + String(temp) + \"°F\";\n\t\treturn msg;\n\t}\n}","outputs":1,"noerr":0,"x":1446.7617797851562,"y":633.9285440444946,"wires":[["588913a4.d6ba5c","77bb81e6.a5a16"]]},{"id":"588913a4.d6ba5c","type":"debug","z":"6c09d71.3976f28","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1565.3332977294922,"y":805.2856837681361,"wires":[]},{"id":"c2fa8271.951a7","type":"debug","z":"6c09d71.3976f28","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":823.9047470092773,"y":845.2856788635254,"wires":[]},{"id":"3f5d1c52.0d8d94","type":"function","z":"6c09d71.3976f28","name":"String to Number","func":"msg.payload = Number(msg.payload);\nreturn msg;","outputs":1,"noerr":0,"x":602.4761548723493,"y":755.2856837681361,"wires":[["c2fa8271.951a7","383ff936.2737a6","90e337dc.a36c38","f26e50fa.a1025"]]},{"id":"90e337dc.a36c38","type":"function","z":"6c09d71.3976f28","name":"Flue OVERFIRE","func":"var upperThreshold = 700;\nvar lowerThreshold = 60;\n\n\nvar previousTemp = context.previousTemp || \n        (upperThreshold - lowerThreshold)/2;\n        \nvar temp = msg.payload;\n\ncontext.previousTemp = temp;\n\n\n// Check if the new temp is different from the previous\nif (previousTemp != temp){\n\tif ((previousTemp < upperThreshold) \n\t    && (temp >= upperThreshold)){\n\t\tmsg.payload = \"BOILER OVERFIRE! Current temperature is \" + String(temp) + \"°F\";\n\t\treturn msg;\n\t}\n\telse if ((previousTemp > lowerThreshold) \n\t && (temp <= lowerThreshold)){\n\t\tmsg.payload = \"Boiler SHUTTING DOWN! Current temperature is \" + String(temp) + \"°F\";\n\t\treturn msg;\n\t}\n}","outputs":1,"noerr":0,"x":861.0475845336914,"y":696.7141971588135,"wires":[["74da4921.c725c8"]]},{"id":"8cf0fadc.0fe5b8","type":"serial in","z":"6c09d71.3976f28","name":"","serial":"1f32b18b.fcfa2e","x":327.0833206176758,"y":790.2500114440918,"wires":[["404951f5.3f108","c9759d08.ecfe9"]]},{"id":"9cea4836.036798","type":"ui_gauge","z":"6c09d71.3976f28","name":"","group":"7d85d4e3.34fd4c","order":4,"width":"6","height":"6","gtype":"gage","title":"Outdoor","label":"Degrees F","format":"{{value}}","min":"-30","max":"120","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1478.3333129882812,"y":358.9999694824219,"wires":[]},{"id":"1343f3f9.aed30c","type":"ui_gauge","z":"6c09d71.3976f28","name":"","group":"330ba67c.56157a","order":1,"width":0,"height":0,"gtype":"gage","title":"ahu-s","label":"Degrees F","format":"{{value}}","min":"40","max":"120","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1467.3333129882812,"y":391.9999694824219,"wires":[]},{"id":"47f86ece.b012d","type":"ui_gauge","z":"6c09d71.3976f28","name":"","group":"b998bc0b.cb238","order":1,"width":0,"height":0,"gtype":"gage","title":"ahu-r","label":"Degrees F","format":"{{value}}","min":"40","max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1468.3333129882812,"y":423.9999694824219,"wires":[]},{"id":"997248ce.170a08","type":"ui_gauge","z":"6c09d71.3976f28","name":"","group":"6f0a462e.d6e518","order":1,"width":0,"height":0,"gtype":"gage","title":"water heater","label":"Degrees F","format":"{{value}}","min":"60","max":"240","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1484.3333129882812,"y":456.9999694824219,"wires":[]},{"id":"a6fd09d6.fc2ec8","type":"ui_gauge","z":"6c09d71.3976f28","name":"","group":"aded4dfc.6f216","order":2,"width":0,"height":0,"gtype":"gage","title":"Boiler Return","label":"Degrees F","format":"{{value}}","min":"60","max":"240","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1487.3333129882812,"y":487.9999694824219,"wires":[]},{"id":"2d023e3c.d37bf2","type":"ui_gauge","z":"6c09d71.3976f28","name":"","group":"1b2e1340.8794fd","order":6,"width":0,"height":0,"gtype":"gage","title":"Boiler Supply","label":"Degrees F","format":"{{value}}","min":"60","max":"240","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1484.3333129882812,"y":517.9999694824219,"wires":[]},{"id":"383ff936.2737a6","type":"ui_gauge","z":"6c09d71.3976f28","name":"","group":"8395d4ed.a9c258","order":1,"width":0,"height":0,"gtype":"gage","title":"Boiler Flue","label":"Degrees F","format":"{{value}}","min":"50","max":"900","colors":["#f1ff01","#ffa50a","#ff0000"],"seg1":"","seg2":"","x":829.619010925293,"y":750.9999752044678,"wires":[]},{"id":"e74882b5.1e29c","type":"ui_gauge","z":"6c09d71.3976f28","name":"","group":"d5e79a28.5d7798","order":1,"width":0,"height":0,"gtype":"gage","title":"Heatpump Suction Line","label":"Degrees F","format":"{{value}}","min":"30","max":"160","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1248.1903896331787,"y":833.8570594787598,"wires":[]},{"id":"3258fefd.bd5812","type":"ui_gauge","z":"6c09d71.3976f28","name":"","group":"fcc0935d.d3cc7","order":1,"width":0,"height":0,"gtype":"gage","title":"Heatpump Liquid Line","label":"Degrees F","format":"{{value}}","min":"30","max":"160","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":1242.4761562347412,"y":866.7142543792725,"wires":[]},{"id":"16eaf797.148978","type":"ui_chart","z":"6c09d71.3976f28","name":"","group":"1b2e1340.8794fd","order":1,"width":0,"height":0,"label":"Boiler Supply","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":1200.3333129882812,"y":700.9999694824219,"wires":[[],[]]},{"id":"61f32d2b.288264","type":"ui_chart","z":"6c09d71.3976f28","name":"","group":"7d85d4e3.34fd4c","order":1,"width":0,"height":0,"label":"OUTDOOR TEMP","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":1222.3333129882812,"y":732.9999694824219,"wires":[[],[]]},{"id":"1565b1ea.cee6ce","type":"ui_chart","z":"6c09d71.3976f28","name":"","group":"330ba67c.56157a","order":2,"width":0,"height":0,"label":"Air Handler Supply","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":1214.3333129882812,"y":571.9999694824219,"wires":[[],[]]},{"id":"686d198c.9d4038","type":"ui_chart","z":"6c09d71.3976f28","name":"","group":"b998bc0b.cb238","order":1,"width":0,"height":0,"label":"Air Handler Return","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":1215.3333129882812,"y":603.9999694824219,"wires":[[],[]]},{"id":"1338fc7d.2290b4","type":"ui_chart","z":"6c09d71.3976f28","name":"","group":"6f0a462e.d6e518","order":1,"width":0,"height":0,"label":"Water Heater","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":1202.3333129882812,"y":635.9999694824219,"wires":[[],[]]},{"id":"6f1d907c.9a671","type":"ui_chart","z":"6c09d71.3976f28","name":"","group":"aded4dfc.6f216","order":1,"width":0,"height":0,"label":"Boiler Return","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":1200.3333129882812,"y":668.9999694824219,"wires":[[],[]]},{"id":"1aefa388.557b3c","type":"ui_chart","z":"6c09d71.3976f28","name":"","group":"d5e79a28.5d7798","order":0,"width":0,"height":0,"label":"Heatpump Suction Line","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"8","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":1243.9047012329102,"y":766.7142696380615,"wires":[[],[]]},{"id":"81ff303c.fea7d","type":"ui_chart","z":"6c09d71.3976f28","name":"","group":"fcc0935d.d3cc7","order":0,"width":0,"height":0,"label":"Heatpump Liquid Line","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"8","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":1236.7618713378906,"y":798.1428089141846,"wires":[[],[]]},{"id":"f26e50fa.a1025","type":"ui_chart","z":"6c09d71.3976f28","name":"","group":"8395d4ed.a9c258","order":2,"width":0,"height":0,"label":"Boiler Flue","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"8","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":829.3332977294922,"y":787.9999694824219,"wires":[[],[]]},{"id":"b55943b6.1a6f3","type":"debug","z":"6c09d71.3976f28","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":316.3333206176758,"y":603.5000085830688,"wires":[]},{"id":"e5dcf766.c165f8","type":"change","z":"6c09d71.3976f28","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"FLUE","fromt":"str","to":" ","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":621.5555267333984,"y":872.2221822738647,"wires":[["3f5d1c52.0d8d94"]]},{"id":"404951f5.3f108","type":"switch","z":"6c09d71.3976f28","name":"","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"FLUE","vt":"str"},{"t":"cont","v":"PSI","vt":"str"},{"t":"cont","v":"A","vt":"str"},{"t":"cont","v":"B","vt":"str"}],"checkall":"true","repair":false,"outputs":4,"x":412.2222023010254,"y":887.7777404785156,"wires":[["e5dcf766.c165f8"],["1203958f.8229fa"],[],[]]},{"id":"1203958f.8229fa","type":"change","z":"6c09d71.3976f28","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"PSI","fromt":"str","to":" ","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":622.9999847412109,"y":914.3332958221436,"wires":[["3a8fcab0.273a66","2acc2e05.5c2702","4aa642f4.453e0c"]]},{"id":"3a8fcab0.273a66","type":"ui_gauge","z":"6c09d71.3976f28","name":"","group":"2539ee8b.0c17c2","order":1,"width":0,"height":0,"gtype":"gage","title":"Boiler Pressure","label":"PSI","format":"{{value}}","min":0,"max":"30","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":976.3333282470703,"y":880.9999542236328,"wires":[]},{"id":"2acc2e05.5c2702","type":"ui_chart","z":"6c09d71.3976f28","name":"","group":"2539ee8b.0c17c2","order":2,"width":0,"height":0,"label":"Boiler Pressure","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":978.5555114746094,"y":919.8888721466064,"wires":[[],[]]},{"id":"4aa642f4.453e0c","type":"function","z":"6c09d71.3976f28","name":"Boiler Pressure","func":"var upperThreshold = 26;\nvar lowerThreshold = 10;\n\n\nvar previousTemp = context.previousTemp || \n        (upperThreshold - lowerThreshold)/2;\n        \nvar temp = msg.payload;\n\ncontext.previousTemp = temp;\n\n\n// Check if the new temp is different from the previous\nif (previousTemp != temp){\n\tif ((previousTemp < upperThreshold) \n\t    && (temp >= upperThreshold)){\n\t\tmsg.payload = \"BOILER OVER PRESSURE! Current Pressure is \" + String(temp) + \"°F\";\n\t\treturn msg;\n\t}\n\telse if ((previousTemp > lowerThreshold) \n\t && (temp <= lowerThreshold)){\n\t\tmsg.payload = \"BOILER UNDER PRESSURE! Current pressure is \" + String(temp) + \"°F\";\n\t\treturn msg;\n\t}\n}","outputs":1,"noerr":0,"x":828.5555419921875,"y":967.6665954589844,"wires":[["2da7e18b.64897e"]]},{"id":"2d96500d.94f92","type":"e-mail","z":"6c09d71.3976f28","server":"smtp.gmail.com","port":"465","secure":true,"name":"boiler.node.red@gmail.com","dname":"Boiler Email","x":2087.7935791015625,"y":729.2857055664062,"wires":[]},{"id":"2da7e18b.64897e","type":"delay","z":"6c09d71.3976f28","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":1710.8689765930176,"y":757.2856826782227,"wires":[["2d96500d.94f92"]]},{"id":"74da4921.c725c8","type":"delay","z":"6c09d71.3976f28","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"2","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1709.4166870117188,"y":726.7499694824219,"wires":[["2d96500d.94f92"]]},{"id":"77bb81e6.a5a16","type":"delay","z":"6c09d71.3976f28","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"10","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1704.3333129882812,"y":694.9999694824219,"wires":[["4326613b.8a735"]]},{"id":"17f10f12.9660b1","type":"change","z":"6c09d71.3976f28","name":"ahu suply","rules":[{"t":"change","p":"payload","pt":"msg","from":"ahu_s","fromt":"str","to":" ","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":581.25,"y":366.25,"wires":[["1343f3f9.aed30c","1565b1ea.cee6ce"]]},{"id":"64098762.ac3608","type":"change","z":"6c09d71.3976f28","name":"ahu return","rules":[{"t":"change","p":"payload","pt":"msg","from":"ahu_r","fromt":"str","to":" ","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":587.5,"y":403.75,"wires":[["47f86ece.b012d","686d198c.9d4038"]]},{"id":"1ddbe3c7.3e88bc","type":"change","z":"6c09d71.3976f28","name":"boiler supply","rules":[{"t":"change","p":"payload","pt":"msg","from":"boiler_s","fromt":"str","to":" ","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":587.5,"y":448.75,"wires":[["2d023e3c.d37bf2","16eaf797.148978","b3130a6d.cb4a98","a777f1d7.e7626","25aa1b25.884414","fe83fa6f.3ffdc8"]]},{"id":"2f0a0d24.1f0b82","type":"change","z":"6c09d71.3976f28","name":"boiler return","rules":[{"t":"change","p":"payload","pt":"msg","from":"boiler_r","fromt":"str","to":" ","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":585,"y":493.75,"wires":[["a6fd09d6.fc2ec8","6f1d907c.9a671"]]},{"id":"2a0dcedd.6b2172","type":"change","z":"6c09d71.3976f28","name":"water heater","rules":[{"t":"change","p":"payload","pt":"msg","from":"waterheater","fromt":"str","to":" ","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":581.25,"y":542.5,"wires":[["997248ce.170a08","1338fc7d.2290b4"]]},{"id":"cdeace34.f3b57","type":"change","z":"6c09d71.3976f28","name":"heatpump suction","rules":[{"t":"change","p":"payload","pt":"msg","from":"heatpump_s","fromt":"str","to":" ","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":583.75,"wires":[["1aefa388.557b3c","e74882b5.1e29c"]]},{"id":"86c89cc3.6bf08","type":"change","z":"6c09d71.3976f28","name":"outdoor","rules":[{"t":"change","p":"payload","pt":"msg","from":"outdoor","fromt":"str","to":" ","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":590,"y":315,"wires":[["9cea4836.036798","61f32d2b.288264"]]},{"id":"f8c8d35.7706c3","type":"change","z":"6c09d71.3976f28","name":"heatpump liquid","rules":[{"t":"change","p":"payload","pt":"msg","from":"heatpump_l","fromt":"str","to":" ","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":583.75,"y":632.5,"wires":[["81ff303c.fea7d","3258fefd.bd5812"]]},{"id":"4326613b.8a735","type":"ui_switch","z":"6c09d71.3976f28","name":"","label":"Email Bypass, off for on","tooltip":"","group":"1b2e1340.8794fd","order":2,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"","style":"","onvalue":"false","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"true","offvalueType":"bool","officon":"","offcolor":"","x":1984.0000534057617,"y":667.1428375244141,"wires":[["2d96500d.94f92"]]},{"id":"a777f1d7.e7626","type":"function","z":"6c09d71.3976f28","name":"Boiler Relay 1","func":"var upperThreshold = 120;\nvar lowerThreshold = 110;\n\n\nvar previousTemp = context.previousTemp || \n        (upperThreshold - lowerThreshold)/2;\n        \nvar temp = msg.payload;\n\ncontext.previousTemp = temp;\n\n\n// Check if the new temp is different from the previous\nif (previousTemp != temp){\n\tif ((previousTemp < upperThreshold) \n\t    && (temp >= upperThreshold)){\n\t\tmsg.payload = \"1\";\n\t\treturn msg;\n\t}\n\telse if ((previousTemp > lowerThreshold) \n\t && (temp <= lowerThreshold)){\n\t\tmsg.payload = \"0\";\n\t\treturn msg;\n\t}\n}","outputs":1,"noerr":0,"x":924.2857360839844,"y":1014.2856788635254,"wires":[["d3e5c32e.9d2be","af7d0031.38"]]},{"id":"d3e5c32e.9d2be","type":"rpi-gpio out","z":"6c09d71.3976f28","name":"Water Heater Pump","pin":"38","set":true,"level":"0","freq":"","out":"out","x":1324.28564453125,"y":1004.2856884002686,"wires":[]},{"id":"fd0b613b.c0f84","type":"rpi-gpio out","z":"6c09d71.3976f28","name":"AHU On","pin":"37","set":true,"level":"0","freq":"","out":"out","x":1287.1428718566895,"y":1061.4285354614258,"wires":[]},{"id":"df66f26b.7d0e7","type":"rpi-gpio out","z":"6c09d71.3976f28","name":"","pin":"40","set":true,"level":"0","freq":"","out":"out","x":1292.8571243286133,"y":1127.1428203582764,"wires":[]},{"id":"25aa1b25.884414","type":"function","z":"6c09d71.3976f28","name":"Boiler Relay 2","func":"var upperThreshold = 100;\nvar lowerThreshold = 90;\n\n\nvar previousTemp = context.previousTemp || \n        (upperThreshold - lowerThreshold)/2;\n        \nvar temp = msg.payload;\n\ncontext.previousTemp = temp;\n\n\n// Check if the new temp is different from the previous\nif (previousTemp != temp){\n\tif ((previousTemp < upperThreshold) \n\t    && (temp >= upperThreshold)){\n\t\tmsg.payload = \"1\";\n\t\treturn msg;\n\t}\n\telse if ((previousTemp > lowerThreshold) \n\t && (temp <= lowerThreshold)){\n\t\tmsg.payload = \"0\";\n\t\treturn msg;\n\t}\n}","outputs":1,"noerr":0,"x":931.4285888671875,"y":1067.142822265625,"wires":[["fd0b613b.c0f84","989a9174.8be03"]]},{"id":"fe83fa6f.3ffdc8","type":"function","z":"6c09d71.3976f28","name":"Boiler Relay 3","func":"var upperThreshold = 100;\nvar lowerThreshold = 10;\n\n\nvar previousTemp = context.previousTemp || \n        (upperThreshold - lowerThreshold)/2;\n        \nvar temp = msg.payload;\n\ncontext.previousTemp = temp;\n\n\n// Check if the new temp is different from the previous\nif (previousTemp != temp){\n\tif ((previousTemp < upperThreshold) \n\t    && (temp >= upperThreshold)){\n\t\tmsg.payload = \"1\";\n\t\treturn msg;\n\t}\n\telse if ((previousTemp > lowerThreshold) \n\t && (temp <= lowerThreshold)){\n\t\tmsg.payload = \"0\";\n\t\treturn msg;\n\t}\n}","outputs":1,"noerr":0,"x":924.2857055664062,"y":1124.2857666015625,"wires":[["df66f26b.7d0e7"]]},{"id":"8344677.8602f98","type":"ui_text","z":"6c09d71.3976f28","group":"6f0a462e.d6e518","order":2,"width":0,"height":0,"name":"","label":"Pump Status","format":"{{msg.payload}}","layout":"row-spread","x":1244.2857284545898,"y":941.4285469055176,"wires":[]},{"id":"af7d0031.38","type":"function","z":"6c09d71.3976f28","name":"UI Pump Info","func":"var upperThreshold = 1;\nvar lowerThreshold = 0;\n\n\nvar previousTemp = context.previousTemp || \n        (upperThreshold - lowerThreshold)/2;\n        \nvar temp = msg.payload;\n\ncontext.previousTemp = temp;\n\n\n// Check if the new temp is different from the previous\nif (previousTemp != temp){\n\tif ((previousTemp < upperThreshold) \n\t    && (temp >= upperThreshold)){\n\t\tmsg.payload = \"Pump On\";\n\t\treturn msg;\n\t}\n\telse if ((previousTemp > lowerThreshold) \n\t && (temp <= lowerThreshold)){\n\t\tmsg.payload = \"Pump Off\";\n\t\treturn msg;\n\t}\n}","outputs":1,"noerr":0,"x":1088.5714111328125,"y":981.4285888671875,"wires":[["8344677.8602f98"]]},{"id":"989a9174.8be03","type":"function","z":"6c09d71.3976f28","name":"AHU Status Info","func":"var upperThreshold = 1;\nvar lowerThreshold = 0;\n\n\nvar previousTemp = context.previousTemp || \n        (upperThreshold - lowerThreshold)/2;\n        \nvar temp = msg.payload;\n\ncontext.previousTemp = temp;\n\n\n// Check if the new temp is different from the previous\nif (previousTemp != temp){\n\tif ((previousTemp < upperThreshold) \n\t    && (temp >= upperThreshold)){\n\t\tmsg.payload = \"AHU Enabled\";\n\t\treturn msg;\n\t}\n\telse if ((previousTemp > lowerThreshold) \n\t && (temp <= lowerThreshold)){\n\t\tmsg.payload = \"AHU Disabled\";\n\t\treturn msg;\n\t}\n}","outputs":1,"noerr":0,"x":1115.71435546875,"y":1044.2857666015625,"wires":[["21d0b960.b57096"]]},{"id":"65956025.ffc93","type":"function","z":"6c09d71.3976f28","name":"Boiler Relay 1","func":"var upperThreshold = 120;\nvar lowerThreshold = 110;\n\n\nvar previousTemp = context.previousTemp || \n        (upperThreshold - lowerThreshold)/2;\n        \nvar temp = msg.payload;\n\ncontext.previousTemp = temp;\n\n\n// Check if the new temp is different from the previous\nif (previousTemp != temp){\n\tif ((previousTemp < upperThreshold) \n\t    && (temp >= upperThreshold)){\n\t\tmsg.payload = \"1\";\n\t\treturn msg;\n\t}\n\telse if ((previousTemp > lowerThreshold) \n\t && (temp <= lowerThreshold)){\n\t\tmsg.payload = \"0\";\n\t\treturn msg;\n\t}\n}","outputs":1,"noerr":0,"x":1118.5714111328125,"y":1095.71435546875,"wires":[[]]},{"id":"21d0b960.b57096","type":"ui_text","z":"6c09d71.3976f28","group":"330ba67c.56157a","order":2,"width":0,"height":0,"name":"","label":"AHU Status","format":"{{msg.payload}}","layout":"row-spread","x":1558.5714285714284,"y":1018.5714285714284,"wires":[]},{"id":"1f32b18b.fcfa2e","type":"serial-port","z":"","serialport":"/dev/ttyUSB0","serialbaud":"9600","databits":"8","parity":"none","stopbits":"1","newline":"\\n","bin":"false","out":"char","addchar":false,"responsetimeout":"10000"},{"id":"7d85d4e3.34fd4c","type":"ui_group","z":"6c09d71.3976f28","name":"Outdoor","tab":"e63a0a81.b28898","disp":true,"width":"6","collapse":false},{"id":"330ba67c.56157a","type":"ui_group","z":"6c09d71.3976f28","name":"Air Handler Supply","tab":"24a0c7f1.018d68","disp":true,"width":"6","collapse":false},{"id":"b998bc0b.cb238","type":"ui_group","z":"6c09d71.3976f28","name":"Air Handler Return","tab":"24a0c7f1.018d68","disp":true,"width":"6","collapse":false},{"id":"6f0a462e.d6e518","type":"ui_group","z":"6c09d71.3976f28","name":"Water Heater","tab":"11f49fd1.7349c","order":3,"disp":true,"width":"6","collapse":false},{"id":"aded4dfc.6f216","type":"ui_group","z":"6c09d71.3976f28","name":"Boiler Return","tab":"49974152.2ecb4","order":2,"disp":true,"width":"6","collapse":false},{"id":"1b2e1340.8794fd","type":"ui_group","z":"6c09d71.3976f28","name":"Boiler Supply","tab":"49974152.2ecb4","order":1,"disp":true,"width":"6","collapse":false},{"id":"8395d4ed.a9c258","type":"ui_group","z":"6c09d71.3976f28","name":"Boiler Flue","tab":"49974152.2ecb4","order":3,"disp":true,"width":"6","collapse":false},{"id":"d5e79a28.5d7798","type":"ui_group","z":"6c09d71.3976f28","name":"Heatpump Suction Line","tab":"8b0df29c.14cb3","order":5,"disp":true,"width":"6","collapse":false},{"id":"fcc0935d.d3cc7","type":"ui_group","z":"6c09d71.3976f28","name":"Heatpump Liquid Line","tab":"8b0df29c.14cb3","disp":true,"width":"6","collapse":false},{"id":"2539ee8b.0c17c2","type":"ui_group","z":"","name":"Boiler Pressure","tab":"49974152.2ecb4","disp":true,"width":"6","collapse":false},{"id":"e63a0a81.b28898","type":"ui_tab","z":"6c09d71.3976f28","name":"Outdoor","icon":"dashboard","order":2},{"id":"24a0c7f1.018d68","type":"ui_tab","z":"6c09d71.3976f28","name":"Air Handler","icon":"dashboard","order":2},{"id":"11f49fd1.7349c","type":"ui_tab","z":"6c09d71.3976f28","name":"Water Heater","icon":"dashboard","order":2},{"id":"49974152.2ecb4","type":"ui_tab","z":"6c09d71.3976f28","name":"Boiler Room","icon":"dashboard"},{"id":"8b0df29c.14cb3","type":"ui_tab","z":"6c09d71.3976f28","name":"Heat Pump","icon":"dashboard","order":2}]
0 Likes

#4

Please answer the other questions asked.

0 Likes

#5

Its keeping 24 hours worth of data. I didnt see anything about the sampling rate.

0 Likes

#6

You have still not answered all the questions.
How many lines total?
The rate at which you add points is up to your flow. How often do give the charts data? Once a second? Once and hour or what?
[Edit] and what hardware are you running the browser and node red on?
[More edits] and how many charts?

0 Likes

#7

so only 24 points? Or 86400 points?
1 an hour or 1 a second.

It makes a bit of difference to the data volume you are storing in memory.

Also how many pixels wide is your chart, so how many points can you actually resolve?

0 Likes

#8

I have 10 charts. Im using a raspberry pi 3 b.
They are all line charts. Nothing is set in points option. Just x-axis lasts 24 hours.

0 Likes

#9

Am I not asking the questions clearly enough?
By how many lines total I meant the total number of lines over all the charts. So 5 lines on each of 10 charts would be 50 lines.
You still have not told us how often you pass a value to each chart.
I asked what hardware you are running the browser and node red on, are you running both on the pi?

0 Likes

#10

I have arduino sending the sensor info to node red and read by serial. Not sure the timing of how often it sends the data but id say 3-4 times a minute. Each chart is displaying 1 line only. I have 2-3 charts per tab. Node red is running on the pi and chromium is the browser im using.

0 Likes

#11

If you have 4 samples/minute for 24 hours that is 5760 points across the chart. But since your chart is, I imagine, only a few hundred pixels across you probably have more than 10 points per pixel, which is many more than is necessary. With 10 charts that is 57600 samples, though I am not sure whether they are all maintained when not on display. But even with three charts on screen that is 17000 samples that the browser has to handle and shift across every 15 seconds. I suspect that problem is that you are just running out of processor in the Pi. You could start by limiting the rate at which you send values to the chart to something more sensible. Maybe once every two minutes or thereabouts.

0 Likes

#12

ok. i changed the arduino to only send data once a minute. i will see how that does.

0 Likes