NEWS
Payload aus einem Flow im anderen Flow nutzen
-
Ich möchte einen Payload aus einem Flow in einem anderen Flow benutzen. Das funktioniert so weit ich weiß mit einer *.global (Variablen).
Ich habe das hier mal versucht, aber ich bekomme den Payload nicht an der Debug Node ausgegeben. Wo liegt der Fehler?[{"id":"5c4848b5cbcb4807","type":"tab","label":"Flow 2","disabled":false,"info":"","env":[]},{"id":"7927957d53784ef9","type":"mqtt in","z":"5c4848b5cbcb4807","name":"Handstart","topic":"mansteuerung/binary_sensor/handstart/state","qos":"0","datatype":"auto","broker":"d0d69da0d3c24301","nl":false,"rap":true,"rh":0,"inputs":0,"x":100,"y":100,"wires":[["0e1fec3129616b24"]]},{"id":"97ecb4ff335391f1","type":"inject","z":"5c4848b5cbcb4807","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"ON","payloadType":"str","x":110,"y":160,"wires":[["0e1fec3129616b24"]]},{"id":"0e1fec3129616b24","type":"switch","z":"5c4848b5cbcb4807","name":"Handstart on","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"ON","vt":"str"},{"t":"eq","v":"OFF","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":310,"y":100,"wires":[["f9479f1f3382de62"],[]]},{"id":"f9479f1f3382de62","type":"change","z":"5c4848b5cbcb4807","name":"Handstart 1","rules":[{"t":"set","p":"handstart","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":100,"wires":[[]]},{"id":"d319d7659d50330b","type":"change","z":"5c4848b5cbcb4807","name":"Handstart ESP32","rules":[{"t":"set","p":"handstart","pt":"global","to":"payoad","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":180,"wires":[["8e405ca916549aa3"]]},{"id":"8e405ca916549aa3","type":"debug","z":"5c4848b5cbcb4807","name":"debug 43","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":560,"y":180,"wires":[]},{"id":"d0d69da0d3c24301","type":"mqtt-broker","name":"","broker":"192.168.10.9","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]
Danke euch
-
@derklotz Du kannst zwar eine globale Variable anlegen. Du kannst die Flows aber einfach mit Link Nodes verbinden. Aus dem Quellflow leitest du die payload in eine link-out Node und verknüpfst diese mit einer link-in Node in dem Zielflow.
-
@mickym Danke, das war ja einfach
-
@derklotz sagte in Payload aus einem Flow im anderen Flow nutzen:
@mickym Danke, das war ja einfach
Wenn Du einen Zustand in vielen Flows an unterschiedlichen Stellen brauchst, dann nimmst Du eine globale Variable - aber wie gesagt, wenn Du nur einen Flow in einem anderen Flow weiterverarbeiten willst, nimmst Du die link nodes.
-
@mickym Nur interessehalber... was habe ich denn im Ausgangspost falsche gemacht, wenn ich den Zustand in mehreren Flows nutzen wollen würde?
-
@derklotz Na in Handstart1 setzt Du die globale Variable richtig.
Im Zielflow musst du dann aber die payload wieder auf die globale Variable setzen,
aber eine ChangeNode kann nicht triggern. Also entweder holst Du globale Variable über einen Flow mit vorhandenem Trigger oder Du nutzt eine Inject Node oder Scheduler Node.Sobald Du aber den anderen Flow auch über den Flow des Quellflows triggern willst ist immer eine Link Node die Wahl.
-
@mickym Danke für die Erklärung