NEWS
Visualisierung mit Node Red erstellen
-
@mickym So
payload.Zimmer[Preis=$min]
-
@damrak2022 Na da steht doch bisschen mehr als $min in deiner Abfrage, wie Du die 139 ermittelt hast. Hast Du gerade vor 5 Minuten gepostet. Kannst Du das nicht einfach abschreiben und hinter das = setzen????
-
payload.Zimmer[Preis=$min(payload.Zimmer."Preis")]
-
@damrak2022 Gut und da die Zahl als erstes ausgerechnet werden muss, damit der Filter funktioniert, setzt Du bitte das was Du gerade eingesetzt hast in runde Klammern.
-
@mickym Sorry, verstehe ich nicht - das $min bis Preis steht doch schon in Klammern
payload.Zimmer[Preis=($min(payload.Zimmer."Preis")]
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Sorry, verstehe ich nicht - das $min bis Preis steht doch schon in Klammern
payload.Zimmer[Preis=($min(payload.Zimmer."Preis")]
Fast gut - aber soviel Klammern wie aufgemacht werden müssen auch wieder zugemacht werden. Also wo endet das was Du gerade eingefügt hast und machst noch eine Klammer dran. Du hast 2 runde Klammern aufgemacht, aber nur eine runde Klammer zu gemacht. Ich glaube das hab ich auch schon oft gesagt.
-
@mickym Ja, hast Du
payload.Zimmer[Preis=($min)(payload.Zimmer."Preis")]
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Ja, hast Du
payload.Zimmer[Preis=($min)(payload.Zimmer."Preis")]
Nein Du kannst doch nicht die Funktion auseinanderreißen.
Also am Anfang hast Du das gehabt:
in der Du manuell den niedrigsten Preis eingetragen hast, um das günstigste Zimmerobjekt zu erhalten:
payload.Zimmer[Preis=139]
Hier hast Du 139 ermittelt
$min(payload.Zimmer."Preis")
Dies ist also die Methode, um die 139 zu ersetzen:
payload.Zimmer[Preis=$min(payload.Zimmer."Preis")]
So nun habe ich gesagt, dass Du den Ausdruck den Du statt der 139 einsetzen solltest in Klammern setzen sollst, damit der zuerst ermittelt wird.
Den Ausdruck den Du eingesetzt hast, war:$min(payload.Zimmer."Preis")
den in Klammer zu setzen kann doch nicht so schwer sein:
($min(payload.Zimmer."Preis"))
und den setzt man nun anstelle der 139 ein:
payload.Zimmer[Preis=($min(payload.Zimmer."Preis"))]
ich verstehe wieder mal nicht, wieso Du nicht einfach genau das machst, was ich schreibe. Wenn Du soweit bist - dann wirst Du immer noch kein Ergebnis haben. Aber machs erst mal soweit.
-
payload.Zimmer[Preis=($min(payload.Zimmer."Preis"))]
Ih finde es irritierend, das zwei sich öffnende Klammern hintereinander kommen, bevor die erste geöffnete geschlossen wird. Das ist ja an anderen Stellen auch so. Bei einem Array im Array ist das klar, aber hier in diesem Fall verstehe ich es nicht, warum das so ist.
-
@damrak2022 Nun die innersten Klammern werden immer zuerst abgearbeitet. Die Funktion $min() hat ihre Parameter und wir wollen dass die gesamte $min() Funktion zuerst ausgeführt wird deswegen ($min()). $min() ist fix definiert und darf NIE auseinander gerissen werden. Das ist wie bei Taschenrechner oder in der Schule war das genauso.
4 * ((2 + 3) + ( 2 * (4 + 5)))
Das ist doch nichts Neues oder Ungewöhnliches. Das heißt Du rechnest erst die inneren Klammern aus und arbeitest Dich nach außen:
4 * ( 5 + ( 2 * 9))
4 * (5 + 18)
4 * 23 = 92
Also das ist doch nichts anderes mit den sich öffnenden und schließenden Klammern.
Nun zurück zum Ausdruck. Am Anfang hast Du Dich mit payload.Zimmer nach unten in dem Pfad bewegt und hinten in der runden Klammen musst Du wieder Dich auf das Hauptobjekt beziehen. Deshalb musst Du bei dem 2 payload nun wieder die $$ und Dich dann auf die payload beziehen.
-
@mickym So
-
@damrak2022 Na bist du begeistert und wie sich das zusammenfügt?
Da das grüne Zimmer gerade renoviert wird, müssen wir den Preis mind. halbieren. Das heißt Du änderst den Preis mal auf 89 und schaust, ob dann automatisch das neue Objekt gezeigt wird.
-
-
@damrak2022 Und verstehst Du nun, warum wir das gemacht haben? - Das heißt Du änderst den Preis und kannst dem Studenten immer die korrekte Auskunft geben.
-
@mickym Ja, das muss ich mir wie alles andere auch notieren, damit ich es überhaupt nochmal nachvollziehen kann.
-
@damrak2022 Na vor allen Dingen musst Du es verstehen. Du hast ja die Tage vorher schon nach dem Preis gefiltert und auch schon den billigsten Preis ermittelt - aber nun ist es wichtig diese Teilabfragen zu kombinieren.
-
@mickym Ich habe mal eine Frage am Rande an Dich
In diesem Flow
ist es so eingerichtet, das ich eine Warnung per Pushover bekomme, wenn mein Tintenfüllstand unter 20% fällt.Mich würde interessieren, ob es nicht auch möglich ist, den aktuellen Füllstand in der Nachricht zu übermitteln: Also nicht - Der Füllstand von Magenta ist unter 20%, sondern: Der Füllstand von Magenta ist (in diesem Fall 3%).
Geht das auch?
Ist das kompliziert? -
@damrak2022 Was soll da kompliziert sein, ich denke die payload enthält doch den Wert.
-
@mickym Ja klar, aber in der Switch Node ist ja entweder <20, bzw.>20 definiert. Und mir ist nicht klar, wie ich das umbauen müsste.
-
@damrak2022 Wieso die switch Node entscheidet doch nur, ob eine Warnung geschickt wird oder nicht. Die Nachricht wird doch in der anschliessenden Change Node gesetzt.