DeanCording / node-red-contrib-persist

A Node Red node to persist data over Node Red restarts.
MIT License
15 stars 15 forks source link

4th store fails to save.. #4

Open hunnimonstr opened 5 years ago

hunnimonstr commented 5 years ago

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"}]

StephanStS commented 4 years ago

Hello @hunnimonstr, I cannot import the export text you added. Can you check this again?

StephanStS commented 4 years ago

@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.

StephanStS commented 4 years ago

@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"}]

hunnimonstr commented 4 years ago

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":[[]]}]

StephanStS commented 4 years ago

Hello @hunnimonstr, I could use the inject nodes. What I saw was:

@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"}]

StephanStS commented 4 years ago

@DeanCording: I propose to close this issue now.