Erstmal neugierig, wie das gehen könnte. Scheinbar kann man mit Node- RED nicht in die Attribute eines bestehenden(!), unter HA erstellten Helper schreiben.
In dem Beispiel geht es die Statistik einer PV Anlage die als JSON gespeichert werden soll.
Da sind 255 Zeichen schnell zu Ende.
Ein schreiben des JSON mit dem “File”-Node geht vermutlich nicht, da Node-RED ja im Container läuft. Der vergisst scheinbar alles beim Neustart.
Sonnst muss ich Node-RED wieder auslagern und auf einem RP3 laufen lassen.
Ich würde dir Logik selbst nochmal hinterfragen. Wenn irgendwie möglich würde ich den Json-String zerlegen und die Werte in sprechende Variablen in Node-Red oder in Sensoren in HA schreiben. Dann hast du nicht einen langen String den du immer wieder zerlegen und umformatieren musst.
Mache ich auch, aber ich nutze es nur für Config. Variable Daten würde ich immer in die DB schreiben. Du solltest dir das Konzept von Container mal genauer ansehen. Du kannst dir mit bind-mount oder volumens dauerhaft speichern. Das gemountete Verzeichnis bleibt auch bei einer Neuerstellung des Container bestehen.
Alternativ kannst du statt der File-Node auch mit globalen context mit Option “localfilesystem” nutzen. Was in msg.payload ist wird im Filesytem gespeichert ohne dass du irgendwas umformatieren musst. Das übersteht auch einen Reboot des Containers. Neben den im Link erwähnten Set-Methoden gibt es auch die Nodes “context-set-get”. Damit ist es etwas komfortabler.
Context sind auch Dateien in Filesystem. Ohne den Container Inhalt persistent zu machen sind auch diese Werte beim Reboot weg. Wie das zu nutzen ist weiß ich nicht weil ich HA selbst auch als Container und nicht HAOS betreibe.