NEWS
Visualisierung mit Node Red erstellen
-
@damrak2022 Dann mach einen Screenshot - sonst sehe ich es ja nicht?
-
@mickym Reden wir überhaupt noch von der Join Node oder von einer change Node davor?
-
@damrak2022 Wir machen das doch nur zur Übungszwecken und den Reduktionsausdruck gibts doch nur hier. https://forum.iobroker.net/post/890905
Wir werden dann alles in einem Beispielflow noch anschauen.Mach halt einfach einen Screenshot Deiner JOIN Node. Was für ein Feld wird denn rot - ich kanns doch nicht riechen???
-
@mickym Ich weiß es nicht. Die Eingabe muss doch im Feld Reduktionsausdruck erfolgen und da bekomme ich sofort einen Fehler wenn ich was hinter payload schreibe
-
@damrak2022 Wieso auch hinter die payload??? Hier habe ich doch genau beschrieben was intern passiert:
-
Okay, das gehört da rein und da hat mich wieder total irritiert das dort halt Anfangswert steht
-
@damrak2022 Okay, das gehört da rein und da hat mich wieder total irritiert das dort halt Anfangswert steht
-
@damrak2022 Was soll das? - Der Reduktionsausdruck. Der Anfangsausdruck bleibt leer.
Was habe ich denn beschrieben
, wie es intern arbeitet? https://forum.iobroker.net/post/890897
Was passiert - der Anfangswert ist 0: deshalb wird $A auf 0 gesetzt:
Nachricht kommt:
der Reduktionsausdruck wird ausgeführt: $A + payload, also 0+10.06. Neues $A=10.06.
Nachricht kommt:
der Reduktionsausdruck wird ausgeführt: $A + payload, also 10.06+15.3. Neues $A=25.36.
Nachricht kommt:
der Reduktionsausdruck wird ausgeführt: $A + payload, also 25.36+72.55. Neues $A=97.91.
Durch die split Node bekommt die JOIN Nachricht mit, wenn sie alle Nachrichten bekommen hat - deswegen funktioniert das nur, wenn eine msg.parts Eigenschaft in der Nachricht enthalten ist. -
@mickym Das habe ich gelesen. Trotzdem bekomme ich nicht den richtigen Reduktionsausdruck hin
-
@damrak2022 Ja weil Du einfach die Reihenfolge vertauschst und das geht halt nicht. Nimm den Reduktionsausdruck und tausche das + Zeichen gegen das & Zeichen aus. Wie kommst Du bitte darauf, die Reihenfolge zu tauschen?
Die erste Nachricht enthält ein "A", die zweite Nachricht ein "n",
heisst es nun $A & "n" oder "n" & $A, also An oder nA??? $A enthält ja immer das Ergebnis des Reduktionsausdrucks.
-
-
@damrak2022 Nein - Du hast nicht verstanden wenn ich das beschrieben habe.
Was passiert - der Anfangswert ist 0: deshalb wird $A auf 0 gesetzt:
Nachricht kommt:
der Reduktionsausdruck wird ausgeführt: $A + payload, also 0+10.06. Neues $A=10.06.
Nachricht kommt:
der Reduktionsausdruck wird ausgeführt: $A + payload, also 10.06+15.3. Neues $A=25.36.
Nachricht kommt:
der Reduktionsausdruck wird ausgeführt: $A + payload, also 25.36+72.55. Neues $A=97.91
Ich verstehe ehrlich gesagt nicht, was schwer ist das + Zeichen gegen & auszutauschen.
Ich habe keine Ahnung - und weiß leider auch nicht, wei Du dann auf diese Lösungen kommst.
Wir werden das aber nun üben.
Das heißt wir machen jetzt genau diesen kleinen Beispielflow - nur so lernst Du es:
-
@mickym Okay
-
@damrak2022 Was sollte das?
$A+A --- Du kannst keine Zeichenketten zusammen zählen
- Du willst doch Nachrichten zusammen kombinieren? - da ist doch überhaupt keine Nachrichteneigenschaft drin??
-
@damrak2022 Gut wollen wir den kleinen Beispielflow machen, den ich gerade gepostet habe?
-
@mickym Ja den habe ich so angelegt
-
Gut entspricht dann die debug Ausgabe dem, das ich auch gepostet habe? Kannst Du mal wieder einen Screenshot machen, nachdem Du die Inject Node betätigt hast?
-
@mickym Ich habe nur die Nodes angelegt, aber noch nichts eingetragen
-
@damrak2022 Ok, dann injizierst Du nun über die Inject Node ein Array mit den 4 Buchstaben deines Namens, so wie wir es in dem gerade gezeigten Beispiel besprochen haben. Um ein Array zu injizieren musst Du das als JSON eingeben. Falls Du die Syntax nicht kennst, kannst Du den visuellen Editor als Hilfe nehmen.
Ein Array ist im Grunde auch ein Objekt.
Im visuellen Editor stellst Du dann das Objekt als Array um:
Da fügst du dann 4 Elemente ein. Jedes Element enthält immer einen Buchstaben deines Namens in der richtigen Reihenfolge
-
@mickym Gebe das anscheinend falsch ein