Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Wasserregulierung Aquarium

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Wasserregulierung Aquarium

    This topic has been deleted. Only users with topic management privileges can see it.
    • Aphofis
      Aphofis @mickym last edited by Aphofis

      @mickym
      Jetzt wird erst auf false die Rechnung ausgegeben. und in den Datenpunkt Test Wasser Kallibriert eingetragen.
      Screenshot 2024-08-16 015654.png

      [
          {
              "id": "e96d40e5c03c8e73",
              "type": "tab",
              "label": "Flow 2",
              "disabled": false,
              "info": "",
              "env": []
          },
          {
              "id": "8eeeee9dee4f69dd",
              "type": "junction",
              "z": "e96d40e5c03c8e73",
              "x": 180,
              "y": 80,
              "wires": [
                  [
                      "ed6a34a53f4a5f8a"
                  ]
              ]
          },
          {
              "id": "4135d8f01c675d48",
              "type": "debug",
              "z": "e96d40e5c03c8e73",
              "name": "ml aktuell",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": false,
              "complete": "payload",
              "targetType": "msg",
              "statusVal": "",
              "statusType": "auto",
              "x": 880,
              "y": 180,
              "wires": []
          },
          {
              "id": "d603f22a313281eb",
              "type": "calculator",
              "z": "e96d40e5c03c8e73",
              "name": "multi ml",
              "inputMsgField": "payload",
              "outputMsgField": "payload",
              "operation": "mult",
              "constant": "5.21",
              "round": true,
              "truncate": false,
              "decimals": "2",
              "decimals2": 0,
              "x": 660,
              "y": 180,
              "wires": [
                  [
                      "4135d8f01c675d48",
                      "be1fec4a5a0c39ea"
                  ]
              ],
              "outputLabels": [
                  "ml"
              ],
              "icon": "font-awesome/fa-subscript"
          },
          {
              "id": "17fc122a8cc82dc5",
              "type": "ioBroker in",
              "z": "e96d40e5c03c8e73",
              "name": "Schwimmer",
              "attrname": "payload",
              "topic": "0_userdata.0.Test_Wasser.Test_Schwimmer",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "outFormat": "MQTT",
              "x": 70,
              "y": 120,
              "wires": [
                  [
                      "8eeeee9dee4f69dd"
                  ]
              ]
          },
          {
              "id": "9f9432b0c01ceb15",
              "type": "ioBroker get",
              "z": "e96d40e5c03c8e73",
              "name": "Wasserdurchfluß",
              "topic": "0_userdata.0.Test_Wasser.Test_Durchfluss",
              "attrname": "payload",
              "payloadType": "value",
              "errOnInvalidState": "nothing",
              "x": 490,
              "y": 180,
              "wires": [
                  [
                      "d603f22a313281eb"
                  ]
              ]
          },
          {
              "id": "df1de44c69ce020f",
              "type": "inject",
              "z": "e96d40e5c03c8e73",
              "name": "",
              "props": [
                  {
                      "p": "payload"
                  }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "true",
              "payloadType": "str",
              "x": 90,
              "y": 80,
              "wires": [
                  [
                      "8eeeee9dee4f69dd"
                  ]
              ]
          },
          {
              "id": "ed6a34a53f4a5f8a",
              "type": "ioBroker out",
              "z": "e96d40e5c03c8e73",
              "name": "Magnetventil",
              "topic": "0_userdata.0.Test_Wasser.Test_Magnetventil",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 890,
              "y": 80,
              "wires": []
          },
          {
              "id": "be1fec4a5a0c39ea",
              "type": "ioBroker out",
              "z": "e96d40e5c03c8e73",
              "name": "Wasser errechnet ml",
              "topic": "0_userdata.0.Test_Wasser.Test_Wasser_kallibriert",
              "ack": "true",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 920,
              "y": 220,
              "wires": []
          },
          {
              "id": "2eb8ac5cc0f35dca",
              "type": "ioBroker in",
              "z": "e96d40e5c03c8e73",
              "name": "Magnetventil",
              "attrname": "payload",
              "topic": "0_userdata.0.Test_Wasser.Test_Magnetventil",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "outFormat": "MQTT",
              "x": 70,
              "y": 180,
              "wires": [
                  [
                      "74d17f220e91338e"
                  ]
              ]
          },
          {
              "id": "fb8e38c311376891",
              "type": "inject",
              "z": "e96d40e5c03c8e73",
              "name": "",
              "props": [
                  {
                      "p": "payload"
                  }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "false",
              "payloadType": "str",
              "x": 90,
              "y": 40,
              "wires": [
                  [
                      "8eeeee9dee4f69dd"
                  ]
              ]
          },
          {
              "id": "74d17f220e91338e",
              "type": "switch",
              "z": "e96d40e5c03c8e73",
              "name": "",
              "property": "payload",
              "propertyType": "msg",
              "rules": [
                  {
                      "t": "eq",
                      "v": "false",
                      "vt": "str"
                  }
              ],
              "checkall": "true",
              "repair": false,
              "outputs": 1,
              "x": 270,
              "y": 180,
              "wires": [
                  [
                      "9f9432b0c01ceb15"
                  ]
              ]
          }
      ]
      
      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Aphofis last edited by

        @aphofis Ja Du machst zwar immer mehr, als wir zusammen entwickeln aber immerhin bist Du jetzt auf dem richtigen Weg, aber schmei0 diese Kalkulator Node weg - sondern lerne mit den Standardnodes umzugehen. Es gibt NOdes die man sich zusätzlich installieren kann, aber das braucht man nicht.

        Für Berechnungen nutzt man JSONATA. Also schmeiß das weg und nutze die Node, die man nutzt um ein payload zu Ändern.

        Aphofis 1 Reply Last reply Reply Quote 0
        • Aphofis
          Aphofis @mickym last edited by Aphofis

          @mickym sagte in Wasserregulierung Aquarium:

          JSONATA

          Welche ist denn JSONATA
          oder meinst du json

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Aphofis last edited by

            @aphofis

            dfd16435-5328-45a6-9652-90007da428da-image.png

            Sowas braucht kein Mensch und ICH werde diese NODES nicht installieren

            Um eine payload zu ÄNDERN gibt es eine Standardnode. Wie heißt die wohl ÄNDERN = ...... - NOde

            Aphofis 1 Reply Last reply Reply Quote 1
            • Aphofis
              Aphofis @mickym last edited by Aphofis

              @mickym
              ok also change node
              hab die calculator Node rausgeschmissen.

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Aphofis last edited by mickym

                @aphofis Sehr gut 🙂

                So also mit der Change Node kannst Du eine payload innerhalb des Nachrichtenobjektes verschieben, sie neu schreiben, ändern oder löschen.

                Sind dir diese 4 Fälle geläufig?

                3c344a3f-26b8-4674-82be-419827ded7f2-image.png

                Importiere Dir mal diesen Flow - und schau Dir an, was wir mit dem Nachrichtenobjekt machen können:

                [
                   {
                       "id": "cd051990e045ac73",
                       "type": "inject",
                       "z": "95d5d241e51360cd",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "20",
                       "payloadType": "num",
                       "x": 370,
                       "y": 460,
                       "wires": [
                           [
                               "070a2b4cb0049c8b",
                               "79acf22a95932020"
                           ]
                       ]
                   },
                   {
                       "id": "070a2b4cb0049c8b",
                       "type": "debug",
                       "z": "95d5d241e51360cd",
                       "name": "Komplettes Nachrichtenobjekt",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "true",
                       "targetType": "full",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 630,
                       "y": 420,
                       "wires": []
                   },
                   {
                       "id": "79acf22a95932020",
                       "type": "change",
                       "z": "95d5d241e51360cd",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "",
                               "tot": "str"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 570,
                       "y": 480,
                       "wires": [
                           [
                               "3429626fc84b980b"
                           ]
                       ]
                   },
                   {
                       "id": "3429626fc84b980b",
                       "type": "debug",
                       "z": "95d5d241e51360cd",
                       "name": "Verändertes Nachrichtenobjekt",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "true",
                       "targetType": "full",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 830,
                       "y": 480,
                       "wires": []
                   }
                ]
                


                be95be01-606f-4e6f-a229-fb34ceb8e904-image.png

                Damit siehst Du auch wie ein minimales Nachrichtenobjekt in der Regel aussieht. Schau Dir auch an, was der UNTERSCHIED ist, wenn Du Dir das komplette Nachrichtenobjekt ausgibst oder nur die payload Eigenschaft des Nachrichtenobjektes.

                Aphofis 2 Replies Last reply Reply Quote 1
                • Aphofis
                  Aphofis @mickym last edited by

                  @mickym bekannt ja aber was genau verschieben und setzen heißt nicht so genau

                  mickym 1 Reply Last reply Reply Quote 0
                  • Aphofis
                    Aphofis @mickym last edited by Aphofis

                    Ja hab ich gesehen.

                    1. Debug hat den Wert 20
                    2. Debug hat den Wert 0
                    mickym 2 Replies Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Aphofis last edited by

                      @aphofis sagte in Wasserregulierung Aquarium:

                      @mickym bekannt ja aber was genau verschieben und setzen heißt nicht so genau

                      Na deswegen machen wir erst mal diese Grundlagen.

                      Also importiere den unteren Flow - und Du musst wissen, welche Datentypen es gibt.

                      Also: Zeichenkette, Boolean, Zahl, Objekt, Array.

                      Aphofis 1 Reply Last reply Reply Quote 1
                      • mickym
                        mickym Most Active @Aphofis last edited by

                        @aphofis Na siehst Du dass wir das GESAMTE Nachrichtenobjekt ausgegeben haben?

                        1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @Aphofis last edited by

                          @aphofis sagte in Wasserregulierung Aquarium:

                          Ja hab ich gesehen.

                          1. Debug hat den Wert 20
                          2. Debug hat den Wert 0

                          Nein - die 2. Debug Node enthält nicht den Wert 0 sondern eine leere Zeichenkette.

                          mickym Aphofis 2 Replies Last reply Reply Quote 1
                          • Aphofis
                            Aphofis @mickym last edited by

                            @mickym
                            Ja die Datentypen sind mir bekannt. Wir wollen ja nur mit value (Zahlen) arbeiten.

                            mickym 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @mickym last edited by

                              @mickym sagte in Wasserregulierung Aquarium:

                              @aphofis sagte in Wasserregulierung Aquarium:

                              Ja hab ich gesehen.

                              1. Debug hat den Wert 20
                              2. Debug hat den Wert 0

                              Nein - die 2. Debug Node enthält nicht den Wert 0 sondern eine leere Zeichenkette.

                              d427c273-530e-4ba1-8e8d-ea0b9093192d-image.png

                              1 Reply Last reply Reply Quote 1
                              • Aphofis
                                Aphofis @mickym last edited by

                                @mickym

                                @mickym sagte in Wasserregulierung Aquarium:

                                @aphofis sagte in Wasserregulierung Aquarium:

                                Ja hab ich gesehen.

                                1. Debug hat den Wert 20
                                2. Debug hat den Wert 0

                                Nein - die 2. Debug Node enthält nicht den Wert 0 sondern eine leere Zeichenkette.

                                @mickym sagte in Wasserregulierung Aquarium:

                                @aphofis sagte in Wasserregulierung Aquarium:

                                Ja hab ich gesehen.

                                1. Debug hat den Wert 20
                                2. Debug hat den Wert 0

                                Nein - die 2. Debug Node enthält nicht den Wert 0 sondern eine leere Zeichenkette.

                                Jupp oder halt eine leere Zeichenkette durch die Change Node

                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @Aphofis last edited by

                                  @aphofis sagte in Wasserregulierung Aquarium:

                                  @mickym
                                  Ja die Datentypen sind mir bekannt. Wir wollen ja nur mit value (Zahlen) arbeiten.

                                  Ja aber willst Du ein paar Grundlagen lernen?

                                  Aphofis 1 Reply Last reply Reply Quote 0
                                  • Aphofis
                                    Aphofis @mickym last edited by

                                    @mickym auf jeden Fall ich bin dabei und versuche dem zu folgen was du schreibst

                                    1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @Aphofis last edited by mickym

                                      @aphofis Wie ist ein Objekt definiert, wie ist ein Array definiert?

                                      und siehst du den Unterschied, ob man sich ein Nachrichtenobjekt ausgibt oder nur die Eigenschaft eines Objektes?

                                      Ändere mal in der 1. Debug Node - die Ausgabe nur auf die payload und kannst Du mir den Unterschied erklären?
                                      1789217f-eb87-4f1a-93e3-bf08a167b873-image.png
                                      cf124f17-f7ed-47f1-a5a2-998dba01fe80-image.png

                                      1 Reply Last reply Reply Quote 1
                                      • Aphofis
                                        Aphofis last edited by Aphofis

                                        @mickym Dann wird aus msg:Object msg:payload Number also kann man damit schon festlegen ob man ein Objekt oder ob ein Value erwartet wird bzw ausgegeben wird.
                                        hatte vergessen das man im Debug den Pfeil anklicken kann wo man dann sieht das eine object ID und das payload ausgegeben wird dh die Change Node filtert das man dann nur den payload wert hat.

                                        mickym 1 Reply Last reply Reply Quote 0
                                        • mickym
                                          mickym Most Active @Aphofis last edited by mickym

                                          @aphofis sagte in Wasserregulierung Aquarium:

                                          @mickym Dann wird aus msg:Object msg:payload Number also kann man damit schon festlegen ob man ein Objekt oder ob ein Value erwartet wird bzw ausgegeben wird

                                          Nein, eine Debug Node legt gar nichts fest, sondern sie gibt entweder das gesamte Nachrichtenobjekt oder eine Eigenschaft des Datenpunktes aus.

                                          Mach mal wie bei mir eine 2 Debug Node an die Inject Node und gib nur den Inhalt der Inject Node aus.

                                          Dann steht noch aus, wie ein Array und ein Objekt definiert ist.

                                          Wir werden das soweit klären - hier nochmal, das gesamte Nachrichtenobjekt und nur die payload.

                                          [
                                             {
                                                 "id": "cd051990e045ac73",
                                                 "type": "inject",
                                                 "z": "95d5d241e51360cd",
                                                 "name": "",
                                                 "props": [
                                                     {
                                                         "p": "payload"
                                                     }
                                                 ],
                                                 "repeat": "",
                                                 "crontab": "",
                                                 "once": false,
                                                 "onceDelay": 0.1,
                                                 "topic": "",
                                                 "payload": "20",
                                                 "payloadType": "num",
                                                 "x": 370,
                                                 "y": 400,
                                                 "wires": [
                                                     [
                                                         "070a2b4cb0049c8b",
                                                         "0e3767a4155ad26b"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "070a2b4cb0049c8b",
                                                 "type": "debug",
                                                 "z": "95d5d241e51360cd",
                                                 "name": "Komplettes Nachrichtenobjekt",
                                                 "active": true,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "true",
                                                 "targetType": "full",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 630,
                                                 "y": 420,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "0e3767a4155ad26b",
                                                 "type": "debug",
                                                 "z": "95d5d241e51360cd",
                                                 "name": "payload",
                                                 "active": true,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "payload",
                                                 "targetType": "msg",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 560,
                                                 "y": 380,
                                                 "wires": []
                                             }
                                          ]
                                          

                                          Aphofis 1 Reply Last reply Reply Quote 0
                                          • Aphofis
                                            Aphofis @mickym last edited by

                                            @mickym
                                            Inject Debug ausgabe ist auch nur
                                            msg.payload : number
                                            20

                                            mickym 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            147
                                            9321
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo