NEWS
Node Red Persistence Funktion einschalten
-
Node Red hat ja in der Version 19 eine Persistence Funktion, die man für die Variablen aktivieren kann.
Das würde ich gerne machen.
Leider finde ich die entsprechenden settings.json nicht, bzw. das File, das ich gefunden habe, hat keine Einträge.
Hat jemand eine Dokumentation wo der Node Red Adapter seine Verzeichnisse abgelegt hat?
-
Beim Starten der node-red instanz wird die Datei:
/opt/iobroker/iobroker-data/node-red/settings.js
jedesmal neu erstellt. Gültige Einträge können aber in der Datei:
/opt/iobroker/node_modules/iobroker.node-red/settings.js
gemacht werden. Diese werden dann übernommen.
ACHTUNG!
Diese Datei nach Änderungen sichern, da sie ggf. Beim Update des Adapters überschrieben wird.
Seit node-red v19.0 kann ein ‚Persistent Context‘ https://discourse.nodered.org/t/a-guide … ntext/4115 eingerichtet werden.
Dabei können flow-context-variablen u.a. automatisch in einer Datei gespeichert werden. Sie stehen dann beim nächsten Programmstart automatisch zur Verfügung.
Zur Einrichtung muss ein Attribut im Object module.export in der Datei:
opt/iobroker/node_modules/iobroker.node-red/settings.js
zugefügt werden:
... // Context Storage // The following property can be used to enable context storage. The configuration // provided here will enable file-based context that flushes to disk every 30 // seconds. // Refer to the documentation for further options: // https://nodered.org/docs/api/context/ // contextStorage: { default: { module:"localfilesystem" }, }, ...
Nach Neustart der node-red Instanz wird automatisch ein Ordner:
/opt/iobroker/iobroker-data/node-red/context
angelegt. Innerhalb dieses Ordners wird automatisch ein Unterordner mit der ID des flows angelegt, welcher flow-variablen verwendet. In diesem findet sich dann eine Datei Namens: flow.json, welche die aktuellen flow-Variablen dieses flows enthält.
Context Speicherstruktur
aktivierter 'Persistent Context'
-
Vielen Dank. Großartiger Support. Werde ich gleich mal ausprobieren
-
Dein Wissen in Bezug auf Node Red scheint ja unerschöpflich zu sein. :mrgreen:
Du solltest dein Wissen mal in einem Buch niederschreiben. :idea:
Mindestens einen Käufer kenne ich schon.
Die Peristente Context Funktion ist ja grundsätzlich eine feine Sache. Viele nutzen jedoch einen Einplatinencomputer mit einer SD-Card als Massenspeichermedium. Wenn ich mir jetzt vorstelle wieviele Schreib- und Lesezyklen da hinzukommen, wird sich die Lebensdauer einer SD-Karte enorm verkürzen. Wäre es deshalb nicht sinnvoller einer diese Varianten zu verwenden?
Wobei ich mir dann die Frage stelle wie man dies dann in einem change-Node beim Setzen einer flow- oder globale Variablen macht.
Ein Sache konnte ich bisher noch nicht nachvollziehen:
Wann und wodurch werden diese Dateien erzeugt? -
… Wenn ich mir jetzt vorstelle wieviele Schreib- und Lesezyklen da hinzukommen, wird sich die Lebensdauer einer SD-Karte enorm verkürzen. Wäre es deshalb nicht sinnvoller einer diese Varianten zu verwenden? `
Da hast du absolut recht. Das Thema ist recht komplex. Falls du da tiefer einsteigen willst:
https://nodered.org/docs/api/context/
https://nodered.org/docs/api/context/st … filesystem
Wobei ich mir dann die Frage stelle wie man dies dann in einem change-Node beim Setzen einer flow- oder globale Variablen macht. `
Das ist ganz clever gemacht. Siehe hier:https://discourse.nodered.org/t/a-guide … xt/4115/45
Ein Sache konnte ich bisher noch nicht nachvollziehen:… `
Die Dateien werden nur gebildet, wenn du innerhalb eines function-nodes den node.context benutzt. Gebildet werden sie dann automatisch.
Du solltest dein Wissen mal in einem Buch niederschreiben. `
So schnell, wie du lernst, wäre das ein alter Hut für dich, wenn es erscheint;-)