Wie Attribute einer Entity mit Node-RED schreiben?

Moin,

ich möchte eine JSON oder einen Text über 255 Zeichen Speichern.

Das geht ja nur in den Attributen einer Entität. Ein State kann ja nur maximal 255 Zeichen speichern.

Ich bräuchte mal einen Tipp in welche Richtung ich gehen muss.

Bastel nun schon das Wochenende rum und komme eigentlich nicht weiter.

Falls es eine Lösung schon geben sollte, bitte ich um den Link.

Suchen mit Goggle und deren KI brachte leider keinen Erfolg.

Schreiben von “Test Text” in die Entiät “input_text.test_text” funktioniert.

Aber wie erstelle ich und schreibe dann in ein Attribut ?

Du kannst doch über NodeRED auch Sonsoren erstellen.
Guckt dir mal die Sensor Node an da kannst du ganz einfach Status und Attribute setzen.

Bitte beachte auf der Seite auf die Meldung oben wenn Falls du das noch nicht installiert haben solltest!

LG

Was willst du mit dem Text erreichen bzw. wofür willst du langen Text weiterverwenden? Vielleicht gibt es elegantere Wege

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.

Oder mir fällt was anderes ein. Mal sehen.

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.

Container Config unter HA werde ich nicht nutzen. Dazu fehlt das Wissen.

Aber das Context werde ich mir ansehen.

Danke für den Tipp.

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.