NEWS
Function mit 3 Ausgängen
-
Hallo,
ich möchte einen Payload splitten und in einer Function den 3 Ausgängen zuweisen
var str = msg.payload; var res = str.split("|"); var msg0=res[0]; var msg1=res[1]; var msg2=res[2]; return [msg0,msg1,msg2];
Das Aufspalten hat funktioniert
Kann mir jemand bitte sagen wo hier der Fehler liegt?
-
Ich vermute mal, dass es sich um node-red handelt.
Falls dem so ist, da kannst du keinen String als msg zurückgeben. msg muss immer ein Objekt sein.
Mach es z.B. so:
var str = msg.payload; var res = str.split("|"); var msg0= { payload: res[0]}; var msg1= { payload: res[1]}; var msg2= { payload: res[2]}; return [msg0,msg1,msg2];
-
Mist, da war rewenode schneller als ich. :lol:
Die Antwort findet man auch in der Dokumentation von Node Red.
Quelle: https://nodered.org/docs/writing-functions
` > <u>Multiple Messages</u>A function can return multiple messages on an output by returning an array of messages within the returned array. When multiple messages are returned for an output, subsequent nodes will receive the messages one at a time in the order they were returned.
In the following example, msg1, msg2, msg3 will be sent to the first output. msg4 will be sent to the second output.
var msg1 = { payload:"first out of output 1" };
var msg2 = { payload:"second out of output 1" };
var msg3 = { payload:"third out of output 1" };
var msg4 = { payload:"only message from output 2" };
return [ [ msg1, msg2, msg3 ], msg4 ]; `
Du machst hier einen Mega-Job. Ich freue mich jedesmal darauf deine Antworten zu lesen und lerne jedesmal etwas dazu. Danke dafür.
Für mich bist Du heute schon der Node Red Supporter des Jahres.
-
Danke erst mal für die Hilfe
ich hatte übrigens dieses Beispiel auch gefunden und getestet
meinen Fehler kann ich nun nicht mehr nachvollziehen
-
Achtung OT
@Graf: Danke. Hab selber soviel vom Forum profitiert, da bin ich froh, auch mal was zurückgeben zu können.