NEWS
Wasserregulierung Aquarium
-
Ich bin es nicht gewohnt, das jemand die Geduld mitbringt etwas zu erklären!
Also ich habe mich schon gebremst. -
@aphofis sagte in Wasserregulierung Aquarium:
Ich bin es nicht gewohnt, das jemand die Geduld mitbringt etwas zu erklären!
Also ich habe mich schon gebremst.Naja wenn ich die Geduld nicht mitbringen würde, dann wirst Du die Zusammenhänge nicht begreifen und wirst auf kurz oder lang immer frustriert bleiben.
Also erzeuge aus der payload mittels einer Change Node ein Objekt, in dem Du die payload in eine Eigenschaft payload.data verschiebst. Die Debugausgabe bitte posten.
-
Naja wenn ich die Geduld nicht mitbringen würde, dann wirst Du die Zusammenhänge nicht begreifen und wirst auf kurz oder lang immer frustriert bleiben.
Das will ich auch nicht und es ist echt toll das du mir das beibringen willst.
Also erzeuge aus der payload mittels einer Change Node ein Objekt, in dem Du die payload in eine Eigenschaft payload.data verschiebst. Die Debugausgabe bitte posten.
payload.data verstehe ich nicht wie das gemeint ist
-
@aphofis sagte in Wasserregulierung Aquarium:
payload.data verstehe ich nicht wie das gemeint ist
Nun über die Punktnotation kann man Eigenschaft eines Objektes ansprechen. Deswegen nochmals hast Du Dir die Definition von Arrays und Objekten angeschaut und kannst mir sagen, wie diese definiert sind.
Lies dieses Posting mit dem Link nochmals durch: https://forum.iobroker.net/post/1191559 -
@mickym
nein wann sollte ich mir das angucken wenn ich hier beim lernen bin. -
@aphofis Na in dem Link habe ich Dir die Definitionen gepostet. Das hatte ich Dir doch vor 45 Minuten geschrieben.
Also dann kopiere ich das nochmal hier rein:
=======================================================================
Also ein ARRAY beginnt IMMER mit einer ECKIGEN Klammer und schließt mit einer ECKIGEN Klammer ab und die einzelnen Elemente werden durch ein Komma getrennt.
=======================================================================
Also ein OBJEKT beginnt IMMER mit einer GESCHWEIFTEN Klammer und schließt mit einer GESCHWEIFTEN Klammer ab und die einzelnen Elemente werden durch ein Komma getrennt. Ein Element besteht immer aus einer Eigenschaft in Anführungszeichen und dann ein Doppelpunkt und dann dem Wert der Eigenschaft. So wie Du es zuerst gemacht hast.
-
Also ist ein Array eine selbst definierte ausgabe an payload Daten.
was genau ein Object ist weiß ich nicht -
@mickym sagte in Wasserregulierung Aquarium:
Ich glaube ich denke zu kompliziert.
Hatte ich gesehen, gelesen und solala verstanden. -
@aphofis sagte in Wasserregulierung Aquarium:
Also ist ein Array eine selbst definierte ausgabe an payload Daten.
was genau ein Object ist weiß ich nichtIch habe Dir die Definitionen gerade im vorigen Post beschrieben .
und so sollte es dann aussehen. Sprich die payload ist nun ein Objekt mit der Eigenschaft data.
Also nochmal ein Objekt hat ein oder mehrere Eigenschaften.
=======================================================================
Also ein OBJEKT beginnt IMMER mit einer GESCHWEIFTEN Klammer und schließt mit einer GESCHWEIFTEN Klammer ab und die einzelnen Elemente werden durch ein Komma getrennt. Ein Element besteht immer aus einer Eigenschaft in Anführungszeichen und dann ein Doppelpunkt und dann dem Wert der Eigenschaft. So wie Du es zuerst gemacht hast.
Siehe auch: https://www.w3schools.com/js/js_objects.asp
und in NodeRed und in JSON werden Objekte so dargestellt.
Wenn Du aus dem Debugfenster ein Wert rauskopierst und hier in CodeTags kopiert, dann sieht das payload Objekt so aus:
Der Pfad ist wie Du die Eigenschaft im Objekt ansprichst.
{"data":20}
-
Also array in eckige klammern gesetzt.
Object in geschwigten klammern
Was deffiniert ein Array und was ein Object.
Also zB wie in dem Thread sind die Tankstellen der Bereich (Array) in dem die einzelnen Punkte aufgelistet sind aber was ist dann ein Object.? -
@aphofis sagte in Wasserregulierung Aquarium:
Also zB wie in dem Thread sind die Tankstellen der Bereich (Array) in dem die einzelnen Punkte aufgelistet sind aber was ist dann ein Object.?
Lies Dir mal das vorige Posting genau durch - also ein Objekt ist eine logische Einheit mit verschiedenen Eigenschaften. Diese Eigenschaften können alle Datentypen, als auch weitere Objekte sein.
-
@mickym sagte in Wasserregulierung Aquarium:
en können alle Datentypen, als auch
Ok nur wo definiere ich das es ein Object ist.
-
@aphofis sagte in Wasserregulierung Aquarium:
@mickym sagte in Wasserregulierung Aquarium:
en können alle Datentypen, als auch
Ok nur wo definiere ich das es ein Object ist.
Siehe Definition:
Also ein OBJEKT beginnt IMMER mit einer GESCHWEIFTEN Klammer und schließt mit einer GESCHWEIFTEN Klammer ab und die einzelnen Elemente werden durch ein Komma getrennt. Ein Element besteht immer aus einer Eigenschaft in Anführungszeichen und dann ein Doppelpunkt und dann dem Wert der Eigenschaft. So wie Du es zuerst gemacht hast.
Ein Objekt definierst Du also durch die geschweiften Klammern.
-
@mickym sagte in Wasserregulierung Aquarium:
lemente werden durch ein Komma getren
Das mir ja nun auch klar, nur in welcher node setze ich das object!?
-
Ein Array hat KEINE Eigenschaften, sondern ist eine Aufzählung (in Blockly nennt man das Liste) von Daten. Diese sind aber nur durch ihre Position ansprechbar, aber nicht durch Eigenschaftsnamen.
-
@aphofis sagte in Wasserregulierung Aquarium:
@mickym sagte in Wasserregulierung Aquarium:
lemente werden durch ein Komma getren
Das mir ja nun auch klar, nur in welcher node setze ich das object!?
Nun Du kannst ein Objekt selbst definieren indem Du in der Change Node/Inject ein Objekt definierst:
Objekte und Arrays kannst Du in NodeRed über die JSON Schreibweise definieren:
-
So ich denke wir machen dann morgen weiter mit ein paar Grundlagen.
Hier nun die Auflösung der Aufgabe:
Du siehst nun dass die payload Eigenschaft in eine payload Eigenschaft data verschoben wird. Somit wird aus der payload automatisch ein Objekt.
Ich denke wir machen morgen weiter, wenn Du nichts dagegen hast.
-
Ansonsten kann man mit einer Change Node - eine Nachrichteneigenschaft auf eine Konstante setzen
Also eine Konstante vom Typ einer Zeichenkette, einer Zahl, eines Boolean, eines JSON Objekt (Objekt, Array) oder eines Buffer.
-
@mickym
Alter Schwede, jetzt habe ich es verstanden.
Das ja mega einfach wenn man erstmal die Basics kennt.
ist es so korrekt!?
-
@aphofis Na was Du halt willst, das ist ein Nachrichteigenschaft object mit einem Array.
Wie gesagt ich habe Dir nun noch das Setzen auf Konstanten im vorigen Post gezeigt.
Und wenn es komplexere Berechnungen geht, dann nimmst Du JSONATA
Wenn du also etwas mit der payload berechnen willst, dann kannst Du auch die payload mit 5,1 multiplizieren.
Dafür braucht mal also keine extra Nodes.
Hier mal etwas zum Nachlesen was JSONATA kann: https://docs.jsonata.org/overview
Diese supermächtige Bibliothek kannst Du in verschiedenen Nodes ansprechen. Aber für heute mach ich mal Schluss, aber sollte Dir für Deinen Flow weiterhelfen.
Gute N8