Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Wasserregulierung Aquarium

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    924

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    688

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Wasserregulierung Aquarium

Geplant Angeheftet Gesperrt Verschoben Node-Red
150 Beiträge 3 Kommentatoren 16.6k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • AphofisA Aphofis

    @mickym
    nein wann sollte ich mir das angucken wenn ich hier beim lernen bin.

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von
    #58

    @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.

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    AphofisA 1 Antwort Letzte Antwort
    0
    • AphofisA Aphofis

      @mickym
      nein wann sollte ich mir das angucken wenn ich hier beim lernen bin.

      AphofisA Offline
      AphofisA Offline
      Aphofis
      schrieb am zuletzt editiert von
      #59

      Also ist ein Array eine selbst definierte ausgabe an payload Daten.
      was genau ein Object ist weiß ich nicht

      mickymM 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @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.

        AphofisA Offline
        AphofisA Offline
        Aphofis
        schrieb am zuletzt editiert von
        #60

        @mickym sagte in Wasserregulierung Aquarium:
        Ich glaube ich denke zu kompliziert.
        Hatte ich gesehen, gelesen und solala verstanden.

        AphofisA 1 Antwort Letzte Antwort
        0
        • AphofisA Aphofis

          Also ist ein Array eine selbst definierte ausgabe an payload Daten.
          was genau ein Object ist weiß ich nicht

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #61

          @aphofis sagte in Wasserregulierung Aquarium:

          Also ist ein Array eine selbst definierte ausgabe an payload Daten.
          was genau ein Object ist weiß ich nicht

          Ich habe Dir die Definitionen gerade im vorigen Post beschrieben .
          84f9fce5-2aca-46b8-bb02-ae91263e5d30-image.png

          und so sollte es dann aussehen. Sprich die payload ist nun ein Objekt mit der Eigenschaft data.

          b7efee7c-6be8-4bd8-acfd-39a736d0c06a-image.png

          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

          10272071-af36-4ac9-863b-491cce88b181-image.png

          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:

          copy path.gif

          Der Pfad ist wie Du die Eigenschaft im Objekt ansprichst.

          07de958b-31f8-43a3-b4a6-584a2b22680d-image.png

          Code-Tags.gif

          {"data":20}
          

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          1 Antwort Letzte Antwort
          1
          • AphofisA Aphofis

            @mickym sagte in Wasserregulierung Aquarium:
            Ich glaube ich denke zu kompliziert.
            Hatte ich gesehen, gelesen und solala verstanden.

            AphofisA Offline
            AphofisA Offline
            Aphofis
            schrieb am zuletzt editiert von
            #62

            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.?

            mickymM 1 Antwort Letzte Antwort
            0
            • AphofisA Aphofis

              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.?

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #63

              @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.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              AphofisA 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @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.

                AphofisA Offline
                AphofisA Offline
                Aphofis
                schrieb am zuletzt editiert von
                #64

                @mickym sagte in Wasserregulierung Aquarium:

                en können alle Datentypen, als auch

                Ok nur wo definiere ich das es ein Object ist.

                mickymM 1 Antwort Letzte Antwort
                0
                • AphofisA Aphofis

                  @mickym sagte in Wasserregulierung Aquarium:

                  en können alle Datentypen, als auch

                  Ok nur wo definiere ich das es ein Object ist.

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von
                  #65

                  @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.

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  AphofisA 1 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    @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.

                    AphofisA Offline
                    AphofisA Offline
                    Aphofis
                    schrieb am zuletzt editiert von
                    #66

                    @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!?

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #67

                      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.

                      89afed07-3973-4788-950f-0dcf3daa59b5-image.png

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      1 Antwort Letzte Antwort
                      1
                      • AphofisA Aphofis

                        @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!?

                        mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von mickym
                        #68

                        @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:

                        1725759d-042c-4fe0-a917-b495f434bad5-image.png

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        1 Antwort Letzte Antwort
                        1
                        • mickymM Online
                          mickymM Online
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von
                          #69

                          So ich denke wir machen dann morgen weiter mit ein paar Grundlagen.

                          Hier nun die Auflösung der Aufgabe:

                          66ba77ff-6082-4ef3-9618-6167cb1dd8b3-image.png

                          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.

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          AphofisA 1 Antwort Letzte Antwort
                          1
                          • mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von
                            #70

                            Ansonsten kann man mit einer Change Node - eine Nachrichteneigenschaft auf eine Konstante setzen

                            e4d5562c-f56d-4a45-ab59-7f6084128a29-image.png

                            Also eine Konstante vom Typ einer Zeichenkette, einer Zahl, eines Boolean, eines JSON Objekt (Objekt, Array) oder eines Buffer.

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              So ich denke wir machen dann morgen weiter mit ein paar Grundlagen.

                              Hier nun die Auflösung der Aufgabe:

                              66ba77ff-6082-4ef3-9618-6167cb1dd8b3-image.png

                              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.

                              AphofisA Offline
                              AphofisA Offline
                              Aphofis
                              schrieb am zuletzt editiert von
                              #71

                              @mickym
                              Alter Schwede, jetzt habe ich es verstanden.
                              Das ja mega einfach wenn man erstmal die Basics kennt.
                              ist es so korrekt!?
                              Screenshot 2024-08-16 040146.png

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • AphofisA Aphofis

                                @mickym
                                Alter Schwede, jetzt habe ich es verstanden.
                                Das ja mega einfach wenn man erstmal die Basics kennt.
                                ist es so korrekt!?
                                Screenshot 2024-08-16 040146.png

                                mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von mickym
                                #72

                                @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

                                96093b0e-8707-4703-ad01-b6d9f7c20d6e-image.png

                                Wenn du also etwas mit der payload berechnen willst, dann kannst Du auch die payload mit 5,1 multiplizieren.

                                5a0f9d6f-972a-4c59-bd46-e776bb3b107d-image.png

                                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

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                AphofisA 1 Antwort Letzte Antwort
                                1
                                • mickymM mickym

                                  @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

                                  96093b0e-8707-4703-ad01-b6d9f7c20d6e-image.png

                                  Wenn du also etwas mit der payload berechnen willst, dann kannst Du auch die payload mit 5,1 multiplizieren.

                                  5a0f9d6f-972a-4c59-bd46-e776bb3b107d-image.png

                                  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

                                  AphofisA Offline
                                  AphofisA Offline
                                  Aphofis
                                  schrieb am zuletzt editiert von Aphofis
                                  #73

                                  @mickym
                                  Also ich hab die Struktur noch nicht ganz verstanden, was erzeugt was in inject und change node und ist iobroker get richtig für das abgreifen der Datenpunkte !?
                                  Vielleicht schnalle ich das einfach auch nicht aber ich denke wenn ich den richtigen aufbau verstehe klappt das. Also wie erstellt man einen array und wie wird ein Objekt erstellt.

                                  [
                                      {
                                          "id": "415ea6773572ec75",
                                          "type": "inject",
                                          "z": "e96d40e5c03c8e73",
                                          "name": "",
                                          "props": [
                                              {
                                                  "p": "daten",
                                                  "v": "[\"durchfluss\", \"tag\", \"jahr\", \"gesamt\"]",
                                                  "vt": "jsonata"
                                              },
                                              {
                                                  "p": "durchfluss",
                                                  "v": "",
                                                  "vt": "num"
                                              },
                                              {
                                                  "p": "tag",
                                                  "v": "",
                                                  "vt": "num"
                                              },
                                              {
                                                  "p": "jahr",
                                                  "v": "",
                                                  "vt": "num"
                                              },
                                              {
                                                  "p": "gesamt",
                                                  "v": "",
                                                  "vt": "num"
                                              }
                                          ],
                                          "repeat": "",
                                          "crontab": "",
                                          "once": false,
                                          "onceDelay": 0.1,
                                          "topic": "",
                                          "x": 90,
                                          "y": 480,
                                          "wires": [
                                              [
                                                  "ac6a78552d4978e1",
                                                  "7b7c9c2aa869088d",
                                                  "7dc01f92f518b643",
                                                  "53d2919475160265"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "e9f685375022ecfd",
                                          "type": "debug",
                                          "z": "e96d40e5c03c8e73",
                                          "name": "debug 15",
                                          "active": true,
                                          "tosidebar": true,
                                          "console": false,
                                          "tostatus": false,
                                          "complete": "true",
                                          "targetType": "full",
                                          "statusVal": "",
                                          "statusType": "auto",
                                          "x": 800,
                                          "y": 480,
                                          "wires": []
                                      },
                                      {
                                          "id": "01adccb7d5de8cbb",
                                          "type": "change",
                                          "z": "e96d40e5c03c8e73",
                                          "name": "",
                                          "rules": [
                                              {
                                                  "t": "set",
                                                  "p": "durchfluss",
                                                  "pt": "msg",
                                                  "to": "durchfluss * 5.1",
                                                  "tot": "jsonata"
                                              },
                                              {
                                                  "t": "set",
                                                  "p": "jahr",
                                                  "pt": "msg",
                                                  "to": "durchfluss * 5.1 / 1000 + jahr",
                                                  "tot": "jsonata"
                                              },
                                              {
                                                  "t": "set",
                                                  "p": "gesamt",
                                                  "pt": "msg",
                                                  "to": "durchfluss * 5.1 / 1000 + gesamt",
                                                  "tot": "jsonata"
                                              },
                                              {
                                                  "t": "set",
                                                  "p": "tag",
                                                  "pt": "msg",
                                                  "to": "durchfluss * 5.1 + tag",
                                                  "tot": "jsonata"
                                              }
                                          ],
                                          "action": "",
                                          "property": "",
                                          "from": "",
                                          "to": "",
                                          "reg": false,
                                          "x": 590,
                                          "y": 480,
                                          "wires": [
                                              [
                                                  "e9f685375022ecfd"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "ac6a78552d4978e1",
                                          "type": "ioBroker get",
                                          "z": "e96d40e5c03c8e73",
                                          "name": "durchfluss",
                                          "topic": "0_userdata.0.Test_Wasser.Test_Durchfluss",
                                          "attrname": "durchfluss",
                                          "payloadType": "value",
                                          "errOnInvalidState": "nothing",
                                          "x": 370,
                                          "y": 480,
                                          "wires": [
                                              [
                                                  "01adccb7d5de8cbb"
                                              ]
                                          ]
                                      },
                                      {
                                          "id": "7dc01f92f518b643",
                                          "type": "ioBroker get",
                                          "z": "e96d40e5c03c8e73",
                                          "name": "jahr",
                                          "topic": "0_userdata.0.Test_Wasser.Test_Wasser_Jahr",
                                          "attrname": "jahr",
                                          "payloadType": "value",
                                          "errOnInvalidState": "nothing",
                                          "x": 350,
                                          "y": 600,
                                          "wires": [
                                              []
                                          ]
                                      },
                                      {
                                          "id": "7b7c9c2aa869088d",
                                          "type": "ioBroker get",
                                          "z": "e96d40e5c03c8e73",
                                          "name": "tag",
                                          "topic": "0_userdata.0.Test_Wasser.Test_Wasser_Tag",
                                          "attrname": "tag",
                                          "payloadType": "value",
                                          "errOnInvalidState": "nothing",
                                          "x": 350,
                                          "y": 540,
                                          "wires": [
                                              []
                                          ]
                                      },
                                      {
                                          "id": "53d2919475160265",
                                          "type": "ioBroker get",
                                          "z": "e96d40e5c03c8e73",
                                          "name": "gesamt",
                                          "topic": "0_userdata.0.Test_Wasser.Test_Wasser_Gesamt",
                                          "attrname": "gesamt",
                                          "payloadType": "value",
                                          "errOnInvalidState": "nothing",
                                          "x": 360,
                                          "y": 660,
                                          "wires": [
                                              []
                                          ]
                                      }
                                  ]
                                  


                                  Screenshot 2024-08-16 054254.png
                                  Screenshot 2024-08-16 054708.png
                                  Die Daten werden in das Object geschrieben aber nicht in den Array. Irgendwo habe ich einen Denkfehler.
                                  und jetzt sage ich erstmal Gute Nacht und schon mal vielen vielen dank für deine Lektionen.

                                  1 Antwort Letzte Antwort
                                  0
                                  • mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von mickym
                                    #74

                                    Nein - ich fürchte Du hast leider noch gar nichts verstanden - da Du immer noch an Deinem Flow klebst und nicht erst mal versuchst, das System zu verstehen. Die Datenpunkte sind doch für das Verständnis erst mal unwichtig. NodeRed gibts schon viel länger als iobroker.

                                    Also nochmal:

                                    1. Durch die Kabel von dem einen zu dem anderen Node fließen Objekte. (Deswegen Flow).
                                      Ein Objekt wird im JSON Format wie folgt dargestellt:

                                    =======================================================================

                                    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.

                                    =======================================================================

                                    1. Ein Objekt ist eine logische Einheit, das entweder leer ist oder Eigenschaften besitzt.
                                    {}
                                    

                                    Das ist ein leeres Objekt, da es keine Eigenschaften besitzt.

                                    {"Farbe": "rot", "Temperatur":23}
                                    

                                    Das ist ein Objekt mit 2 Eigenschaften: Farbe und Temperatur. Eigenschaften innerhalb eines JSON Objektes werden immer in Anführungszeichen geschrieben. Nachdem Namen der Eigenschaft folgt ein Punkt mit dem Wert der Eigenschaft. Also bei der Eigenschaft "Farbe" ist der Wert "rot" und da das wieder eine Zeichenkette ist, steht dieser ebenfalls in Anführungszeichen.
                                    Eigenschaften werden durch ein Komma getrennt.
                                    Die 2. Eigenschaft ist eine mit dem Namen "Temperatur", gefolgt von einem Doppelpunkt und einem Wert, der ist 23. Dieser steht nicht in Anführungszeichen, da es sich um eine Zahl handelt und nicht um eine Zeichenkette.

                                    1. Eine InjectNode - ist eine Node mit der Du manuell ein Nachrichtenobjekt generieren kannst (triggern kannst), indem Du auf die Schaltfläche hinten drückst.

                                    Wenn Du wie hier eine Inject Node - ohne Eigenschaften betätigst, dann erzeugst Du ein Nachrichtenobjekt mit der Eigenschaft _msgid.

                                    5a6a9270-19ae-4a6b-8178-04959c7eb78d-image.png

                                    Diese id ist eine eindeutige Zahl, die NodeRed verwendet, um ein Nachrichtenobjekt zu identifizieren, damit es quasi immer weiß, wo sich das Nachrichtenobjekt im Flow befindet.

                                    Wenn Du also ein Nachrichtenobjekt mit der Inject Node erzeugst und mit einer 1. Debug Node Dir anschaust, dann siehst Du das die Eigenschaft "_msgid" gleich geblieben ist und von der Inject Node in die 1. Debug Node, in die Change Node und in die 2. Debug Node geflossen ist. Die Change Node hat keine Regel, um Dir zu zeigen, dass wir nichts ändern und Du nur siehst, dass es das gleiche Nachrichtenobjekt ist.

                                    Auch wenn Du den Flow verzweigst und an eine ChangeNode 2 Kabel machst, dann bleibt die "_msgid" gleich. Das Nachrichtenobjekt wird also nur kopiert.

                                    Um das bisher gesagt nachzuvollziehen, kannst Du diese Flows importieren:

                                    [
                                       {
                                           "id": "24ea1f31295e9f0a",
                                           "type": "inject",
                                           "z": "95d5d241e51360cd",
                                           "name": "",
                                           "props": [],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "",
                                           "x": 230,
                                           "y": 1340,
                                           "wires": [
                                               [
                                                   "2e1fa5ecabd97ff6"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "2e1fa5ecabd97ff6",
                                           "type": "debug",
                                           "z": "95d5d241e51360cd",
                                           "name": "Komplettes Nachrichtenobjekt",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 490,
                                           "y": 1340,
                                           "wires": []
                                       },
                                       {
                                           "id": "bb4db0e96ceaa393",
                                           "type": "inject",
                                           "z": "95d5d241e51360cd",
                                           "name": "",
                                           "props": [],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "",
                                           "x": 230,
                                           "y": 1500,
                                           "wires": [
                                               [
                                                   "42d1e71f73aab3b8",
                                                   "7d9feccc73d01a6f"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "0cd95cb975b667d8",
                                           "type": "debug",
                                           "z": "95d5d241e51360cd",
                                           "name": "Komplettes Nachrichtenobjekt 2",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 690,
                                           "y": 1500,
                                           "wires": []
                                       },
                                       {
                                           "id": "42d1e71f73aab3b8",
                                           "type": "change",
                                           "z": "95d5d241e51360cd",
                                           "name": "",
                                           "rules": [],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 430,
                                           "y": 1500,
                                           "wires": [
                                               [
                                                   "0cd95cb975b667d8",
                                                   "310cf5c51a5e5084"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "7d9feccc73d01a6f",
                                           "type": "debug",
                                           "z": "95d5d241e51360cd",
                                           "name": "Komplettes Nachrichtenobjekt 1",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 490,
                                           "y": 1460,
                                           "wires": []
                                       },
                                       {
                                           "id": "310cf5c51a5e5084",
                                           "type": "debug",
                                           "z": "95d5d241e51360cd",
                                           "name": "Komplettes Nachrichtenobjekt 3",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 690,
                                           "y": 1540,
                                           "wires": []
                                       }
                                    ]
                                    

                                    ========================================================================

                                    Nun schauen wir uns mal Deine Inject Node aus Deinem Flow an:

                                    7f46ba01-80f0-487b-914d-0396ef1f7619-image.png

                                    Du hast also dem Nachrichtenobjekt neben der obligatorischen "_msgid" noch die Eigenschaften

                                    "daten", "durchfluss", "tag", "jahr", "gesamt" hinzugefügt.

                                    Warum Du das gemacht hast, weiß ich nicht - bzw. kann ich mir zwar vorstellen, weil Du schon wieder Deinen Flow im Hinterkopf hattest, den Du doch erst mal vergessen solltest, wenn Du das System verstehen willst Du bist zu ungeduldig!!

                                    Also der Eigenschaft "daten" des Nachrichtenobjektes hast Du ein Objekt zugewiesen und dann auch noch über JSONATA. Wenn man ein KONSTANTES Objekt definiert und nicht direkt weiterverarbeiten will, dann nimmt man eigentlich nur das JSON Objekt.

                                    03ae246e-6403-49b8-b5b5-516abde4397e-image.png

                                    Also nicht das J: sondern die geschweiften Klammern.

                                    dd42f037-b15b-4ee5-b16c-35cec52536f3-image.png

                                    So dieser Nachrichteneigenschaft "daten" hast Du also, als Wert ein Array zugewiesen:

                                    ["durchfluss","tag","jahr","gesamt"]
                                    

                                    Der Grund erschließt sich mir nicht, ausser dass Du wieder an Deinen Flow gedacht hast. Du wirst aber die nicht mit einer Inject Node definieren können, wenn du sie aus Datenpunkten auslesen willst. Du kannst nur in einer Inject Nodes "Werte" in einem Nachrichtenobjekt definieren, wenn Du Werte aus Datenpunkten simulieren willst.

                                    Da Du die restlichen Eigenschaften leer gelassen hast, also nicht definiert hast, allerdings als Datentyp eine Zahl definiert hast, hat NodeRed den Zahlenwert automatisch auf 0 gesetzt.

                                    Hier nochmal zur Verdeutlichung zum Import, das Nachrichtenobjekt, dass Du mit Deiner Inject node erzeugt hast:

                                    [
                                       {
                                           "id": "2e1fa5ecabd97ff6",
                                           "type": "debug",
                                           "z": "95d5d241e51360cd",
                                           "name": "Komplettes Nachrichtenobjekt",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 430,
                                           "y": 1340,
                                           "wires": []
                                       },
                                       {
                                           "id": "5bbdad0a78878e1d",
                                           "type": "inject",
                                           "z": "95d5d241e51360cd",
                                           "name": "",
                                           "props": [
                                               {
                                                   "p": "daten",
                                                   "v": "[\"durchfluss\", \"tag\", \"jahr\", \"gesamt\"]",
                                                   "vt": "json"
                                               },
                                               {
                                                   "p": "durchfluss",
                                                   "v": "",
                                                   "vt": "num"
                                               },
                                               {
                                                   "p": "tag",
                                                   "v": "",
                                                   "vt": "num"
                                               },
                                               {
                                                   "p": "jahr",
                                                   "v": "",
                                                   "vt": "num"
                                               },
                                               {
                                                   "p": "gesamt",
                                                   "v": "",
                                                   "vt": "num"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "",
                                           "x": 190,
                                           "y": 1340,
                                           "wires": [
                                               [
                                                   "2e1fa5ecabd97ff6"
                                               ]
                                           ]
                                       }
                                    ]
                                    

                                    und hier das Nachrichtenobjekt direkt aus dem Debugfenster kopiert

                                    0972a3d3-d0a0-4af8-918d-5a969d712811-image.png

                                    und in verwertbares JSON Formati hier in den Thread gestellt:

                                    {"_msgid":"712fe5877fca1470","daten":["durchfluss","tag","jahr","gesamt"],"durchfluss":0,"tag":0,"jahr":0,"gesamt":0}
                                    

                                    ===============================================================

                                    Nun schauen wir an, was Du mit den Nachrichtenobjekt getan hast, dass Du mit Deiner Inject Node erzeugt hast.

                                    1c119ba9-8c78-4491-8b64-15c491b62121-image.png

                                    Du hast das Nachrichtenobjekt an verschiedene iobroker-get Nodes geschickt. Die unteren 3 führst Du ja nicht mehr weiter, also gehen diese Nachrichtenobjekte verloren, dann kannst sie ja auch gleich weglassen oder entfernen. ;)

                                    ==============================================================

                                    Also schauen wir nur mal das Nachrichtenobjekt an, dass Du in die iobroker-get Node mit dem Namen "durchfluss" schickst.

                                    69a77edb-a8e6-4980-898d-358ccfea793d-image.png

                                    Du liest also aus dem Datempunkt mit dem topic "0_userdata.0.Test_Wasser.Test_Durchfluss"
                                    7f6ab22a-ea66-4a9c-a627-45cda6b5057f-image.png
                                    den Wert aus
                                    9a3835ac-6466-4b3b-93e4-97ce767b76b4-image.png
                                    und weist ihn der Nachrichteneigenschaft
                                    52970ff9-40e0-44bc-b492-c89b2741780b-image.png
                                    "durchfluss" zu.

                                    Da die Nachrichteneigenschaft ja schon in der Inject Node definiert, wird diese nun durch den Wert aus dem iobroker Datenpunkt ersetzt, also 67 ersetzt.

                                    Dein Nachrichtenobjekt nach der Inject Node schaut also so aus:

                                    db1d9ef1-be1b-43d6-995e-17febdc73c8f-image.png

                                    Also nicht ganz diese Objektdaten und das topic kommen noch hinzu, wie Du ja an Deiner Debug Node siehst.

                                    1f6310ce-520b-44ab-987d-f566ac7308e3-image.png

                                    =====================================================================
                                    Nun sendest du also das Nachrichtenobjekt
                                    69bc93c2-3466-44c0-8513-ac50f4577bea-image.png
                                    an die Change Node mit 4 Regeln:

                                    2b88b480-bda9-4a04-ac87-9e2290db1ecc-image.png

                                    1. Gut also mit der 1. Regel multiplizierst Du den Durchfluss mit 5,1.

                                    159bf5b6-a8f7-444f-a5d9-4a806172614b-image.png

                                    67 * 5,1 = 341,7
                                    

                                    20664561-ced2-428a-8b09-4d1de31c7b0e-image.png

                                    Na das hat ja schon mal geklappt, wie Du an Deiner Debugausgabe siehst.
                                    Nach Deiner 1. Regel in der Change Node sieht also Dein Nachrichtenobjekt so aus:

                                    2ddfcf25-0487-4bb8-80f0-77f01e5c45ef-image.png

                                    Nun die 2. Regel mit dem aktuellen Nachrichtenobjekt:

                                    a48a4ba6-1b27-456e-9b87-1b43102aeee4-image.png

                                    Also (das jahr ist ja 0 wie Du in Deinem Nachrichtenobjekt sehen kannst):

                                    341,7 * 5,1/1000 + 0
                                    

                                    Das stimmt also auch:
                                    73cdb502-f5bd-4344-a93e-a90b3159dea6-image.png

                                    b56116d3-ca0f-43d0-8751-7327e2c64009-image.png

                                    Für jahr, gesamt kommt natürlich das Gleiche raus, da beides im Nachrichtenobjekt 0 war.
                                    Für tag fällt ja nur die Division durch 1000 raus.

                                    Der Rundungsfehler bei tag ist leider eine Eigenart von Javascript und hat mit NodeRed nichts zu tun. Das passiert Dir auch bei Blockly oder Javascript. Wenn Du aber rundest, fällt das ja nicht auf.

                                    ======================================================================================

                                    Fazit alles ist logisch und folgerichtig, wenn Du Dir die Debugausgabe anschaust, aber Du siehst Du hast mehrere Fehler drin.

                                    1. Der Durchfluss wird doppelt mit 5,1 für das jahr, gesamt und tag multipliziert.

                                    Deshalb merke: Das Nachrichtenobjekt wird von jeder Regel modifziert. Du kannst anstelle EINER Change Node mit 4 Regeln auch VIER Change Nodes mit 1 Regel verwenden.

                                    c6f1548b-b866-44e0-9e86-15f27e415830-image.png

                                    Wenn Du also in der 1. Regel den durchfluss bereits mit 5.1 mulitpliziert hast, dann darfst Du es in den Folgeregeln nicht machen, sonst multiplizierst Du zweimal mit 5.1. (siehe Nachrichtenobjekt) nach der 1. Regel.

                                    1. Die Eigenschaften des Nachrichtenobjektes jahr, gesamt und tag stammen aus der Inject Node und nicht aus den Datenpunkten und sind deshalb alle 0. Um das zu ändern musst du die anderen iobroker In Nodes in den Flow und somit in das Nachrichtenobjekt aufnehmen und nicht parallel ins Leere laufen lassen.

                                    2. Die in der Inject definierten Eigenschaften des Nachrichtenobjektes sind alle überflüssig (das Array ist sowieso UNSINN), wenn Du die Daten aus dem iobroker mittels iobroker-get Nodes in den Flow holst.

                                    Also kannst Du das GANZE aus der Inject Node entfernen:

                                    71bc4bb7-6f9f-4ea7-ba67-0560bba95ede-image.png

                                    Jetzt wird Dein Flow die Regeln mit undefinierten Eigenschaften (jahr, gesamt, tag) ignorieren, weil ja jetzt gesamt, jahr und tag nicht mehr definiert sind.

                                    9a2b5faf-c979-4069-a373-7b9a43a2ef1e-image.png

                                    Also musst Du wohl die EIGENSCHAFTEN aus den in der Luft hängenden iobroker-get Nodes ignorieren.

                                    1. Du kannst auch mit 1 Inject Node alle Werte simulieren OHNE diese aus dem iobroker auszulesen, indem Du diese Eigenschaften als KONSTANTEN definierst.

                                    080608d0-847c-4358-9cdf-69c043cb4493-image.png

                                    Also eine Inject Node mit diesen Werten bastelst und damit Deine ChangeNode testest.

                                    33fbf462-a45d-4dbc-8624-3fb1896de33b-image.png

                                    damit sieht das Ergebnis zwar besser aus, aber Du siehst immer noch die doppelte 5,1 Multiplikation in der Change Node, die Du nun berichtigen kannst (aber zum Testen ist das doch gut, da Du keine Daten aus dem iobroker auslesen musst).

                                    78fc016e-00c1-4b74-b893-a00c0cd562db-image.png

                                    Korrigieren wir also den Rechenfehler in der Change Node, dann sollte das Ergebnis nun richtig sein:

                                    01507783-f90d-40e9-bc3c-ce1b45997845-image.png

                                    Hier zum Import:

                                    [
                                       {
                                           "id": "f4867f82feb1d1f9",
                                           "type": "inject",
                                           "z": "95d5d241e51360cd",
                                           "name": "",
                                           "props": [
                                               {
                                                   "p": "durchfluss",
                                                   "v": "67",
                                                   "vt": "num"
                                               },
                                               {
                                                   "p": "tag",
                                                   "v": "312",
                                                   "vt": "num"
                                               },
                                               {
                                                   "p": "jahr",
                                                   "v": "1.5",
                                                   "vt": "num"
                                               },
                                               {
                                                   "p": "gesamt",
                                                   "v": "1.8",
                                                   "vt": "num"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "",
                                           "x": 810,
                                           "y": 1260,
                                           "wires": [
                                               [
                                                   "d4e356848cabddf5"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "37f2d6824dc5f689",
                                           "type": "debug",
                                           "z": "95d5d241e51360cd",
                                           "name": "Teste Berechnung",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "true",
                                           "targetType": "full",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 1230,
                                           "y": 1260,
                                           "wires": []
                                       },
                                       {
                                           "id": "d4e356848cabddf5",
                                           "type": "change",
                                           "z": "95d5d241e51360cd",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "durchfluss",
                                                   "pt": "msg",
                                                   "to": "durchfluss * 5.1",
                                                   "tot": "jsonata"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "jahr",
                                                   "pt": "msg",
                                                   "to": "durchfluss  / 1000 + jahr",
                                                   "tot": "jsonata"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "gesamt",
                                                   "pt": "msg",
                                                   "to": "durchfluss  / 1000 + gesamt",
                                                   "tot": "jsonata"
                                               },
                                               {
                                                   "t": "set",
                                                   "p": "tag",
                                                   "pt": "msg",
                                                   "to": "durchfluss  + tag",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 990,
                                           "y": 1260,
                                           "wires": [
                                               [
                                                   "37f2d6824dc5f689"
                                               ]
                                           ]
                                       }
                                    ]
                                    

                                    So und NUR wenn Du jetzt jedes Detail verinnerlicht hast, dann machen wir mit Deinem Flow weiter. Sollte auch nur eine Kleinigkeit unklar sein, dann erwarte ich Deine Fragen.

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    1 Antwort Letzte Antwort
                                    1
                                    • AphofisA Offline
                                      AphofisA Offline
                                      Aphofis
                                      schrieb am zuletzt editiert von Aphofis
                                      #75

                                      @mickym sagte in Wasserregulierung Aquarium:

                                                                                                                                                                  [                                                                                                                                                                               {                                                                                                                                                                                   "id": "f4867f82feb1d1f9",                                                                                                                                                                                   "type": "inject",                                                                                                                                                                                   "z": "95d5d241e51360cd",                                                                                                                                                                                   "name": "",                                                                                                                                                                                   "props": [                                                                                                                                                                                       {                                                                                                                                                                                           "p": "durchfluss",                                                                                                                                                                                           "v": "67",                                                                                                                                                                                           "vt": "num"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "p": "tag",                                                                                                                                                                                           "v": "312",                                                                                                                                                                                           "vt": "num"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "p": "jahr",                                                                                                                                                                                           "v": "1.5",                                                                                                                                                                                           "vt": "num"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "p": "gesamt",                                                                                                                                                                                           "v": "1.8",                                                                                                                                                                                           "vt": "num"                                                                                                                                                                                       }                                                                                                                                                                                   ],                                                                                                                                                                                   "repeat": "",                                                                                                                                                                                   "crontab": "",                                                                                                                                                                                   "once": false,                                                                                                                                                                                   "onceDelay": 0.1,                                                                                                                                                                                   "topic": "",                                                                                                                                                                                   "x": 810,                                                                                                                                                                                   "y": 1260,                                                                                                                                                                                   "wires": [                                                                                                                                                                                       [                                                                                                                                                                                           "d4e356848cabddf5"                                                                                                                                                                                       ]                                                                                                                                                                                   ]                                                                                                                                                                               },                                                                                                                                                                               {                                                                                                                                                                                   "id": "37f2d6824dc5f689",                                                                                                                                                                                   "type": "debug",                                                                                                                                                                                   "z": "95d5d241e51360cd",                                                                                                                                                                                   "name": "Teste Berechnung",                                                                                                                                                                                   "active": true,                                                                                                                                                                                   "tosidebar": true,                                                                                                                                                                                   "console": false,                                                                                                                                                                                   "tostatus": false,                                                                                                                                                                                   "complete": "true",                                                                                                                                                                                   "targetType": "full",                                                                                                                                                                                   "statusVal": "",                                                                                                                                                                                   "statusType": "auto",                                                                                                                                                                                   "x": 1230,                                                                                                                                                                                   "y": 1260,                                                                                                                                                                                   "wires": []                                                                                                                                                                               },                                                                                                                                                                               {                                                                                                                                                                                   "id": "d4e356848cabddf5",                                                                                                                                                                                   "type": "change",                                                                                                                                                                                   "z": "95d5d241e51360cd",                                                                                                                                                                                   "name": "",                                                                                                                                                                                   "rules": [                                                                                                                                                                                       {                                                                                                                                                                                           "t": "set",                                                                                                                                                                                           "p": "durchfluss",                                                                                                                                                                                           "pt": "msg",                                                                                                                                                                                           "to": "durchfluss * 5.1",                                                                                                                                                                                           "tot": "jsonata"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "t": "set",                                                                                                                                                                                           "p": "jahr",                                                                                                                                                                                           "pt": "msg",                                                                                                                                                                                           "to": "durchfluss  / 1000 + jahr",                                                                                                                                                                                           "tot": "jsonata"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "t": "set",                                                                                                                                                                                           "p": "gesamt",                                                                                                                                                                                           "pt": "msg",                                                                                                                                                                                           "to": "durchfluss  / 1000 + gesamt",                                                                                                                                                                                           "tot": "jsonata"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "t": "set",                                                                                                                                                                                           "p": "tag",                                                                                                                                                                                           "pt": "msg",                                                                                                                                                                                           "to": "durchfluss  + tag",                                                                                                                                                                                           "tot": "jsonata"                                                                                                                                                                                       }                                                                                                                                                                                   ],                                                                                                                                                                                   "action": "",                                                                                                                                                                                   "property": "",                                                                                                                                                                                   "from": "",                                                                                                                                                                                   "to": "",                                                                                                                                                                                   "reg": false,                                                                                                                                                                                   "x": 990,                                                                                                                                                                                   "y": 1260,                                                                                                                                                                                   "wires": [                                                                                                                                                                                       [                                                                                                                                                                                           "37f2d6824dc5f689"                                                                                                                                                                                       ]                                                                                                                                                                                   ]                                                                                                                                                                               }                                                                                                                                                                            ]                                            
                                      

                                      So bin alles durchgegangen.
                                      Meine Fehler habe ich dann verstanden.
                                      Also verstanden das ein Array zB

                                      Array setzt sich dann aus dem Inhalt 0 : durchfluss 1 : tag 2 : jahr 3 : gesamt. 
                                      

                                      zusammen.
                                      Ein Objekt dann

                                      {"_msgid":"7b6801a822df7071","daten":["durchfluss","tag","jahr","gesamt"]}
                                      

                                      der Inhalt aus Message ID, Objekt Daten und dann der der Inhalt Array ausgibt.
                                      Also ist das Object so zu sagen die Baumstruktur und ein Array ein Teilabschnitt.
                                      Ein Objekt kann Daten enthalten die festgelegt sind oder bezogen werden können und ein Array genau so. Doch umfasst alle Arrays immer das Object.
                                      Das echt sehr sehr nett von dir das du dir mit mir so viel Mühe gibst.
                                      Das soll auch nicht um sonst sein. Ich gebe mein bestes um es zu verstehen und dann bald auch umsetzen zu können.

                                      Wie kann ich jetzt den Inhalt aus dem Array (Object) raus filtern um die dann in die Datenpunkte zu schreiben.
                                      Kann man die Datenpunkte via topic reinholen oder wie macht man das !?
                                      Ach ja na klar bastel ich zwischendurch an dem Script rum. Es wurmte mich halt, das ich das nicht verstanden hatte.

                                      mickymM 2 Antworten Letzte Antwort
                                      0
                                      • AphofisA Aphofis

                                        @mickym sagte in Wasserregulierung Aquarium:

                                                                                                                                                                    [                                                                                                                                                                               {                                                                                                                                                                                   "id": "f4867f82feb1d1f9",                                                                                                                                                                                   "type": "inject",                                                                                                                                                                                   "z": "95d5d241e51360cd",                                                                                                                                                                                   "name": "",                                                                                                                                                                                   "props": [                                                                                                                                                                                       {                                                                                                                                                                                           "p": "durchfluss",                                                                                                                                                                                           "v": "67",                                                                                                                                                                                           "vt": "num"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "p": "tag",                                                                                                                                                                                           "v": "312",                                                                                                                                                                                           "vt": "num"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "p": "jahr",                                                                                                                                                                                           "v": "1.5",                                                                                                                                                                                           "vt": "num"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "p": "gesamt",                                                                                                                                                                                           "v": "1.8",                                                                                                                                                                                           "vt": "num"                                                                                                                                                                                       }                                                                                                                                                                                   ],                                                                                                                                                                                   "repeat": "",                                                                                                                                                                                   "crontab": "",                                                                                                                                                                                   "once": false,                                                                                                                                                                                   "onceDelay": 0.1,                                                                                                                                                                                   "topic": "",                                                                                                                                                                                   "x": 810,                                                                                                                                                                                   "y": 1260,                                                                                                                                                                                   "wires": [                                                                                                                                                                                       [                                                                                                                                                                                           "d4e356848cabddf5"                                                                                                                                                                                       ]                                                                                                                                                                                   ]                                                                                                                                                                               },                                                                                                                                                                               {                                                                                                                                                                                   "id": "37f2d6824dc5f689",                                                                                                                                                                                   "type": "debug",                                                                                                                                                                                   "z": "95d5d241e51360cd",                                                                                                                                                                                   "name": "Teste Berechnung",                                                                                                                                                                                   "active": true,                                                                                                                                                                                   "tosidebar": true,                                                                                                                                                                                   "console": false,                                                                                                                                                                                   "tostatus": false,                                                                                                                                                                                   "complete": "true",                                                                                                                                                                                   "targetType": "full",                                                                                                                                                                                   "statusVal": "",                                                                                                                                                                                   "statusType": "auto",                                                                                                                                                                                   "x": 1230,                                                                                                                                                                                   "y": 1260,                                                                                                                                                                                   "wires": []                                                                                                                                                                               },                                                                                                                                                                               {                                                                                                                                                                                   "id": "d4e356848cabddf5",                                                                                                                                                                                   "type": "change",                                                                                                                                                                                   "z": "95d5d241e51360cd",                                                                                                                                                                                   "name": "",                                                                                                                                                                                   "rules": [                                                                                                                                                                                       {                                                                                                                                                                                           "t": "set",                                                                                                                                                                                           "p": "durchfluss",                                                                                                                                                                                           "pt": "msg",                                                                                                                                                                                           "to": "durchfluss * 5.1",                                                                                                                                                                                           "tot": "jsonata"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "t": "set",                                                                                                                                                                                           "p": "jahr",                                                                                                                                                                                           "pt": "msg",                                                                                                                                                                                           "to": "durchfluss  / 1000 + jahr",                                                                                                                                                                                           "tot": "jsonata"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "t": "set",                                                                                                                                                                                           "p": "gesamt",                                                                                                                                                                                           "pt": "msg",                                                                                                                                                                                           "to": "durchfluss  / 1000 + gesamt",                                                                                                                                                                                           "tot": "jsonata"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "t": "set",                                                                                                                                                                                           "p": "tag",                                                                                                                                                                                           "pt": "msg",                                                                                                                                                                                           "to": "durchfluss  + tag",                                                                                                                                                                                           "tot": "jsonata"                                                                                                                                                                                       }                                                                                                                                                                                   ],                                                                                                                                                                                   "action": "",                                                                                                                                                                                   "property": "",                                                                                                                                                                                   "from": "",                                                                                                                                                                                   "to": "",                                                                                                                                                                                   "reg": false,                                                                                                                                                                                   "x": 990,                                                                                                                                                                                   "y": 1260,                                                                                                                                                                                   "wires": [                                                                                                                                                                                       [                                                                                                                                                                                           "37f2d6824dc5f689"                                                                                                                                                                                       ]                                                                                                                                                                                   ]                                                                                                                                                                               }                                                                                                                                                                            ]                                            
                                        

                                        So bin alles durchgegangen.
                                        Meine Fehler habe ich dann verstanden.
                                        Also verstanden das ein Array zB

                                        Array setzt sich dann aus dem Inhalt 0 : durchfluss 1 : tag 2 : jahr 3 : gesamt. 
                                        

                                        zusammen.
                                        Ein Objekt dann

                                        {"_msgid":"7b6801a822df7071","daten":["durchfluss","tag","jahr","gesamt"]}
                                        

                                        der Inhalt aus Message ID, Objekt Daten und dann der der Inhalt Array ausgibt.
                                        Also ist das Object so zu sagen die Baumstruktur und ein Array ein Teilabschnitt.
                                        Ein Objekt kann Daten enthalten die festgelegt sind oder bezogen werden können und ein Array genau so. Doch umfasst alle Arrays immer das Object.
                                        Das echt sehr sehr nett von dir das du dir mit mir so viel Mühe gibst.
                                        Das soll auch nicht um sonst sein. Ich gebe mein bestes um es zu verstehen und dann bald auch umsetzen zu können.

                                        Wie kann ich jetzt den Inhalt aus dem Array (Object) raus filtern um die dann in die Datenpunkte zu schreiben.
                                        Kann man die Datenpunkte via topic reinholen oder wie macht man das !?
                                        Ach ja na klar bastel ich zwischendurch an dem Script rum. Es wurmte mich halt, das ich das nicht verstanden hatte.

                                        mickymM Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von mickym
                                        #76

                                        @aphofis sagte in Wasserregulierung Aquarium:

                                        Also ist das Object so zu sagen die Baumstruktur und ein Array ein Teilabschnitt.
                                        Ein Objekt kann Daten enthalten die festgelegt sind oder bezogen werden können und ein Array genau so. Doch umfasst alle Arrays immer das Object.

                                        Nein Arrays und Objekte sind völlig unabhängig von eineinander komplexe Datentypen.

                                        Es gibt einfache, skalare Datentypen, wie

                                        • Zeichenkette (string)
                                        • Zahl (number)
                                        • Logikwert (boolean)

                                        und eben komplexe Datentypen, wie

                                        • Arrays
                                        • Objekte.

                                        Ein Array ist einfach eine Sammlung von anderen Datentypen. Der Hauptunterschied zu einem Objekt ist, dass die Datentypen auch gemischt und einfach eine Liste sind. Auf den Inhalt eines Arrays greift man immer über den Index zu.
                                        Arrays werden meistens einfach verwendet, wenn man einfach eine Anzahl von Werten hat (der Bedeutung man entweder nicht kennt oder die die gleiche Bedeutung haben.
                                        Dabei hat das erste Element immer den Indexwert 0, das zweite den Indexwert 1 usw.
                                        Im JSON wird ein Array einfach durch eckige Klammern und dann die einzelnen Werte durch Komma getrennt.

                                        [1,2,3,4,5]
                                        

                                        Ein Objekt

                                        {"_msgid":"7b6801a822df7071","daten":["durchfluss","tag","jahr","gesamt"]}
                                        

                                        Bei einem Objekt kannst Du direkt auf eine Eigenschaft zugreifen, da jede Eigenschaft einen Namen hat.

                                        Wie kann ich jetzt den Inhalt aus dem Array (Object) raus filtern um die dann in die Datenpunkte zu schreiben.
                                        Kann man die Datenpunkte via topic reinholen oder wie macht man das !?

                                        Du greifst auf ein Objekt zu, in dem Du den Pfad kopierst, der Dir die Hierarchie ausgibt.


                                        So und ich will Dir nicht einfach den Flow machen, sonst lernst Du nichts. Ich habe Dir den Flow mit jedem einzelnen Microschritt durchgegangen. Wieso bist Du nicht in der Lage, die fehlen Datenpunkte in Dein Objekt zu lesen?

                                        Einmal hast Du einen Flow - und 3 hängen in der Luft, anstelle sie in den Flow zu integrieren???

                                        Hast Du wirklich jeden einzelnen Schritt verstanden, den ich Dir minutiös aufgelistet habe. Wenn Du das einfach nur durchliest dann lernst Du nichts. Ich habe Dir 3 Fehler aufgelistet und worin die bestehen. Was fehlt Dir, um diese Fehler zu beheben.
                                        Wir können gerne Fehler für Fehler im Detail durchgehen, wenn Du es nicht verstehst.

                                        Hast Du alle Flows zum Verständnis importiert und Dir angeschaut.

                                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                        1 Antwort Letzte Antwort
                                        0
                                        • AphofisA Aphofis

                                          @mickym sagte in Wasserregulierung Aquarium:

                                                                                                                                                                      [                                                                                                                                                                               {                                                                                                                                                                                   "id": "f4867f82feb1d1f9",                                                                                                                                                                                   "type": "inject",                                                                                                                                                                                   "z": "95d5d241e51360cd",                                                                                                                                                                                   "name": "",                                                                                                                                                                                   "props": [                                                                                                                                                                                       {                                                                                                                                                                                           "p": "durchfluss",                                                                                                                                                                                           "v": "67",                                                                                                                                                                                           "vt": "num"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "p": "tag",                                                                                                                                                                                           "v": "312",                                                                                                                                                                                           "vt": "num"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "p": "jahr",                                                                                                                                                                                           "v": "1.5",                                                                                                                                                                                           "vt": "num"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "p": "gesamt",                                                                                                                                                                                           "v": "1.8",                                                                                                                                                                                           "vt": "num"                                                                                                                                                                                       }                                                                                                                                                                                   ],                                                                                                                                                                                   "repeat": "",                                                                                                                                                                                   "crontab": "",                                                                                                                                                                                   "once": false,                                                                                                                                                                                   "onceDelay": 0.1,                                                                                                                                                                                   "topic": "",                                                                                                                                                                                   "x": 810,                                                                                                                                                                                   "y": 1260,                                                                                                                                                                                   "wires": [                                                                                                                                                                                       [                                                                                                                                                                                           "d4e356848cabddf5"                                                                                                                                                                                       ]                                                                                                                                                                                   ]                                                                                                                                                                               },                                                                                                                                                                               {                                                                                                                                                                                   "id": "37f2d6824dc5f689",                                                                                                                                                                                   "type": "debug",                                                                                                                                                                                   "z": "95d5d241e51360cd",                                                                                                                                                                                   "name": "Teste Berechnung",                                                                                                                                                                                   "active": true,                                                                                                                                                                                   "tosidebar": true,                                                                                                                                                                                   "console": false,                                                                                                                                                                                   "tostatus": false,                                                                                                                                                                                   "complete": "true",                                                                                                                                                                                   "targetType": "full",                                                                                                                                                                                   "statusVal": "",                                                                                                                                                                                   "statusType": "auto",                                                                                                                                                                                   "x": 1230,                                                                                                                                                                                   "y": 1260,                                                                                                                                                                                   "wires": []                                                                                                                                                                               },                                                                                                                                                                               {                                                                                                                                                                                   "id": "d4e356848cabddf5",                                                                                                                                                                                   "type": "change",                                                                                                                                                                                   "z": "95d5d241e51360cd",                                                                                                                                                                                   "name": "",                                                                                                                                                                                   "rules": [                                                                                                                                                                                       {                                                                                                                                                                                           "t": "set",                                                                                                                                                                                           "p": "durchfluss",                                                                                                                                                                                           "pt": "msg",                                                                                                                                                                                           "to": "durchfluss * 5.1",                                                                                                                                                                                           "tot": "jsonata"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "t": "set",                                                                                                                                                                                           "p": "jahr",                                                                                                                                                                                           "pt": "msg",                                                                                                                                                                                           "to": "durchfluss  / 1000 + jahr",                                                                                                                                                                                           "tot": "jsonata"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "t": "set",                                                                                                                                                                                           "p": "gesamt",                                                                                                                                                                                           "pt": "msg",                                                                                                                                                                                           "to": "durchfluss  / 1000 + gesamt",                                                                                                                                                                                           "tot": "jsonata"                                                                                                                                                                                       },                                                                                                                                                                                       {                                                                                                                                                                                           "t": "set",                                                                                                                                                                                           "p": "tag",                                                                                                                                                                                           "pt": "msg",                                                                                                                                                                                           "to": "durchfluss  + tag",                                                                                                                                                                                           "tot": "jsonata"                                                                                                                                                                                       }                                                                                                                                                                                   ],                                                                                                                                                                                   "action": "",                                                                                                                                                                                   "property": "",                                                                                                                                                                                   "from": "",                                                                                                                                                                                   "to": "",                                                                                                                                                                                   "reg": false,                                                                                                                                                                                   "x": 990,                                                                                                                                                                                   "y": 1260,                                                                                                                                                                                   "wires": [                                                                                                                                                                                       [                                                                                                                                                                                           "37f2d6824dc5f689"                                                                                                                                                                                       ]                                                                                                                                                                                   ]                                                                                                                                                                               }                                                                                                                                                                            ]                                            
                                          

                                          So bin alles durchgegangen.
                                          Meine Fehler habe ich dann verstanden.
                                          Also verstanden das ein Array zB

                                          Array setzt sich dann aus dem Inhalt 0 : durchfluss 1 : tag 2 : jahr 3 : gesamt. 
                                          

                                          zusammen.
                                          Ein Objekt dann

                                          {"_msgid":"7b6801a822df7071","daten":["durchfluss","tag","jahr","gesamt"]}
                                          

                                          der Inhalt aus Message ID, Objekt Daten und dann der der Inhalt Array ausgibt.
                                          Also ist das Object so zu sagen die Baumstruktur und ein Array ein Teilabschnitt.
                                          Ein Objekt kann Daten enthalten die festgelegt sind oder bezogen werden können und ein Array genau so. Doch umfasst alle Arrays immer das Object.
                                          Das echt sehr sehr nett von dir das du dir mit mir so viel Mühe gibst.
                                          Das soll auch nicht um sonst sein. Ich gebe mein bestes um es zu verstehen und dann bald auch umsetzen zu können.

                                          Wie kann ich jetzt den Inhalt aus dem Array (Object) raus filtern um die dann in die Datenpunkte zu schreiben.
                                          Kann man die Datenpunkte via topic reinholen oder wie macht man das !?
                                          Ach ja na klar bastel ich zwischendurch an dem Script rum. Es wurmte mich halt, das ich das nicht verstanden hatte.

                                          mickymM Online
                                          mickymM Online
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #77

                                          @aphofis sagte in Wasserregulierung Aquarium:

                                          Ach ja na klar bastel ich zwischendurch an dem Script rum. Es wurmte mich halt, das ich das nicht verstanden hatte.

                                          Warum lässt Du das nicht?

                                          Du kannst auch keine Integralrechnung, wenn Du die Grundrechenarten nicht beherrschst. Ich versuche Dir doch das Handwerkszeug beizubringen. Deinen Flow habe ich schon im Hinterkopf.

                                          Ich bleibe ja bei Deinem Flow, indem ich minutiös auseinander nehme. Dann ist doch ungerichtetes Rumprobieren einfach Zeitverschwendung.

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          990

                                          Online

                                          32.6k

                                          Benutzer

                                          82.0k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe