Hi,
You can also store the events in a CSV file, and inject them with the UI_control or with a button on the dashboard:
Here is an example that contains columns of:
[{"id":"404a5cd2ecc70b5b","type":"csv","z":"cffff426.560868","name":"","sep":",","hdrin":"","hdrout":"all","multi":"one","ret":"\\n","temp":"Timestamp,Event,Status","skip":"0","strings":true,"include_empty_strings":false,"include_null_values":false,"x":450,"y":2060,"wires":[["0bb0dbffa697caaf"]]},{"id":"0bb0dbffa697caaf","type":"file","z":"cffff426.560868","name":"","filename":"datalogger/events.csv","appendNewline":false,"createDir":true,"overwriteFile":"false","encoding":"none","x":660,"y":2060,"wires":[[]]},{"id":"a5e4cc0923b7c711","type":"file in","z":"cffff426.560868","name":"","filename":"datalogger/events.csv","format":"utf8","chunk":false,"sendError":false,"encoding":"none","allProps":false,"x":400,"y":2220,"wires":[["939f1773869c3421"]]},{"id":"939f1773869c3421","type":"csv","z":"cffff426.560868","name":"","sep":",","hdrin":true,"hdrout":"none","multi":"mult","ret":"\\r\\n","temp":"Timestamp,Event,Status","skip":"0","strings":true,"include_empty_strings":false,"include_null_values":false,"x":610,"y":2220,"wires":[["67db5a640db1e1a9"]]},{"id":"67db5a640db1e1a9","type":"ui_table","z":"cffff426.560868","group":"160e81fb.f1c86e","name":"Table","order":11,"width":"18","height":"10","columns":[{"field":"Timestamp","title":"Timestamp","width":"","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"Event","title":"Event","width":"","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"Status","title":"Status","width":"","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}}],"outputs":0,"cts":false,"x":810,"y":2220,"wires":[]},{"id":"966a1cd6a231afaf","type":"comment","z":"cffff426.560868","name":"SAVE EVENTS IN CSV","info":"","x":230,"y":1980,"wires":[]},{"id":"3f849cc34cddf4d2","type":"comment","z":"cffff426.560868","name":"LOAD EVENTS FROM CSV","info":"","x":260,"y":2160,"wires":[]},{"id":"89e707d30ffc3d45","type":"inject","z":"cffff426.560868","name":"YOUR DATA","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payloadType":"date","x":210,"y":2060,"wires":[["404a5cd2ecc70b5b"]]},{"id":"4a791bcf00947094","type":"ui_ui_control","z":"cffff426.560868","name":"","events":"all","x":210,"y":2220,"wires":[["a5e4cc0923b7c711"]]},{"id":"160e81fb.f1c86e","type":"ui_group","name":"File Browser","tab":"b63d1f91.68095","order":1,"disp":true,"width":"18","collapse":false},{"id":"b63d1f91.68095","type":"ui_tab","name":"LPR â","icon":"dashboard","order":19,"disabled":false,"hidden":false}]
And to further optimize the system you can create weekly packages and thus delete the files every 2 months or however you want.
I have been doing tests and the most that I have been able to load with the dashboard without saturating is 1,350,000 events in a table.
Even when the CSV files are located locally, you can make backup copies, reporting them by email every month.
Achraf B.