NEWS
Visualisierung mit Node Red erstellen
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
[ "Hochzeitssuite", "Prominentensuite" ]
Genau und Du kannst also bekannte Namen in ein Array eingeben und DIREKT in der Abfrage verwenden.
Du kannst nämlich das Wort
in
verwenden.Also allgemein (ich such das noch aus der originalen Beschreibung):
Array[Eigenschaft in ["Wert1","Wert2"]]
ergibt Array mit Objekten, deren Eigenschaft entweder "Wert1" oder "Wert2" ist, also
[ { "Eigenschaft": "Wert1"}, { "Eigenschaft": "Wert2"} ]
Das heißt Du kannst dieses Array nun direkt verwenden, um die beiden Objekte mit den Suiten zu extrahieren
Das
in
Schlüsselwort kann also ebenfalls als Vergleichsoperator verwendet werden.https://docs.jsonata.org/comparison-operators
-
@mickym Vielleicht bin ich gerade etwas von der Rolle, aber so klappt das nicht:
-
@damrak2022 Na Du musst schon die Wert Deines Eingangsobjektes einsetzen. Nicht einfach abschreiben.
Was ist denn Dein
- Array
- Eigenschaft
Also Du willst alle Zimmer abfragen, der Zimmername im Array [ "Hochzeitssuite", "Prominentensuite" ] sind.
-
@mickym Array ist "Zimmer" aber wie die Abfrage dann weitergeht bekomme ich gerade nicht hin. Vor allem dieses Eigenschaft in?
-
@damrak2022 Na die Eigenschaft ist das was Du abfragst. Vorher hast Du die Eigenschaft Preis aus dem Zimmerobjekt abgefragt. Jetzt willst Du ja wissen welche Objekte den Zimmernamen "Hochzeitssuite" oder "Prominentensuite" sind. Was ist also der Eigenschaftsname den Du abfragst?
-
@mickym Zimmername, nur bekomme ich den Code gerade nicht hin. Wird gleich wieder besser, hoffe ich
-
@damrak2022 Fangen wir einfach an. Wie gibst Du alle Zimmerobjekte aus? Poste mal bei Schritt für Schritt nur hier im Thread.
-
payload.Zimmer
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
payload.Zimmer
Sehr gut und wie filterst Du nun die Objekte mit welchem Zeichen?
-
payload.Zimmer[Zimmername="Prominentensuite"]
-
@damrak2022 Sehr gut - damit bekommst Du das Objekt mit dem Zimmernamen "Prominentensuite" - nun wollen wir aber alle Objekte haben die Bestandteil eines Array sind. Statt dem = also das Schlüsselwort in und statt "Prominentensuite" das Array, das die Namen unserer Suiten enthält.
-
@mickym Da fehlt doch irgendwas vor dem "in"
payload.Zimmer[Zimmernamein"4"]
-
@damrak2022 Na Zimmername und in musst Du trennen und dahinter kommt statt "4" Dein Array mit Deinen Suitenamen rein.
https://forum.iobroker.net/post/943476 - da steht doch unten in dem Beispiel mit "world" in drin - wie es geht.
-
@mickym Schon wieder so eine schwere Geburt:
-
-
@damrak2022 Super - ich würde es halt immer schön schreiben mit einem Leerzeichen nach dem in.
payload.Zimmer[Zimmername in ["Hochzeitssuite","Prominentensuite"]]
das war diese Node
Wie sieht es mit Deiner Konzentration aus? - Pause nach dieser Anstrengung?
-
@mickym Siehe oben drüber
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Siehe oben drüber
Ok - brauchst Du Pause oder bist du weiter für was Neues offen?
-
@mickym Bin wieder da
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Bin wieder da
Gut dann gehe ich mal davon aus, dass Du nun offen für Neues bist.
Im 1. Fall haben wir ja die Namen unserer Suiten gewusst und diese nun in einem Array aufgelistet, um die entsprechenden Zimmerobjekte zu selektieren.
Nun was müssten wir tun, wenn wir nicht genau den Namen der Suiten wissen - wir wissen lediglich, dass suite im Namen vorkommt?