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 @Aphofis last edited by Aphofis

      Irgendwie komme ich nicht weiter und Videos habe ich bis jetzt nur Integration Dashboard und VIS. Also nur wie man abgreift und in eine visualisierung brint.
      Weit bin ich noch nicht.
      Screenshot 2024-08-16 003705.png

      [
          {
              "id": "e96d40e5c03c8e73",
              "type": "tab",
              "label": "Flow 2",
              "disabled": false,
              "info": "",
              "env": []
          },
          {
              "id": "99af6969144d7cdd",
              "type": "junction",
              "z": "e96d40e5c03c8e73",
              "x": 200,
              "y": 200,
              "wires": [
                  [
                      "9f9432b0c01ceb15"
                  ]
              ]
          },
          {
              "id": "f91ee89f94dfe23c",
              "type": "junction",
              "z": "e96d40e5c03c8e73",
              "x": 180,
              "y": 160,
              "wires": [
                  [
                      "9f9432b0c01ceb15"
                  ]
              ]
          },
          {
              "id": "8eeeee9dee4f69dd",
              "type": "junction",
              "z": "e96d40e5c03c8e73",
              "x": 340,
              "y": 220,
              "wires": [
                  [
                      "ed6a34a53f4a5f8a"
                  ]
              ]
          },
          {
              "id": "4135d8f01c675d48",
              "type": "debug",
              "z": "e96d40e5c03c8e73",
              "name": "debug 1",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": false,
              "complete": "false",
              "statusVal": "",
              "statusType": "auto",
              "x": 960,
              "y": 80,
              "wires": []
          },
          {
              "id": "d603f22a313281eb",
              "type": "calculator",
              "z": "e96d40e5c03c8e73",
              "name": "",
              "inputMsgField": "payload",
              "outputMsgField": "payload",
              "operation": "mult",
              "constant": "5.1",
              "round": true,
              "truncate": false,
              "decimals": "2",
              "decimals2": 0,
              "x": 700,
              "y": 80,
              "wires": [
                  [
                      "4135d8f01c675d48"
                  ]
              ]
          },
          {
              "id": "17fc122a8cc82dc5",
              "type": "ioBroker in",
              "z": "e96d40e5c03c8e73",
              "name": "Schwimmer",
              "attrname": "payload",
              "topic": "sonoff.0.Aqua_Float.POWER",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "true",
              "outFormat": "MQTT",
              "x": 90,
              "y": 80,
              "wires": [
                  [
                      "9f9432b0c01ceb15",
                      "8eeeee9dee4f69dd"
                  ]
              ]
          },
          {
              "id": "9f9432b0c01ceb15",
              "type": "ioBroker get",
              "z": "e96d40e5c03c8e73",
              "name": "Wasserdurchfluß",
              "topic": "sonoff.0.Aqua_Float.SENSOR.COUNTER.C2",
              "attrname": "payload",
              "payloadType": "value",
              "errOnInvalidState": "nothing",
              "x": 430,
              "y": 80,
              "wires": [
                  [
                      "d603f22a313281eb"
                  ]
              ]
          },
          {
              "id": "df1de44c69ce020f",
              "type": "inject",
              "z": "e96d40e5c03c8e73",
              "name": "",
              "props": [
                  {
                      "p": "payload"
                  },
                  {
                      "p": "topic",
                      "vt": "str"
                  }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "true",
              "payloadType": "str",
              "x": 90,
              "y": 160,
              "wires": [
                  [
                      "f91ee89f94dfe23c"
                  ]
              ]
          },
          {
              "id": "e41278b18f57ac4e",
              "type": "debug",
              "z": "e96d40e5c03c8e73",
              "name": "debug 14",
              "active": true,
              "tosidebar": true,
              "console": false,
              "tostatus": false,
              "complete": "false",
              "statusVal": "",
              "statusType": "auto",
              "x": 960,
              "y": 180,
              "wires": []
          },
          {
              "id": "37ae982b985109a9",
              "type": "inject",
              "z": "e96d40e5c03c8e73",
              "name": "",
              "props": [
                  {
                      "p": "payload"
                  },
                  {
                      "p": "topic",
                      "vt": "str"
                  }
              ],
              "repeat": "",
              "crontab": "",
              "once": false,
              "onceDelay": 0.1,
              "topic": "",
              "payload": "false",
              "payloadType": "str",
              "x": 90,
              "y": 200,
              "wires": [
                  [
                      "99af6969144d7cdd"
                  ]
              ]
          },
          {
              "id": "ed6a34a53f4a5f8a",
              "type": "ioBroker out",
              "z": "e96d40e5c03c8e73",
              "name": "Magnetventil",
              "topic": "sonoff.0.Aqua_Control.POWER1",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 970,
              "y": 220,
              "wires": []
          }
      ]
      

      Zumindest, wenn ich den true Button klicke und im durchfluß ein Wert steht wird dieser richtg berechnet und in die Debug geschrieben.
      Das Problem ist auch das hinter den Datenpunkten ein echtes Aquarium dahinter hängt und auch wenn nix passieren kann, da der Strom vom Magnetventil mit über den Schwimmer läuft also mechanisch ist die minus leitung vom magnetventil durch den Schwimmer getrennt. Nur kann man das halt ohne Schwimmer im true zustand testen ob die Steuerung dann auch läuft.

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

        @aphofis Na ich dachte eigentlich wir machen das zusammen und installiere Dir nicht dauernd irgendwelche überflüssigen Nodes, solange es die Standardnodes aucht tun. Diese Multiply Node ist so ÜBERFLÜSSIG wie ...

        Also wir waren doch dabei, dass gemeinsam zu entwickeln?

        @mickym sagte in Wasserregulierung Aquarium:

        Trigger ist Schwimmer -

        Also iobroker-IN Node mit Schwimmerdatenpunkt.

        Wenn schwimmer (Sonoff) true dann setze Magnetventil (Sonoff) auf true warte bis Schwimmer false dann setze Magnetventil (Sonoff) auf false

        Na dann kannst Du doch die Nachricht des Schwimmers direkt auf das Magnetventil leiten - da braucht es doch keine Veränderung

        Also hat doch der Rest da noch gar nichts drin zu suchen.

        cabdeabb-e572-44d5-a701-02b26a07ba89-image.png

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

          @aphofis sagte in Wasserregulierung Aquarium:

          Wenn schwimmer (Sonoff) true dann setze Magnetventil (Sonoff) auf true warte bis Schwimmer false dann setze Magnetventil (Sonoff) auf false nimm den Wert setze den Wert vom Counter Wasserdurchfluss Puls Messer in eine Liste. multipliziere diesen Wert mit 5,1 und runde den Wert mit 2 Nachkomma stellen aus dem Datenpunkt Wasser kalibibrierung schreibe diesen in den Datenpunkt Wasser Counter.

          So und was ich damit erreichen will ist, dass Du lernst Dinge nicht durcheinander zu schmeissen und einzelne Teilaufgaben auch als solche zu betrachten.

          Das was Du da oben geschrieben lässt sich einfach in 2 Teilaufgaben zerlegen, die NICHTS miteinander zu tun haben. Das 1. ist das Schalten des Magnetventils und das 2. ist eine Berechnung des Wasserdurchflusses. Der Wasserdurchfluss hat aber mit dem Schalten des Ventils nichts zu tun. Sprich das Schalten des Magnetventils funktioniert auch ohne die Berechnung.

          Also dieser Satz

          Erstens:

          Wenn schwimmer (Sonoff) true dann setze Magnetventil (Sonoff) auf true warte bis Schwimmer false dann setze Magnetventil (Sonoff) auf false

          Zweitens:

          nimm den Wert setze den Wert vom Counter Wasserdurchfluss Puls Messer in eine Liste.

          Sprich dann nimmst Du den Zustand des Magnetventils als Trigger und startest dann die Berechnung, WENN das Magnetventil false ist. Und wenn Du eine payload ÄNDERN willst, dann kannst Du dies zu 99% mit einer Change Node erreichen - dafür braucht es keine zusätzlichen Nodes. Um eine Bedingung als Filter oder mehrere Bedinungen unterschiedlich zu behandeln, nimmst Du eine switch Node mit der Eigenschaft, die Du untersuchen willst.

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

            @aphofis sagte in Wasserregulierung Aquarium:

            Das Problem ist auch das hinter den Datenpunkten ein echtes Aquarium dahinter hängt und auch wenn nix passieren kann, da der Strom vom Magnetventil mit über den Schwimmer läuft also mechanisch ist die minus leitung vom magnetventil durch den Schwimmer getrennt.

            Das ist ja richtig. Der Vorteil von NodeRed ist ja, dass Du mit Inject und Debug Nodes die Logik testen kannst ohne ein Gerät zu schalten.

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

              @mickym
              Ja hab jetzt auch erstmal Test Datenpunkte erstellt.
              Das auch nett von dir und auch richtog so, sonst lerne ich das ja nie.
              Soweit bin ich jetzt nur mit iobroker list ist mir noch nicht ganz klar.
              Screenshot 2024-08-16 003705.png

              [
                  {
                      "id": "e96d40e5c03c8e73",
                      "type": "tab",
                      "label": "Flow 2",
                      "disabled": false,
                      "info": "",
                      "env": []
                  },
                  {
                      "id": "8eeeee9dee4f69dd",
                      "type": "junction",
                      "z": "e96d40e5c03c8e73",
                      "x": 240,
                      "y": 80,
                      "wires": [
                          [
                              "ed6a34a53f4a5f8a",
                              "9f9432b0c01ceb15"
                          ]
                      ]
                  },
                  {
                      "id": "6fb6d75b6711436b",
                      "type": "junction",
                      "z": "e96d40e5c03c8e73",
                      "x": 400,
                      "y": 340,
                      "wires": [
                          [
                              "74e005d5d7a506a9"
                          ]
                      ]
                  },
                  {
                      "id": "5dbd6039e9b3e94d",
                      "type": "junction",
                      "z": "e96d40e5c03c8e73",
                      "x": 380,
                      "y": 300,
                      "wires": [
                          [
                              "74e005d5d7a506a9"
                          ]
                      ]
                  },
                  {
                      "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": 900,
                      "y": 140,
                      "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": 580,
                      "y": 120,
                      "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": 110,
                      "y": 120,
                      "wires": [
                          [
                              "9f9432b0c01ceb15",
                              "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": 370,
                      "y": 120,
                      "wires": [
                          [
                              "d603f22a313281eb"
                          ]
                      ]
                  },
                  {
                      "id": "df1de44c69ce020f",
                      "type": "inject",
                      "z": "e96d40e5c03c8e73",
                      "name": "",
                      "props": [
                          {
                              "p": "payload"
                          },
                          {
                              "p": "topic",
                              "vt": "str"
                          }
                      ],
                      "repeat": "",
                      "crontab": "",
                      "once": false,
                      "onceDelay": 0.1,
                      "topic": "",
                      "payload": "true",
                      "payloadType": "str",
                      "x": 130,
                      "y": 40,
                      "wires": [
                          [
                              "8eeeee9dee4f69dd"
                          ]
                      ]
                  },
                  {
                      "id": "37ae982b985109a9",
                      "type": "inject",
                      "z": "e96d40e5c03c8e73",
                      "name": "",
                      "props": [
                          {
                              "p": "payload"
                          },
                          {
                              "p": "topic",
                              "vt": "str"
                          }
                      ],
                      "repeat": "",
                      "crontab": "",
                      "once": false,
                      "onceDelay": 0.1,
                      "topic": "",
                      "payload": "false",
                      "payloadType": "str",
                      "x": 130,
                      "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": 910,
                      "y": 80,
                      "wires": []
                  },
                  {
                      "id": "74e005d5d7a506a9",
                      "type": "calculator",
                      "z": "e96d40e5c03c8e73",
                      "name": "Div auf Liter",
                      "inputMsgField": "payload",
                      "outputMsgField": "payload",
                      "operation": "div",
                      "constant": "1000",
                      "round": false,
                      "truncate": false,
                      "decimals": "0",
                      "decimals2": 0,
                      "x": 590,
                      "y": 240,
                      "wires": [
                          [
                              "f4ff5bf12e391bb6"
                          ]
                      ]
                  },
                  {
                      "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": 940,
                      "y": 180,
                      "wires": []
                  },
                  {
                      "id": "d811cfd1597fb46e",
                      "type": "ioBroker in",
                      "z": "e96d40e5c03c8e73",
                      "name": "Wasser Kallibriert",
                      "attrname": "payload",
                      "topic": "0_userdata.0.Test_Wasser.Test_Wasser_kallibriert",
                      "payloadType": "value",
                      "onlyack": "",
                      "func": "all",
                      "gap": "",
                      "fireOnStart": "true",
                      "outFormat": "MQTT",
                      "x": 100,
                      "y": 240,
                      "wires": [
                          [
                              "74e005d5d7a506a9"
                          ]
                      ]
                  },
                  {
                      "id": "d21f0a7f46d45828",
                      "type": "inject",
                      "z": "e96d40e5c03c8e73",
                      "name": "",
                      "props": [
                          {
                              "p": "payload"
                          },
                          {
                              "p": "topic",
                              "vt": "str"
                          }
                      ],
                      "repeat": "",
                      "crontab": "",
                      "once": false,
                      "onceDelay": 0.1,
                      "topic": "",
                      "payload": "true",
                      "payloadType": "str",
                      "x": 130,
                      "y": 300,
                      "wires": [
                          [
                              "5dbd6039e9b3e94d"
                          ]
                      ]
                  },
                  {
                      "id": "273ea49ed25edb46",
                      "type": "inject",
                      "z": "e96d40e5c03c8e73",
                      "name": "",
                      "props": [
                          {
                              "p": "payload"
                          },
                          {
                              "p": "topic",
                              "vt": "str"
                          }
                      ],
                      "repeat": "",
                      "crontab": "",
                      "once": false,
                      "onceDelay": 0.1,
                      "topic": "",
                      "payload": "false",
                      "payloadType": "str",
                      "x": 130,
                      "y": 340,
                      "wires": [
                          [
                              "6fb6d75b6711436b"
                          ]
                      ]
                  },
                  {
                      "id": "f4ff5bf12e391bb6",
                      "type": "debug",
                      "z": "e96d40e5c03c8e73",
                      "name": "Kallibriert Liter",
                      "active": true,
                      "tosidebar": true,
                      "console": false,
                      "tostatus": false,
                      "complete": "payload",
                      "targetType": "msg",
                      "statusVal": "",
                      "statusType": "auto",
                      "x": 920,
                      "y": 240,
                      "wires": []
                  }
              ]
              
              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Aphofis last edited by mickym

                @aphofis

                1. Ich verstehe es immer noch nicht. Warum nutzt Du diese ÜBERFLÜSSIGEN Nodes und nutzt nicht die normalen Change Nodes, um eine Payload zu verändern?

                2. Ich dachte, dass ein Berechnung erst dann stattfinden darf, wenn das Magnetventil false ist.

                Wenn das so richtig ist, kannst Du dann mal alles andere aus dem Flow entfernen und wir gehen Schritt für Schritt vor?

                Bis jetzt sind wir soweit und KEIN Stück weiter:

                fd0a871c-b13e-41c4-99fe-d658f14554ea-image.png

                Also nochmal meine Frage, ob wir nun so weiter machen, dass die Berechnung stattfindet, wenn das Magnetventil mit false triggert.

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

                  @mickym
                  Ja! Hab jetzt nur Schwimmer, Magnetventil und zum Testen den inject node einer mit false einer mit true und klappt auch sind wie gesagt alles virtuelle Geräte
                  Zum verarbeiten, habe ich Paar Datenpunkte erstellt insofern die benötigt werden.
                  Screenshot 2024-08-16 014726.png
                  alles auch auf null gesetzt außer Test durchfluss, das wäre dann ja der zu verrechnende Wert. Vom Durchflußmesser.

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

                    @aphofis Gut den false Inject kannst Du dir ja sparen, weil die Berechnung ja NUR stattfinden, wenn das Magnetventil auf false triggert. Sprich du startest die Berechnung mit einem eigenen Flow und filterst die Nachrichten aus, dass nur noch true als payload durchkommt.

                    Ja Du kannst das jetzt mit Testdatenpunkten machen - später langt es mit Inject-Nodes zu simmulieren. Aber so ist das doch OK.

                    Also triggere mit dem Magnetventil die Berechnung, wenn die payload false ist und zeige den Flow. Wir entwickeln den Schritt für Schritt aber mit STANDARD Nodes.

                    Aphofis 1 Reply Last reply Reply Quote 1
                    • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            853
                                            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