NEWS
Visualisierung mit Node Red erstellen
-
@mickym
Mir fehlt noch der Wert -
@damrak2022 Nein Du sollst nicht die payload auf Systole setzen - schau doch mal, was dann aus der Debug Node rauskommt. Wie hast du denn an anderer Stelle auf eine Eigenschaft einer payload zugegriffen, wenn die payload ein Objekt ist.
Schau mal hier: https://forum.iobroker.net/post/854232
hier haben wir doch permanent auf Eigenschaften eines payload Objektes zugegriffen
Die Theorie haben wir hier behandelt.
https://forum.iobroker.net/post/852974
Im Prinzip sollst Du die originäre payload - (siehe Ausgabe aus der 1. Debug Node) - in ein Objekt mit der Eigenschaft systole überführen.
Wenn Du Dir die Change Node ansiehst - dann kannst Du vielleicht folgern was ich gemacht habe.
- Möglichkeit:
- Möglichkeit:
-
@mickym Soweit bin ich jetzt gekommen:
Die letzte Change Node habe ich erst eingesetzt und noch nicht konfiguriert, da ich noch schauen muss wie ich das mit der Formatierung hinbekomme.
Ich weiß auch nicht ob der Flow so stimmt, aber das kommt beim Debug raus:
-
@damrak2022 Was sollen diese split und join Nodes. Wenn Du die weglässt - dann ist das Ergebnis auch kein anderes. Die letzte Change Node hat Zeit - da wir immer noch kein Objekt haben, dass beide Eigenschaften hat.
Ich gehe mal davon aus, dass die 2. Change Node die Berechnung durchführt. Überlege Dir mal ob Du die beiden Change Nodes nicht in eine überführen möchtest. Man kann es zwar so lassen - musst Du wissen. Aber nur damit Du beides verstehst.
-
@mickym Okay, Du meinst so. Wie ich das mit dem Objekten mache weiß ich nicht.
Ja, die zweite Change Node rechnet um -
@damrak2022 Nein so, habe ich nicht gemeint. Zeig mal was in der Umrechnungs-Node drin steht? Funktioniert es aktuell ? Und verkable mal wieder die inject Nodes damit wir manuell triggern können.
-
Weil hier ja nur die systole umgerechnet wird, hatte ich zwei Umrechnung Nodes.
-
@damrak2022 Genau - das war auch richtig. Meine Idee war ja auch, dass Du den Befehl beider Umrechnungsnodes in die erste Node übernimmst und nicht beide Umrechnungsnodes in eine zu übernehmen.
Wenn du also direkt hintereinander Change Nodes hast, um die payload zu verändern kannst Du dies auch in einer Node machen. Versuchs mal. Wenn du es nicht schaffst dann helfe ich Dir.
-
@mickym sagte in Visualisierung mit Node Red erstellen:
Weil hier ja nur die systole umgerechnet wird, hatte ich zwei Umrechnung Nodes.
Genau - das war auch richtig.
Meine Idee war ja auch, dass Du den Befehl beider Umrechnungsnodes in die erste Node übernimmst und nicht beide Umrechnungsnodes in eine zu übernehmen.Wenn du also direkt hintereinander Change Nodes hast, um die payload zu verändern kannst Du dies auch in einer Node machen. Versuchs mal. Wenn du es nicht schaffst dann helfe ich Dir.
-
@mickym Okay, mal probieren
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Okay, mal probieren
Poste am Besten dann beide Change Nodes und das Ergebnis in der Debug Node.
Tipp:
-
-
@damrak2022 Na dass das Ergebnis nicht stimmt. Siehst ja an der Ausgabe. Zum Einen macht Du ja mit der 2. Regel die payload kaputt. In dem Du das Ergebnis auf die Berechnung setzt.
Einmal stimmt der Datentyp nicht.
Was Du machst in der 1. Regel wird
msg.payload = 122000 zu msg.payload = { "systole": 122000 }
in der nachfolgenden Regel machst du das Objekt wieder kaputt in dem Du den Wert der Berechnung einfach wieder zu payload machst.
msg.payload = { "systole": 122000 } wird also zu msg.payload = 122
Wir wollen aber als Ergebnis:
msg.payload = { "systole": 122 }
Ich hoffe das hast du verstanden. Insofern ist die richtige Lösung:
War alles verständlich?
-
@mickym a, das hatte ich auch schon so probiert, allerdings hatte ich bei dem zweiten blöderweise das .systole und .diastole rausgenommen, was falsch war. Aber ja, das habe ich kapiert
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
allerdings hatte ich bei dem zweiten blöderweise das .systole und .diastole rausgenommen
Die Frage ist halt nur warum du sowas machst.
Nun weiter - wir brauchen in der unteren Change Node, den Wert von der oberen Change Node und umgekehrt. Richtig?
-
@mickym Und warum?
-
@damrak2022 Na weil wir doch ein Objekt brauchen in dem wir beide Eigenschaften in einem Nachrichtenobjekt haben,
wie wir hier in dem Post festgestellt haben: https://forum.iobroker.net/post/885965
Denn solange die Eigenschaften in unterschiedlichen Objekten ist, bringst Du die ja nicht zusammen, wie Du ja bereits festgestellt haben.
-
@mickym Ja okay, das hattest Du gesagt. Mir war nur nicht klar das dies der Weg ist
-
@damrak2022 Gut nachdem die Nachrichtenobjekte nicht aufeinander warten müssen wir diesen Wert in einer Variable, im Flow Kontext speichern, damit wir unabhängig davon sind , wann welche Node getriggert wird, und wir immer Zugriff auf den Wert der anderen Node habe.
In der oberen speichern wir also den Wert der payload Eigenschaft systole in einer Variable Systole, in der unteren Node speichern wir den Wert der payload Eigenschaft diastole in einer Variable Diastole.
Du betätigst wieder beide Inject Nodes und postest bitte den Flow-Kontext. (sowas haben wir bei deinem iMac mit dem Bewegungsmelderflow gemacht).
Wir haben nun also in jeder Change Node - 3 Regeln.
Wenn wir beide Inject Nodes betätigen haben wir immer noch 2 Nachrichtenobjekte aber nur mit einer Eigenschaft:
Dein Kontext wird nach Betätigung der Inject Nodes so aussehen:
Poste dann bitte die aktuelle Change Node. - Wenn Du es nicht weißt - poste ich die Lösung
-
@mickym So sieht das momentan aus
Meine 3. Regel stimmt nicht denn ich bekomme an der Seite was ganz anderes angezeigt