NEWS
(beantwort)im Node-red Script mit ioBroker Objekten arbeit.?
-
Guten Morgen,
ich stehe gerade auf dem Schlauch.
Besteht die Möglichkeit in den Funktionen von Node-Red mit ioBroker Objekten zu arbeiten.
Ich muss erst einmal nur den Inhalt lesen. Veränderungen könnten später auch interessant sein.
getState( und setState( kann ich im Script beim function node ja nicht verwenden.
Alternativ könnte ich jede benötigte Variable an anderer Stelle auslesen und dann parallel in eine globale Node-red Variable schreiben (context.global.variablenname) und über den Weg auch wieder in ein ioBroker Objekt.
D.h. jede benötigte Variable benötigt einen eigenen Miniflow und gibt es am Ende doppelt (in den ioBroker Objekten und als globale Node-Red Variable).
context.global.wochenende = msg.payload; //übernimmt den Inhalt eines ioBroker Objekts in eine globale Node-red Variable return msg;
Geht das nicht eleganter?
VG
Michael
-
Es funktioniert anders. Es gibt spezielle Nodes - "iobroker in" und "iobroker out". Da kann man auswählen was man haben will:
-
Hi Bluefox,
erst einmal danke für die ausführliche Beschreibung!
Und sorry, ich hatte meine Frage etwas unglücklich beschrieben.
Ich verstehe es so, dass es immer nur einen Trigger geben kann, z.B. eine ioBroker Variable.
Der Flow ist nun schon "getriggert", z.B. durch eine Aktualisierung eines ioBroker Nodes.
Und innerhalb des Flows möchte ich dem Status anderer Variablen aus iOBroker benutzen. Z.B. unterschiedliche Abzweigungen nehmen, wenn es es ein Feiertag ist.
Die Info Feiertag ist dann die zweite Info aus dem Flow.
Habe festgestellt, dass es mit context.global.xxxx nicht der riesen Akt ist, da ich nicht so viele Ojekte/Variablen doppelt brauche.
Der Umweg über context.global. ist angelehnt an Deiner Beschreibung zu der und/oder Verknüpfung.
Auch dafür danke!
Eine direkte Abfrage innerhalb des Flows ist anders wahrscheinlich nicht möglich oder?
VG
Michael
-
Wie ich schon gesagt habe, dafür ist Script GUI gedacht.
Und ja, über global context wurde ich es auch machen.