Node-Blue: Events, Systemvariablen & Output value at startup

Ich habe des öfteren das Szenario, dass es einen Event gibt (z.B. Bewegungsmelder, Taster, etc) und zusätzlich diverse Systemvariablen ausgewertet werden müssen, damit der Flow funktionieren kann.

Das funktioniert aber nicht so ganz. Irgendwie scheinen die Systemvariablen nur bei Änderung ausgewertet zu werden. Das Häkchen bei “Output value at startup” hilft auch nicht.

Meiner Ansicht nach müssten beim Starten eines flows, alle Variablen die das Häkchen gesetzt haben auch ausgewertet werden. Ist das ein Bug oder habe ich das System falsch verstanden?

Wie kann ich denn einen Event und zusätzlich 2 Zustände von Systemvariablen in einem Flow verwenden?

Vielleicht mal ein Beispiel, um mein Problem zu verdeutlichen, meiner Ansicht nach ist das ein Standard-Szenario.

input1: Solltemperatur (Gerätevariable Heizkörper)
input2: Solltemperatur-Limit (Systemvariable)
input3: Limiter eingeschaltet (Systemvariable)

Sobald input1 > input2 und input3 true ist, soll der Ausgang auf input2 gesetzt werden, ansonsten soll der Ausgang immer input1 erhalten.

Das funktioniert leider nur einmal, wenn der Flow deployed wurde, sobald der einmal gelaufen ist, sind die Werte fest. Im Normalfall, sollten nur Änderungen an input1 erfolgen, Änderungen an input2 oder input3 sind natürlich auch möglich, kommt aber weitaus seltener vor.

Hallo @job,

sorry für die sehr späte Antwort. Erfüllt das hier den Zweck?

[{"id":"2f521f99.9064e8","type":"constant","namespace":"variable","z":"6085d698.8e4d58","name":"","payload":"19.0","payloadType":"float","outputonstartup":false,"x":230,"y":110,"wires":[[{"id":"accbc58c.6725c8","port":0}]]},{"id":"fbaf80cf.e6f19","type":"constant","namespace":"variable","z":"6085d698.8e4d58","name":"","payload":"30.0","payloadType":"float","outputonstartup":false,"x":230,"y":160,"wires":[[{"id":"accbc58c.6725c8","port":0}]]},{"id":"55a553a0.9f1acc","type":"debug","namespace":"debug","z":"6085d698.8e4d58","name":"","active":true,"console":"debtab","complete":"false","loglevel":"info","x":1280,"y":210,"wires":[]},{"id":"2fdecf58.4e268","type":"constant","namespace":"variable","z":"6085d698.8e4d58","name":"","payload":"20.0","payloadType":"float","outputonstartup":false,"x":230,"y":210,"wires":[[{"id":"76bd2a0.19c59d8","port":1},{"id":"3d9f979d.2c10c8","port":0}]]},{"id":"ac989a9e.87d718","type":"constant","namespace":"variable","z":"6085d698.8e4d58","name":"","payload":"true","payloadType":"bool","outputonstartup":false,"x":230,"y":260,"wires":[[{"id":"5f72e07b.2b502","port":1}]]},{"id":"c951e2ee.5b05a","type":"constant","namespace":"variable","z":"6085d698.8e4d58","name":"","payload":"false","payloadType":"bool","outputonstartup":false,"x":230,"y":310,"wires":[[{"id":"5f72e07b.2b502","port":1}]]},{"id":"76bd2a0.19c59d8","type":"switch","namespace":"basic-logic","z":"6085d698.8e4d58","name":"input1 > input2","property":"payload","changes-only":false,"output-true":true,"output-false":true,"rules":[{"t":"gt","v":"","vt":"second"}],"checkall":"true","inputs":2,"outputs":1,"x":680,"y":190,"wires":[[{"id":"5f72e07b.2b502","port":0}]]},{"id":"72e56ce9.93f0bc","type":"passthrough","namespace":"passthrough","z":"6085d698.8e4d58","name":"","onboolean":false,"x":1055,"y":140,"wires":[[{"id":"55a553a0.9f1acc","port":0}]]},{"id":"3d9f979d.2c10c8","type":"passthrough","namespace":"passthrough","z":"6085d698.8e4d58","name":"","onboolean":true,"x":1070,"y":250,"wires":[[{"id":"55a553a0.9f1acc","port":0}]]},{"id":"5f72e07b.2b502","type":"and","namespace":"basic-logic","z":"6085d698.8e4d58","name":"","changes-only":false,"output-false":true,"inputs":2,"x":740,"y":360,"wires":[[{"id":"3d9f979d.2c10c8","port":1},{"id":"d1efbe7c.aa2f9","port":0}]]},{"id":"d1efbe7c.aa2f9","type":"not","namespace":"basic-logic","z":"6085d698.8e4d58","name":"","x":870,"y":190,"wires":[[{"id":"72e56ce9.93f0bc","port":1}]]},{"id":"accbc58c.6725c8","type":"synchronous","namespace":"synchronous","z":"6085d698.8e4d58","name":"","outputs":2,"x":395,"y":160,"wires":[[{"id":"76bd2a0.19c59d8","port":0}],[{"id":"72e56ce9.93f0bc","port":0}]]}]

Falls ja, erkläre ich es gerne ;-).

Viele Grüße

Sathya

1 Like

Danke, Sathya.

Das sah auf den ersten Blick gut aus. Der einzige Unterschied, den ich gesehen habe, war die Synchronous-Node. War die die die Lösung?

Ich muss das noch weiter testen, da ich merkwürdige Effekte hatte, ich konnte z.B. die Temperatur nicht wirklich mehr runter setzen. Das muss allerdings nicht unbedingt am Limiter gelegen habe. Ich habe da noch ein übles Konstrukt in openHAB, das kann auch die Ursache gewesen sein.