NEWS
Visualisierung mit Node Red erstellen
-
@damrak2022 da kann ich leider gar nicht helfen. Das liegt doch nicht an NodeRed oder am Flow.
Meines Erachtens vermischt Du doch auch verschiedene Dinge. Wenn der Shelly aus ist, dann ist die Steckdose ausgeschaltet. Die Steckdose ist aber natürlich noch aktiv in der FritzBox - das wäre ja schlimm, wenn sie da auf aus wäre, dann könntest Du die Steckdose nicht mehr einschalten. Deswegen würde ich mal sagen - ganz normal.
Jedenfalls prüfst Du mit dem einen den Schaltzustand der Steckdose und mit dem anderen ob ein Gerät noch in der FritzBox aktiv ist - das sind doch 2 vollkommen unterschiedliche Dinge. Wenn Du jedenfalls die Shelly Steckdose in der FB überprüfst wird die immer aktiv sein.
-
@mickym Okay, danke da muss ich mich nochmal irgendwann näher mit befassen. Aber ich verstehe schon das das unterschiedliche Dinge sind.
-
@mickym
Auf die "and" Abfragepayload[Strasse="Schlossallee" and Hausnummer="16"]
sieht das Ergebnis so aus:
{ "Zimmer": [ { "Nummer": "1", "Zimmername": "blaues Zimmer", "Preis": 139 }, { "Nummer": "2", "Zimmername": "gelbes Zimmer", "Preis": 189 }, { "Nummer": "3", "Zimmername": "grünes Zimmer", "Preis": 179 }, { "Nummer": "4", "Zimmername": "Hochzeitssuite", "Preis": 349 }, { "Nummer": "5", "Zimmername": "Prominentensuite", "Preis": 589 } ], "Anrede": "Herr", "Strasse": "Schlossallee", "Nachname": "Mustermann", "Vorname": "Max", "Hausnummer": "16", "Stadt": "Wiesbaden", "PLZ": "65187" }
Auf die "or" Abfrage
payload[Strasse="Schlossallee" or Hausnummer="16"]
sieht das Ergebnis so aus:
{ "Zimmer": [ { "Nummer": "1", "Zimmername": "blaues Zimmer", "Preis": 139 }, { "Nummer": "2", "Zimmername": "gelbes Zimmer", "Preis": 189 }, { "Nummer": "3", "Zimmername": "grünes Zimmer", "Preis": 179 }, { "Nummer": "4", "Zimmername": "Hochzeitssuite", "Preis": 349 }, { "Nummer": "5", "Zimmername": "Prominentensuite", "Preis": 589 } ], "Anrede": "Herr", "Strasse": "Schlossallee", "Nachname": "Mustermann", "Vorname": "Max", "Hausnummer": "16", "Stadt": "Wiesbaden", "PLZ": "65187" }
In diesen beiden Fällen verwende ich zwei Switch Nodes um einmal die "Strasse" und einmal die "Hausnummer" abzufragen. Anschließend eine Change Node um das Zimmer zu extrahieren.
Man kann die Switch Nodes in Reihe platzieren = "and" Abfrage
Man kann die Switch Nodes untereinander platzieren = "or" Abfrage
Es gibt aber auch die Möglichkeit die Abfrage direkt in den Eigenschaften einer Switch Node abzufragen:
Das funktioniert sowohl mit der "and", sowie "or" Abfrage:
Bei der "and" Abfrage erhalte ich ein Debug mit einem Array und den 5 Zimmern
Bei der "or" Abfrage erhalte ich ein Debug wo mir 2 Arrays mit jeweils 5 Zimmern ausgegeben werden, da ja auch zwei Abfragen durchgeführt wurden.
Wenn ich die ganze JSONATA Abfrage in den Eigenschaften der Switch Node mache, bekomme ich ebenfalls ein Array mit den 5 Zimmern, aber zusätzlich auch noch die Adressdaten.
-
@damrak2022 Na da hast Du zwar viel geschrieben und schaut auch gut aus. Aber die Fragestellung war
- Nur die ODER Abfrage und hier der Unterschied ob ich es mit 3 switch Nodes mache oder 1 switch Node mit JSONATA?
Also die 4 Fälle untersuchen und nur oder - und die Objekte bleiben auch immer die gleichen - aber einen Unterschied gibt es.
Wenn Du dir das Bild anschaust kann man den Unterschied auch so erkennen, wenn Du es mal logisch durchgehst.
Du hast nicht mal im Ansatz die 4 Fälle untersucht, wo der Unterschied auftritt:
-
@mickym
Der einzige Unterschied, den ich sehe, ist halt das bei einer "and" Abfrage beide Bedingungen erfüllt sein müssen, während bei einer "or" Abfrage eine der beiden Bedingungen erfüllt sein müssen. Dies ergibt sich aber auch schon aus der Art der Abfrage, also "and" oder "or".
Bei der "and" Abfrage werden die Abfragen nacheinender gestellt
Bei der "or" Abfrage werden die Abfragen gleichzeitig gestellt. -
@damrak2022 Ich habe nicht "and" und "or" untersuchen, sondern nur "or" oder "ODER".
Dann schrieb ich Dir das:
Du hast nicht mal im Ansatz die 4 Fälle untersucht, wo der Unterschied auftritt:
Und hast Du das gemacht? Nein ich sehr nur Erläuterungen.
Wenn Du das gemacht hättest was ich gesagt habe, dann hättest Du folgendes festgestellt bei einer ODER Verknüpfung festgestellt:
Ich kürze
das nun mit
JSONATA Switch
ab und das
mit
Switch Nodes parallel.
Parkstrasse 16 :
JSONATA Switch: 1 Nachricht
Switch Nodes parallel: 1 Nachricht
Schlossallee 8:
JSONATA Switch: 1 Nachricht
Switch Nodes parallel:1 Nachricht
Parkstrasse 8:
JSONATA Switch: 0 Nachrichten
Switch Nodes parallel: 0 Nachrichten
Schlossallee 16:
JSONATA Switch: 1 Nachricht
Switch Nodes parallel: 2 NachrichtenSo und daraus ergibt sich in einem Fall ein unterschiedliches Verhalten. Das kannst Du Dir hoffentlich erklären. Und es ist manchmal eben nicht erwünscht, wenn 2 mal getriggert wird, insofern hat die JSONATA Methode hier einen Vorteil.
Ich verstehe nicht, wie ich die Aufgabenstellungen besser formulieren soll.
-
@mickym Bei der Abfrage "Schlossallee 16" ist es sinnvoller mit einem JSONATA Switch abzufragen, da ich dann nur eine Nachricht bekomme.
Würde ich die gleiche Abfrage mit den Switch Nodes parallel abfragen, würde ich zwei identische Nachrichten bekommen, da bei Punkte gleichzeitig abgefragt werden. Es bringt mir aber nichts, zwei identische Ergebnisse zu erhalten. -
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Bei der Abfrage "Schlossallee 16" ist es sinnvoller mit einem JSONATA Switch abzufragen, da ich dann nur eine Nachricht bekomme.
Würde ich die gleiche Abfrage mit den Switch Nodes parallel abfragen, würde ich zwei identische Nachrichten bekommen, da bei Punkte gleichzeitig abgefragt werden. Es bringt mir aber nichts, zwei identische Ergebnisse zu erhalten.Na ja diese Antwort habe ich Dir ja vorgegeben. Die Frage, die sich mir stellt, warum kommt so ein Ergebnis nicht, nachdem ich Dir die Aufgabe gestellt habe. Was war denn bitte so schwer daran zu verstehen?
-
@mickym Irgendwie hä ich gedacht,das Du eine andere Antwort erwartest, zumal wir das ja schon weiter oben durchgegangen sind, wann eine Nachricht durchkommt und wann nicht.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Irgendwie hä ich gedacht,das Du eine andere Antwort erwartest, zumal wir das ja schon weiter oben durchgegangen sind, wann eine Nachricht durchkommt und wann nicht.
Gestern abend schrieb ich noch - du hast nicht im Ansatz die 4 Fälle untersucht, wo ein Unterschied auftritt und trotzdem kam nicht die Antwort mit dem Unterschied zwischen dem JSONATA Switch und den 3 Switch Nodes. Was soll ich denn noch schreiben, dass Du diese 4 Fälle untersuchst und mir nicht den Unterschied zwischen and und or erklärst???
Wie hättest Du denn bitte die Frage gestellt, dass die gesuchte Antwort kommt? - Das würde mich mal interessieren.
-
@mickym Wahrscheinlich habe ich Deine einfache Frage nur wieder für mich selbst verkompliziert.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Wahrscheinlich habe ich Deine einfache Frage nur wieder für mich selbst verkompliziert.
Na formuliere doch mal die Frage so, dass Du die erwartete Antwort gegeben hättest. Ich muss das ja lernen, so zu formulieren.
-
@mickym ch glaube nicht dasDu etwas lernen musst
Aber okay: Warum ist es besser die Schlossallee 16 mit einem JSONATA Switch abzufragen als mit den Switch Nodes parallel?
-
@mickym Fenster ist gemacht
-
@damrak2022 Gut dann gehen wir nochmal zu dem Filter zurück. Zeig doch noch mal bitte wie Du bestimmte Zimmerobjekte ausgibst deren Zimmernamen Du in einem Array festlegst.
-
@mickym Das sind alle Zimmer in einem Array, aber da fehlt der Filter
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Das sind alle Zimmer in einem Array, aber da fehlt der Filter
Stimmt - das wichtigste fehlt.
-
-
-
@damrak2022 das ist zwar ein Filter - aber nicht den ich wollte. Ich wollte Zimmerobjekte als Ergebnis, die durch ein Array mit Zimmernamen gefiltert werden.