Open hunnimonstr opened 5 years ago
Hello @hunnimonstr, I cannot import the export text you added. Can you check this again?
@hunnimonstr: I was able to import your flow. There was some manual work necessary to get an errorfree import of the "function":"func" node (I assume this is due to a different Node-RED version at your export, I am using Node-RED v1.0.5). I will try to go on and reproduce your problem.
@hunnimonstr: Due to a missing MQTT broker, there is no possible test of the feature. Could you add the contents of the 4 files? Or could you add some inject nodes to the flow that simulates a MQTT message?
Here is the export which can be importet in v1.0.5:
[{"id":"72e23953.42075","type":"mqtt in","z":"dcc01094.c9311","name":"Plant Notifications","topic":"Notify/Plant/#","qos":"2","broker":"7f59c028.886938","x":230,"y":540,"wires":[["b8f55dac.24bd08"]]},{"id":"b8f55dac.24bd08","type":"function","z":"dcc01094.c9311","name":"order plant metrics","func":"//Requires:\n// message with a numeric payload and topic in the \n// format Notify/Plant/X/Y where X ia a numeric id of \n// a sensor/plant area, and Y is a code indicating the\n// metric the payload represents\n//Returns:\n// a message in the format\n// PlantX/payload sent to the graph as indicated\n// by the metric code the payload containing the data\n//Results:\n// no expected side effects beyond\n// the relevant graphs should get updated with \n// the new data.\nvar plantnum = msg.topic.split(\"/\")[2];\nvar Metric = msg.topic.split(\"/\")[3];\nmsg.topic = msg.topic.split(\"/\")[1] + plantnum;\n// 4 x outputs 1 moisture metric = M\n// Battery level metric = B\n// Temperature metric = T\n// EC Metric = EC\n// return[msg1,msg2,msg3,msg4]\nswitch(Metric) {\n case 'M': // moisture\n return [msg,null,null,null]\n break;\n case 'B': //attery level\n return [null,msg,null,null]\n break;\n case 'T': // Temperature\n return [null,null,msg,null]\n break;\n case 'EC': // EC\n return [null,null,null,msg];\n break;\n default:\n return msg;\n}","outputs":4,"noerr":0,"x":476,"y":539.9999837875366,"wires":[["17577409.97691c"],["e6591bdd.2dfc98"],["ca343bfa.fbeac8"],["d0d20fda.587ba8"]],"outputLabels":["Mosture","Battery Level","Temperature","EC"]},{"id":"e72a693d.e8c6d8","type":"persist in","z":"dcc01094.c9311","name":"PlantMoisture","storageNode":"1c355554.82bd83","x":1060.000072479248,"y":426.0000247955322,"wires":[]},{"id":"250e85c5.e8c412","type":"persist in","z":"dcc01094.c9311","name":"BatteryLevel","storageNode":"50cda70a.66e568","x":1048.999994277954,"y":478.9999704360962,"wires":[]},{"id":"dec69dd2.e9cc5","type":"persist in","z":"dcc01094.c9311","name":"PlantTemperature","storageNode":"b58192e.59713f","x":1068.9999923706055,"y":584.9999847412109,"wires":[]},{"id":"92ace5a2.c0683","type":"persist in","z":"dcc01094.c9311","name":"Plant EC","storageNode":"3e505b22.d76f24","x":1036.9999904632568,"y":624.9999694824219,"wires":[]},{"id":"194bb46e.4a61fc","type":"persist out","z":"dcc01094.c9311","name":"PlantMoisture","storageNode":"1c355554.82bd83","x":246.00005340576172,"y":448.99998664855957,"wires":[["17577409.97691c"]]},{"id":"b65fe373.7db22","type":"persist out","z":"dcc01094.c9311","name":"BatteryLevel","storageNode":"50cda70a.66e568","x":236.00000762939453,"y":486.99998474121094,"wires":[["e6591bdd.2dfc98"]]},{"id":"d56d3653.561818","type":"persist out","z":"dcc01094.c9311","name":"PlantTemperature","storageNode":"b58192e.59713f","x":253.00002670288086,"y":595.0000095367432,"wires":[["ca343bfa.fbeac8"]]},{"id":"5aa17092.d708c","type":"persist out","z":"dcc01094.c9311","name":"PlantEC","storageNode":"3e505b22.d76f24","x":222.00002670288086,"y":633.9999942779541,"wires":[["d0d20fda.587ba8"]]},{"id":"17577409.97691c","type":"ui_chart","z":"dcc01094.c9311","name":"Moisture","group":"9fd8b3f8.634608","order":1,"width":"24","height":"6","label":"Moisture","chartType":"line","legend":"true","xformat":"auto","interpolate":"linear","nodata":"waiting","dot":true,"ymin":"0","ymax":"100","removeOlder":1,"removeOlderPoints":"1000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":2,"x":705.000057220459,"y":445.9999852180481,"wires":[["e72a693d.e8c6d8"],[]],"outputLabels":["persistant store",""]},{"id":"e6591bdd.2dfc98","type":"ui_chart","z":"dcc01094.c9311","name":"","group":"9fd8b3f8.634608","order":4,"width":"24","height":"6","label":"Battery Level %","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":true,"ymin":"0","ymax":"106","removeOlder":1,"removeOlderPoints":"1000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":1,"x":720.9999980926514,"y":485.999981880188,"wires":[["250e85c5.e8c412"]],"outputLabels":["persistant store",""]},{"id":"ca343bfa.fbeac8","type":"ui_chart","z":"dcc01094.c9311","name":"","group":"9fd8b3f8.634608","order":2,"width":"24","height":"6","label":"Temperature","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":true,"ymin":"5","ymax":"45","removeOlder":1,"removeOlderPoints":"1000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":2,"x":711.0000553131104,"y":593.0000123977661,"wires":[["dec69dd2.e9cc5"],[]],"outputLabels":["persistant store",""]},{"id":"d0d20fda.587ba8","type":"ui_chart","z":"dcc01094.c9311","name":"","group":"9fd8b3f8.634608","order":3,"width":"24","height":"6","label":"EC","chartType":"line","legend":"true","xformat":"auto","interpolate":"linear","nodata":"","dot":true,"ymin":"0","ymax":"","removeOlder":1,"removeOlderPoints":"1000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":2,"x":692.9999923706055,"y":633.999997138977,"wires":[["92ace5a2.c0683"],[]],"outputLabels":["persistant store",""]},{"id":"7f59c028.886938","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"1c355554.82bd83","type":"persist-store","z":"","filename":"/home/Node-RED/moisture.json","interval":"100"},{"id":"50cda70a.66e568","type":"persist-store","z":"","filename":"/home/Node-RED/batterylevel.json","interval":"90"},{"id":"b58192e.59713f","type":"persist-store","z":"","filename":"/home/Node-RED/temperature.json","interval":"80"},{"id":"3e505b22.d76f24","type":"persist-store","z":"","filename":"/home/Node-RED/electroconductivity.json","interval":"60"},{"id":"9fd8b3f8.634608","type":"ui_group","z":"","name":"PC","tab":"f787ca9.2822db8","order":1,"disp":true,"width":"24","collapse":false},{"id":"f787ca9.2822db8","type":"ui_tab","z":"","name":"Home","icon":"dashboard"}]
Thanks for looking. the problem is probably my bad use of javascript in the function and confusion on the termination of a return/break command combo within a switch test.. I am now saving in sqlite atm as this loss of dqat was getting to be a pita, but to replicate the mqtt nitify publications the following 4 x inject nodes should do it.
[{"id":"a3a1c2f9.b16fa","type":"inject","z":"c3d8d21d.ac538","name":"","topic":"Notify/Plant1/M","payload":"50","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":153.01735305786133,"y":528.0000267028809,"wires":[[]]},{"id":"cca5f140.0223e","type":"inject","z":"c3d8d21d.ac538","name":"","topic":"Notify/Plant1/T","payload":"21","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":142.07638549804688,"y":488.96878814697266,"wires":[[]]},{"id":"66b63ef0.0d39","type":"inject","z":"c3d8d21d.ac538","name":"","topic":"Notify/Plant1/B","payload":"95","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":317.01733016967773,"y":527.0000228881836,"wires":[[]]},{"id":"b9bd1b3a.b217f8","type":"inject","z":"c3d8d21d.ac538","name":"","topic":"Notify/Plant1/EC","payload":"1000","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":490.01733016967773,"y":525.0000224113464,"wires":[[]]}]
Hello @hunnimonstr, I could use the inject nodes. What I saw was:
persist in
node ("Plant EC" instead of "PlantEC")@DeanCording: For now, I would propose to close this issue.
Attached is my flow contents for the test, so that you may also be able to play (don't forget to adjust the persistence file location):
[{"id":"150a1b79.7f04f5","type":"inject","z":"a4c61204.eaffb8","name":"","topic":"Notify/Plant/1/M","payload":"50","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":560,"y":260,"wires":[["45b24922.1a0a5"]]},{"id":"39a267b4.a382e8","type":"inject","z":"a4c61204.eaffb8","name":"","topic":"Notify/Plant/1/T","payload":"21","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":260,"wires":[["45b24922.1a0a5"]]},{"id":"e7632b3e.a22298","type":"inject","z":"a4c61204.eaffb8","name":"","topic":"Notify/Plant/1/B","payload":"95","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":560,"y":140,"wires":[["45b24922.1a0a5"]]},{"id":"94caea12.d84268","type":"inject","z":"a4c61204.eaffb8","name":"","topic":"Notify/Plant/1/EC","payload":"1000","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":270,"y":140,"wires":[["45b24922.1a0a5"]]},{"id":"db28086f.7d2b4","type":"mqtt in","z":"a4c61204.eaffb8","d":true,"name":"Plant Notifications","topic":"Notify/Plant/#","qos":"2","datatype":"auto","broker":"7f59c028.886938","x":290,"y":600,"wires":[["da7b848c.a7186"]]},{"id":"da7b848c.a7186","type":"function","z":"a4c61204.eaffb8","name":"order plant metrics","func":"//Requires:\n// message with a numeric payload and topic in the \n// format Notify/Plant/X/Y where X ia a numeric id of \n// a sensor/plant area, and Y is a code indicating the\n// metric the payload represents\n//Returns:\n// a message in the format\n// PlantX/payload sent to the graph as indicated\n// by the metric code the payload containing the data\n//Results:\n// no expected side effects beyond\n// the relevant graphs should get updated with \n// the new data.\nvar plantnum = msg.topic.split(\"/\")[2];\nvar Metric = msg.topic.split(\"/\")[3];\nmsg.topic = msg.topic.split(\"/\")[1] + plantnum;\n// 4 x outputs 1 moisture metric = M\n// Battery level metric = B\n// Temperature metric = T\n// EC Metric = EC\n// return[msg1,msg2,msg3,msg4]\nswitch(Metric) {\n case 'M': // moisture\n return [msg,null,null,null]\n break;\n case 'B': //attery level\n return [null,msg,null,null]\n break;\n case 'T': // Temperature\n return [null,null,msg,null]\n break;\n case 'EC': // EC\n return [null,null,null,msg];\n break;\n default:\n return msg;\n}","outputs":4,"noerr":0,"x":536,"y":599.9999837875366,"wires":[["54bdfec2.ee4a5","c3a80152.4fadb8"],["6064ece2.877d3c","6a2957d.17e7fa8"],["32da1e1a.f0d492","3ddd806c.b7fed8"],["453387f7.4f4528","f538b2f7.55de9"]],"outputLabels":["Mosture","Battery Level","Temperature","EC"]},{"id":"c38f5aa0.6180a","type":"persist in","z":"a4c61204.eaffb8","name":"PlantMoisture","storageNode":"1c355554.82bd83","x":1120.000072479248,"y":486.0000247955322,"wires":[]},{"id":"dec1893.72b2e78","type":"persist in","z":"a4c61204.eaffb8","name":"BatteryLevel","storageNode":"50cda70a.66e568","x":1108.999994277954,"y":538.9999704360962,"wires":[]},{"id":"18c91dc4.2ef442","type":"persist in","z":"a4c61204.eaffb8","name":"PlantTemperature","storageNode":"b58192e.59713f","x":1128.9999923706055,"y":644.9999847412109,"wires":[]},{"id":"d2c8b5c9.3713c8","type":"persist in","z":"a4c61204.eaffb8","name":"PlantEC","storageNode":"3e505b22.d76f24","x":1096.9999904632568,"y":684.9999694824219,"wires":[]},{"id":"d8e6063e.db9158","type":"persist out","z":"a4c61204.eaffb8","name":"PlantMoisture","storageNode":"1c355554.82bd83","x":306.0000534057617,"y":508.99998664855957,"wires":[["c3a80152.4fadb8"]]},{"id":"289d95be.61bf0a","type":"persist out","z":"a4c61204.eaffb8","name":"BatteryLevel","storageNode":"50cda70a.66e568","x":296.00000762939453,"y":546.9999847412109,"wires":[["6064ece2.877d3c"]]},{"id":"ef47a01e.3d8dd8","type":"persist out","z":"a4c61204.eaffb8","name":"PlantTemperature","storageNode":"b58192e.59713f","x":313.00002670288086,"y":655.0000095367432,"wires":[["32da1e1a.f0d492"]]},{"id":"e3ae1cfe.caaa68","type":"persist out","z":"a4c61204.eaffb8","name":"PlantEC","storageNode":"3e505b22.d76f24","x":282.00002670288086,"y":693.9999942779541,"wires":[["453387f7.4f4528"]]},{"id":"c3a80152.4fadb8","type":"ui_chart","z":"a4c61204.eaffb8","name":"","group":"9fd8b3f8.634608","order":1,"width":"24","height":"6","label":"Moisture","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":true,"ymin":"0","ymax":"100","removeOlder":1,"removeOlderPoints":"1000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":1,"x":765.000057220459,"y":505.9999852180481,"wires":[["c38f5aa0.6180a"]],"outputLabels":["persistant store"]},{"id":"6064ece2.877d3c","type":"ui_chart","z":"a4c61204.eaffb8","name":"","group":"9fd8b3f8.634608","order":4,"width":"24","height":"6","label":"Battery Level %","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":true,"ymin":"0","ymax":"106","removeOlder":1,"removeOlderPoints":"1000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":1,"x":780.9999980926514,"y":545.999981880188,"wires":[["dec1893.72b2e78"]],"outputLabels":["persistant store",""]},{"id":"32da1e1a.f0d492","type":"ui_chart","z":"a4c61204.eaffb8","name":"","group":"9fd8b3f8.634608","order":2,"width":"24","height":"6","label":"Temperature","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":true,"ymin":"5","ymax":"45","removeOlder":1,"removeOlderPoints":"1000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":1,"x":771.0000553131104,"y":653.0000123977661,"wires":[["18c91dc4.2ef442"]],"outputLabels":["persistant store",""]},{"id":"453387f7.4f4528","type":"ui_chart","z":"a4c61204.eaffb8","name":"","group":"9fd8b3f8.634608","order":3,"width":"24","height":"6","label":"EC","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":true,"ymin":"0","ymax":"","removeOlder":1,"removeOlderPoints":"1000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"outputs":1,"x":752.9999923706055,"y":693.999997138977,"wires":[["d2c8b5c9.3713c8"]],"outputLabels":["persistant store"]},{"id":"45b24922.1a0a5","type":"fan","z":"a4c61204.eaffb8","x":810,"y":220,"wires":[["da7b848c.a7186"]]},{"id":"47d57756.88eb9","type":"inject","z":"a4c61204.eaffb8","name":"","topic":"Notify/Plant/1/M","payload":"55","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":560,"y":300,"wires":[["45b24922.1a0a5"]]},{"id":"6e18024e.cfa7d4","type":"inject","z":"a4c61204.eaffb8","name":"","topic":"Notify/Plant/1/T","payload":"42","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":300,"wires":[["45b24922.1a0a5"]]},{"id":"d9685273.1a1e4","type":"inject","z":"a4c61204.eaffb8","name":"","topic":"Notify/Plant/1/B","payload":"99","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":560,"y":180,"wires":[["45b24922.1a0a5"]]},{"id":"d3eec4e5.ac338","type":"inject","z":"a4c61204.eaffb8","name":"","topic":"Notify/Plant/1/EC","payload":"1001","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":270,"y":180,"wires":[["45b24922.1a0a5"]]},{"id":"54bdfec2.ee4a5","type":"debug","z":"a4c61204.eaffb8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":750,"y":400,"wires":[]},{"id":"6a2957d.17e7fa8","type":"debug","z":"a4c61204.eaffb8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":750,"y":460,"wires":[]},{"id":"3ddd806c.b7fed8","type":"debug","z":"a4c61204.eaffb8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":750,"y":740,"wires":[]},{"id":"f538b2f7.55de9","type":"debug","z":"a4c61204.eaffb8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":750,"y":780,"wires":[]},{"id":"7f59c028.886938","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"1c355554.82bd83","type":"persist-store","z":0,"filename":"/home/Node-RED/moisture.json","interval":"100"},{"id":"50cda70a.66e568","type":"persist-store","z":"","filename":"/home/Node-RED/batterylevel.json","interval":"90"},{"id":"b58192e.59713f","type":"persist-store","z":"","filename":"/home/Node-RED/temperature.json","interval":"80"},{"id":"3e505b22.d76f24","type":"persist-store","z":"","filename":"/home/Node-RED/electroconductivity.json","interval":"60"},{"id":"9fd8b3f8.634608","type":"ui_group","z":"","name":"PC","tab":"f787ca9.2822db8","order":1,"disp":true,"width":"24","collapse":false},{"id":"f787ca9.2822db8","type":"ui_tab","z":"","name":"Home","icon":"dashboard"}]
@DeanCording: I propose to close this issue now.
I am using 4 x graphs in a dashboard and 4 x persistent store files, but the 4th graph fails to restore after a system restart?
the whole graph/store subflow is as follows.. Every time my pi reboots the EC graph is empty..
Thanks.
[{"id":"67194ebe.24bad","type":"mqtt in","z":"c3d8d21d.ac538","name":"Plant Notifications","topic":"Notify/Plant/#","qos":"2","broker":"a368882b.be65d8","x":213.00012969970703,"y":839.0390968322754,"wires":[["77778f05.6f8ab"]]},{"id":"77778f05.6f8ab","type":"function","z":"c3d8d21d.ac538","name":"order plant metrics","func":"//Requires:\n// message with a numeric payload and topic in the \n// format Notify/Plant/X/Y where X ia a numeric id of \n// a sensor/plant area, and Y is a code indicating the\n// metric the payload represents\n//Returns:\n// a message in the format\n// PlantX\payload sent to the graph as indicated\n// by the metric code the payload containing the data\n//Results:\n// no expected side effects beyond\n// the relevant graphs should get updated with \n// the new data.\nvar plantnum = msg.topic.split(\"/\")[2];\nvar Metric = msg.topic.split(\"/\")[3];\nmsg.topic = msg.topic.split(\"/\")[1]+ plantnum;\n// 4 x outputs 1 moisture metric = M\n// Battery level metric = B\n// Temperature metric = T\n// EC Metric = EC\n// return[msg1,msg2,msg3,msg4]\nswitch(Metric) {\n case 'M': // moisture\n return [msg,null,null,null]\n break;\n case 'B': //attery level\n return [null,msg,null,null]\n break;\n case 'T': // Temperature\n return [null,null,msg,null]\n break;\n case 'EC': // EC\n return [null,null,null,msg];\n break;\n default:\n return msg;\n}","outputs":4,"noerr":0,"x":459.00012969970703,"y":839.039080619812,"wires":[["65cec4e0.c104ec"],["e31e5024.22819"],["c5505726.221e58"],["330322a6.79076e"]],"outputLabels":["Mosture","Battery Level","Temperature","EC"]},{"id":"e2915821.2a81e8","type":"persist in","z":"c3d8d21d.ac538","name":"PlantMoisture","storageNode":"e2fd001c.c7677","x":1043.000202178955,"y":725.0391216278076,"wires":[]},{"id":"49d72841.768898","type":"persist in","z":"c3d8d21d.ac538","name":"BatteryLevel","storageNode":"d062dc20.7217b","x":1032.0001239776611,"y":778.0390672683716,"wires":[]},{"id":"da8e890e.6ab1a8","type":"persist in","z":"c3d8d21d.ac538","name":"PlantTemperature","storageNode":"42a8b7b8.d63598","x":1052.0001220703125,"y":884.0390815734863,"wires":[]},{"id":"aa65de30.44c3c","type":"persist in","z":"c3d8d21d.ac538","name":"Plant EC","storageNode":"d0a2b159.06af3","x":1020.0001201629639,"y":924.0390663146973,"wires":[]},{"id":"b88c2080.4729c","type":"persist out","z":"c3d8d21d.ac538","name":"PlantMoisture","storageNode":"e2fd001c.c7677","x":229.00018310546875,"y":748.039083480835,"wires":[["65cec4e0.c104ec"]]},{"id":"5f6849d9.4a1348","type":"persist out","z":"c3d8d21d.ac538","name":"BatteryLevel","storageNode":"d062dc20.7217b","x":219.00013732910156,"y":786.0390815734863,"wires":[["e31e5024.22819"]]},{"id":"9e05ef14.6632d","type":"persist out","z":"c3d8d21d.ac538","name":"PlantTemperature","storageNode":"42a8b7b8.d63598","x":236.0001564025879,"y":894.0391063690186,"wires":[["c5505726.221e58"]]},{"id":"75a53003.3ef03","type":"persist out","z":"c3d8d21d.ac538","name":"PlantEC","storageNode":"d0a2b159.06af3","x":205.0001564025879,"y":933.0390911102295,"wires":[["330322a6.79076e"]]},{"id":"65cec4e0.c104ec","type":"ui_chart","z":"c3d8d21d.ac538","name":"Moisture","group":"9bd2a697.f535d8","order":1,"width":"24","height":"6","label":"Moisture","chartType":"line","legend":"true","xformat":"auto","interpolate":"linear","nodata":"waiting","dot":true,"ymin":"0","ymax":"100","removeOlder":1,"removeOlderPoints":"1000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"x":688.000186920166,"y":745.0390820503235,"wires":[["e2915821.2a81e8"],[]],"outputLabels":["persistant store",""]},{"id":"e31e5024.22819","type":"ui_chart","z":"c3d8d21d.ac538","name":"","group":"9bd2a697.f535d8","order":4,"width":"24","height":"6","label":"Batery Level %","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":true,"ymin":"0","ymax":"106","removeOlder":1,"removeOlderPoints":"1000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"x":704.0001277923584,"y":785.0390787124634,"wires":[["49d72841.768898"],[]],"outputLabels":["persistant store",""]},{"id":"c5505726.221e58","type":"ui_chart","z":"c3d8d21d.ac538","name":"","group":"9bd2a697.f535d8","order":2,"width":"24","height":"6","label":"Temperature","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":true,"ymin":"5","ymax":"45","removeOlder":1,"removeOlderPoints":"1000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"x":694.0001850128174,"y":892.0391092300415,"wires":[["da8e890e.6ab1a8"],[]],"outputLabels":["persistant store",""]},{"id":"330322a6.79076e","type":"ui_chart","z":"c3d8d21d.ac538","name":"","group":"9bd2a697.f535d8","order":3,"width":"24","height":"6","label":"EC","chartType":"line","legend":"true","xformat":"auto","interpolate":"linear","nodata":"","dot":true,"ymin":"0","ymax":"","removeOlder":1,"removeOlderPoints":"1000","removeOlderUnit":"604800","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"x":676.0001220703125,"y":933.0390939712524,"wires":[["aa65de30.44c3c"],[]],"outputLabels":["persistant store",""]},{"id":"a368882b.be65d8","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"e2fd001c.c7677","type":"persist-store","z":"","filename":"moisture.json","interval":"100"},{"id":"d062dc20.7217b","type":"persist-store","z":"","filename":"batterylevel.json","interval":"90"},{"id":"42a8b7b8.d63598","type":"persist-store","z":"","filename":"temperature.json","interval":"80"},{"id":"d0a2b159.06af3","type":"persist-store","z":"","filename":"electroconductivity.json","interval":"60"},{"id":"9bd2a697.f535d8","type":"ui_group","z":"","name":"PC","tab":"2956ec1.813c114","disp":true,"width":"24","collapse":false},{"id":"2956ec1.813c114","type":"ui_tab","z":"","name":"Home","icon":"dashboard"}]