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
    921

  • 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 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
                      • mickymM Online
                        mickymM Online
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #78

                        Also wenn Du soweit bist und alles verstanden hast, dann sag wenn Du entweder die 3 Fehler in Deinem Flow behoben hast bzw. wenn Du bei einem Fehler noch Hilfe brauchst.

                        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 Offline
                          AphofisA Offline
                          Aphofis
                          schrieb am zuletzt editiert von
                          #79

                          @mickym
                          Nein hab es noch nicht verstanden, welche node die Daten rein holt bzw mit iobroker get aber wie bekomme ich den wert vom get dann in den array!?

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • AphofisA Aphofis

                            @mickym
                            Nein hab es noch nicht verstanden, welche node die Daten rein holt bzw mit iobroker get aber wie bekomme ich den wert vom get dann in den array!?

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

                            @aphofis Du BRAUCHST KEIN Array - lösch das wieder. Hol Dir die Werte genauso rein, wie Du dir den durchfluss in das Nachrichtenobjekt geholt hast.
                            Der 1. Fehler war aber die doppelte 5.1 Multiplikation in Deiner Change Node.

                            Ausserdem wenn Du Dir ALLES durchgelesen hättest, dann hab ich glaube geschrieben, dass Du alle Eigenschaften aus Deiner Inject Node löschen sollst. Warum machst Du das nicht und hantierst mit Arrays rum?

                            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 Du BRAUCHST KEIN Array - lösch das wieder. Hol Dir die Werte genauso rein, wie Du dir den durchfluss in das Nachrichtenobjekt geholt hast.
                              Der 1. Fehler war aber die doppelte 5.1 Multiplikation in Deiner Change Node.

                              Ausserdem wenn Du Dir ALLES durchgelesen hättest, dann hab ich glaube geschrieben, dass Du alle Eigenschaften aus Deiner Inject Node löschen sollst. Warum machst Du das nicht und hantierst mit Arrays rum?

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

                              @mickym sagte in Wasserregulierung Aquarium:

                              ult

                              das doppelte berechnen habe ich raus genommen
                              jetzt weiß ich ja das dass aufeinander aufbaut.
                              Sprich das die ertse rechnung den wert 312 ausgibt auch wenn nur intern wenn man den dann per namen anspricht durchfluss dann durch 1000 + jahr rechnet dann den wert ausgibt 1,5 Liter.
                              habe ich verstanden.

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • AphofisA Aphofis

                                @mickym sagte in Wasserregulierung Aquarium:

                                ult

                                das doppelte berechnen habe ich raus genommen
                                jetzt weiß ich ja das dass aufeinander aufbaut.
                                Sprich das die ertse rechnung den wert 312 ausgibt auch wenn nur intern wenn man den dann per namen anspricht durchfluss dann durch 1000 + jahr rechnet dann den wert ausgibt 1,5 Liter.
                                habe ich verstanden.

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

                                @aphofis Gut dann sollte Deine Change Node ja nun so aussehen:
                                54be5a55-1c21-48e2-b17c-8bea5cbd938d-image.png

                                nächstes Mal bitte posten.

                                Hast Du alle Eigenschaften aus der Inject Node gelöscht?

                                So und dann hol die Eigenschaften jahr, gesamt und tag auch noch in das Nachrichtenobjekt.

                                Sprich das die ertse rechnung den wert 312 ausgibt

                                Nein. Im Durchfluss Datenpunkt stand 67 und die Berechnung ergab 341,7.

                                Ich habe ECHT keine Lust wenn das was ich alles was ich bereits geschrieben habe, wieder umgeschmissen wird.

                                d1ce5956-5192-4d21-972b-163d3192dc7a-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.

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

                                  @mickym
                                  Ja hab alles raus.
                                  Ich weiß nur nicht wie ich die Datenpunkte rein bekomme kann muss ich in der inject node den topic rein holen oder wie macht man das!?

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • AphofisA Aphofis

                                    @mickym
                                    Ja hab alles raus.
                                    Ich weiß nur nicht wie ich die Datenpunkte rein bekomme kann muss ich in der inject node den topic rein holen oder wie macht man das!?

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

                                    @aphofis Na Du hast doch den durchfluss auch rein bekommen. Warum machst Du es dann nicht mit den anderen genauso?

                                    Du holst EINEN Wert NACH dem ANDEREN in das Nachrichtenobjekt

                                    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.

                                    mickymM 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @aphofis Gut dann sollte Deine Change Node ja nun so aussehen:
                                      54be5a55-1c21-48e2-b17c-8bea5cbd938d-image.png

                                      nächstes Mal bitte posten.

                                      Hast Du alle Eigenschaften aus der Inject Node gelöscht?

                                      So und dann hol die Eigenschaften jahr, gesamt und tag auch noch in das Nachrichtenobjekt.

                                      Sprich das die ertse rechnung den wert 312 ausgibt

                                      Nein. Im Durchfluss Datenpunkt stand 67 und die Berechnung ergab 341,7.

                                      Ich habe ECHT keine Lust wenn das was ich alles was ich bereits geschrieben habe, wieder umgeschmissen wird.

                                      d1ce5956-5192-4d21-972b-163d3192dc7a-image.png

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

                                      @mickym Hallo, das war nur weil ich in den virtuellen datenpunkt nicht 341.7 eingetragen hatte hatte halt den falschen wert 67 eingetragen das war keine absicht!

                                      AphofisA 1 Antwort Letzte Antwort
                                      0
                                      • AphofisA Aphofis

                                        @mickym Hallo, das war nur weil ich in den virtuellen datenpunkt nicht 341.7 eingetragen hatte hatte halt den falschen wert 67 eingetragen das war keine absicht!

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

                                        Hab ich ja aber das ist 100 prozentig falsch und dann bekomme ich gleich auf den deckel

                                        Screenshot 2024-08-17 042310.png

                                        [
                                            {
                                                "id": "cdee856ecf99ad2c",
                                                "type": "ioBroker get",
                                                "z": "e96d40e5c03c8e73",
                                                "name": "tag",
                                                "topic": "0_userdata.0.Kaffeemaschine.Wasser_Tag",
                                                "attrname": "payload",
                                                "payloadType": "value",
                                                "errOnInvalidState": "nothing",
                                                "x": 380,
                                                "y": 420,
                                                "wires": [
                                                    [
                                                        "1a1876d6fd414b64"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "8fbb9f181c70628a",
                                                "type": "ioBroker get",
                                                "z": "e96d40e5c03c8e73",
                                                "name": "jahr",
                                                "topic": "0_userdata.0.Kaffeemaschine.Wasser_Jahr",
                                                "attrname": "payload",
                                                "payloadType": "value",
                                                "errOnInvalidState": "nothing",
                                                "x": 390,
                                                "y": 480,
                                                "wires": [
                                                    [
                                                        "1a1876d6fd414b64"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "fea33a2388b19fea",
                                                "type": "ioBroker get",
                                                "z": "e96d40e5c03c8e73",
                                                "name": "gesamt",
                                                "topic": "0_userdata.0.Kaffeemaschine.Wasser_Gesamt",
                                                "attrname": "payload",
                                                "payloadType": "value",
                                                "errOnInvalidState": "nothing",
                                                "x": 380,
                                                "y": 550,
                                                "wires": [
                                                    [
                                                        "1a1876d6fd414b64"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "66eeec1e6f2be7b4",
                                                "type": "inject",
                                                "z": "e96d40e5c03c8e73",
                                                "name": "",
                                                "props": [
                                                    {
                                                        "p": "durchl",
                                                        "v": "",
                                                        "vt": "str"
                                                    }
                                                ],
                                                "repeat": "",
                                                "crontab": "",
                                                "once": false,
                                                "onceDelay": 0.1,
                                                "topic": "",
                                                "x": 170,
                                                "y": 360,
                                                "wires": [
                                                    [
                                                        "0fdf123af6451d89",
                                                        "cdee856ecf99ad2c",
                                                        "8fbb9f181c70628a",
                                                        "fea33a2388b19fea"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "071f99aa6aae94c4",
                                                "type": "debug",
                                                "z": "e96d40e5c03c8e73",
                                                "name": "Teste Berechnung",
                                                "active": true,
                                                "tosidebar": true,
                                                "console": false,
                                                "tostatus": false,
                                                "complete": "true",
                                                "targetType": "full",
                                                "statusVal": "",
                                                "statusType": "auto",
                                                "x": 830,
                                                "y": 360,
                                                "wires": []
                                            },
                                            {
                                                "id": "1a1876d6fd414b64",
                                                "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  / 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": 600,
                                                "y": 360,
                                                "wires": [
                                                    [
                                                        "071f99aa6aae94c4"
                                                    ]
                                                ]
                                            },
                                            {
                                                "id": "0fdf123af6451d89",
                                                "type": "ioBroker get",
                                                "z": "e96d40e5c03c8e73",
                                                "name": "durchfluss",
                                                "topic": "0_userdata.0.Kaffeemaschine.Counter_Kallibriert",
                                                "attrname": "durchfluss",
                                                "payloadType": "value",
                                                "errOnInvalidState": "nothing",
                                                "x": 380,
                                                "y": 360,
                                                "wires": [
                                                    [
                                                        "1a1876d6fd414b64"
                                                    ]
                                                ]
                                            }
                                        ]
                                        

                                        Array und Object habe ich ja verstanden aber ich denke mir fehlt das nötige programmier wissen.
                                        Wie man per json zb einen datenpunkt dann abgreift

                                        1 Antwort Letzte Antwort
                                        0
                                        • mickymM mickym

                                          @aphofis Na Du hast doch den durchfluss auch rein bekommen. Warum machst Du es dann nicht mit den anderen genauso?

                                          Du holst EINEN Wert NACH dem ANDEREN in das Nachrichtenobjekt

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

                                          @mickym sagte in Wasserregulierung Aquarium:

                                          @aphofis Na Du hast doch den durchfluss auch rein bekommen. Warum machst Du es dann nicht mit den anderen genauso?

                                          Du holst EINEN Wert NACH dem ANDEREN in das Nachrichtenobjekt

                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          943

                                          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