NEWS
Visualisierung mit Node Red erstellen
-
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
-
@damrak2022 Nein ist leider falsch - Du sollst die Variable Systole und Diastole setzen. Quelle ist die payload.systole bzw. payload.diastole des Nachrichtenobjektes.
Merke - Wenn Du in Deiner Change Node SETZE verwendest, dann steht OBEN das ZIEL und UNTEN die QUELLE.
(Das $ Zeichen hat hier nichts verloren)
das ist eine Umgebungsvariable.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
Meine 3. Regel stimmt nicht denn ich bekomme an der Seite was ganz anderes angezeigt
Wir haben nirgends etwas global gesetzt.
Merke bei SETZE = OBEN das ZIEL
UNTEN die QUELLEDie Lösung ist also
Und Du musst das doch nur lesen:
Setze flow.Diastole (to the value = auf den Wert ) msg.payload.diastole
Also einfach Lesen, was gemacht werden soll!!!
-
@mickym Jetzt sieht das so aus:
-
@damrak2022 Nein Du steckst die ganze payload da rein. Du sollst doch 2 Variablen erstellen. Ich hab Dir doch die Lösung gepostet. Also das abzuschreiben und die Systole und Diastole in die Regel schreiben, sollte eigentlich möglich sein - insbesondere wenn Du das verstehst, was ich geschrieben habe.
Der Kontext muss so aussehen.
-
@mickym Okay, dann lass mich noch ein bisschen probieren. Ich werde das rausfinden wie es stimmt und das von Dir nochmal in Ruhe lesen.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Okay, dann lass mich noch ein bisschen probieren. Ich werde das rausfinden wie es stimmt und das von Dir nochmal in Ruhe lesen.
Sorry da gibts nicht zu probieren - ich hab Dir die Lösung gepostet - schaust Du das nicht an?????