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. Aquarium Futter Steuerung: Info

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Aquarium Futter Steuerung: Info

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

      @aphofis

      Da eine Cron Node mehrere Schedules aufnehmen kann, ließe sich das noch weiter vereinfachen, noch dazu, wenn du einen Ordner mit x Fütterungszeiten anlegst.

      e8924bc2-579b-44de-98de-fdc8e7271387-grafik.png

      Wobei ich jetzt nicht weiß, wozu diese true/false Change Nodes drin sind (den erforderlichen Payload kann man doch in den Triggern definieren), bzw. welchen Input der Automat oder die Pumpe benötigt:

      97a02f5b-efcf-4e76-8eee-e1fd73b0cf13-grafik.png

      [
          {
              "id": "87c87f3f86b28481",
              "type": "group",
              "z": "36b9884e8729a4c0",
              "name": "Mahlzeit",
              "style": {
                  "label": true,
                  "fill": "#d1d1d1",
                  "fill-opacity": "0.34",
                  "color": "#000000"
              },
              "nodes": [
                  "d995555e5c4a2386",
                  "427cd35a45be4e5f",
                  "af740320b4eee028",
                  "7c12a41643f199a5",
                  "9691c169d3545d8c",
                  "a1b700cee4f22594",
                  "a78df3439706a699",
                  "c4df90e30878b908",
                  "933cef4b72c0da03",
                  "2033cec56180c602"
              ],
              "x": 94,
              "y": 59,
              "w": 1012,
              "h": 202
          },
          {
              "id": "d995555e5c4a2386",
              "type": "cronplus",
              "z": "36b9884e8729a4c0",
              "g": "87c87f3f86b28481",
              "name": "",
              "outputField": "payload",
              "timeZone": "",
              "storeName": "file",
              "commandResponseMsgOutput": "output1",
              "defaultLocation": "50.0 9.0",
              "defaultLocationType": "fixed",
              "outputs": 1,
              "options": [],
              "x": 560,
              "y": 160,
              "wires": [
                  [
                      "2033cec56180c602"
                  ]
              ]
          },
          {
              "id": "427cd35a45be4e5f",
              "type": "ioBroker in",
              "z": "36b9884e8729a4c0",
              "g": "87c87f3f86b28481",
              "name": "",
              "attrname": "payload",
              "topic": "0_userdata.0.Fuetterung.*",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "outFormat": "MQTT",
              "x": 230,
              "y": 160,
              "wires": [
                  [
                      "af740320b4eee028"
                  ]
              ]
          },
          {
              "id": "af740320b4eee028",
              "type": "change",
              "z": "36b9884e8729a4c0",
              "g": "87c87f3f86b28481",
              "name": "command",
              "rules": [
                  {
                      "t": "set",
                      "p": "payload",
                      "pt": "msg",
                      "to": "{\t   \"command\": \"add\",\t   \"name\": $substringAfter($$.topic, \"0_userdata/0/Fuetterung/\"),\t   \"expression\": $substringAfter($$.payload, \":\") & \" \" & $substringBefore($$.payload, \":\") & \" * * *\",\t   \"expressionType\": \"cron\",\t   \"payloadType\": \"default\" \t}",
                      "tot": "jsonata"
                  }
              ],
              "action": "",
              "property": "",
              "from": "",
              "to": "",
              "reg": false,
              "x": 420,
              "y": 160,
              "wires": [
                  [
                      "d995555e5c4a2386"
                  ]
              ]
          },
          {
              "id": "7c12a41643f199a5",
              "type": "trigger",
              "z": "36b9884e8729a4c0",
              "g": "87c87f3f86b28481",
              "name": "8 min",
              "op1": "false",
              "op2": "true",
              "op1type": "bool",
              "op2type": "bool",
              "duration": "8",
              "extend": false,
              "overrideDelay": false,
              "units": "min",
              "reset": "",
              "bytopic": "all",
              "topic": "topic",
              "outputs": 1,
              "x": 890,
              "y": 160,
              "wires": [
                  [
                      "a78df3439706a699"
                  ]
              ]
          },
          {
              "id": "9691c169d3545d8c",
              "type": "trigger",
              "z": "36b9884e8729a4c0",
              "g": "87c87f3f86b28481",
              "name": "500ms",
              "op1": "true",
              "op2": "false",
              "op1type": "bool",
              "op2type": "bool",
              "duration": "500",
              "extend": false,
              "overrideDelay": false,
              "units": "ms",
              "reset": "",
              "bytopic": "all",
              "topic": "topic",
              "outputs": 1,
              "x": 890,
              "y": 220,
              "wires": [
                  [
                      "c4df90e30878b908"
                  ]
              ]
          },
          {
              "id": "a1b700cee4f22594",
              "type": "delay",
              "z": "36b9884e8729a4c0",
              "g": "87c87f3f86b28481",
              "name": "Delay 1min",
              "pauseType": "delay",
              "timeout": "1",
              "timeoutUnits": "minutes",
              "rate": "1",
              "nbRateUnits": "1",
              "rateUnits": "second",
              "randomFirst": "1",
              "randomLast": "5",
              "randomUnits": "seconds",
              "drop": false,
              "allowrate": false,
              "outputs": 1,
              "x": 750,
              "y": 220,
              "wires": [
                  [
                      "9691c169d3545d8c"
                  ]
              ]
          },
          {
              "id": "a78df3439706a699",
              "type": "ioBroker out",
              "z": "36b9884e8729a4c0",
              "g": "87c87f3f86b28481",
              "name": "Pumpe",
              "topic": "Pumpe",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1020,
              "y": 160,
              "wires": []
          },
          {
              "id": "c4df90e30878b908",
              "type": "ioBroker out",
              "z": "36b9884e8729a4c0",
              "g": "87c87f3f86b28481",
              "name": "Automat",
              "topic": "Automat",
              "ack": "false",
              "autoCreate": "false",
              "stateName": "",
              "role": "",
              "payloadType": "",
              "readonly": "",
              "stateUnit": "",
              "stateMin": "",
              "stateMax": "",
              "x": 1020,
              "y": 220,
              "wires": []
          },
          {
              "id": "933cef4b72c0da03",
              "type": "ioBroker in",
              "z": "36b9884e8729a4c0",
              "g": "87c87f3f86b28481",
              "name": "",
              "attrname": "payload",
              "topic": "Futter manuell",
              "payloadType": "value",
              "onlyack": "",
              "func": "all",
              "gap": "",
              "fireOnStart": "false",
              "outFormat": "MQTT",
              "x": 570,
              "y": 100,
              "wires": [
                  [
                      "2033cec56180c602"
                  ]
              ]
          },
          {
              "id": "2033cec56180c602",
              "type": "junction",
              "z": "36b9884e8729a4c0",
              "g": "87c87f3f86b28481",
              "x": 660,
              "y": 160,
              "wires": [
                  [
                      "7c12a41643f199a5",
                      "a1b700cee4f22594"
                  ]
              ]
          }
      ]
      

      BTW: hast du einen Automaten direkt an ioBroker angeschlossen, oder nur per ein/aus über eine Steckdose o.ä?

      Steht ja in deinem Flow, über Sonoff...

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

        @marc-berg
        Erstmal Supi fürs unter die Arme greifen!
        Nein ich habe 2 ESP8266 am laufen.
        Da ist unter anderem ein 8 Fach Relais angeschlossen über GPIO
        Da werden dann für den Futterautomaten 12 Volt geschaltet.
        Deswegen 500 ms das langt für eine Mahlzeit bei 110 Liter.
        Erst wenn ich umgezogen bin, wird das 900 Liter Becken wieder aufgebaut.
        Dann wird die Futterzeit sicherlich wieder etwas höher werden.
        Frag jetzt bitte nicht wie viel Gramm mein Automat bei 500 ms macht. Hab ich vergessen 😧
        Der Steuerungskasten ist noch von dem großen Becken!
        05834815-13BF-48A1-9561-EE0A992F7E9F.jpeg
        War einmal Meerwasser oben Dosierpumpen mitte Hauptsteuerung unten 230 Volt Geräte Steuerung
        IMG_6353.JPG
        Alles selbst gebaut!

        Aphofis Marc Berg 2 Replies Last reply Reply Quote 0
        • Aphofis
          Aphofis @Aphofis last edited by

          @Marc-Berg
          ist das so korrekt !?

          [
              {
                  "id": "e9642cf0ca92e718",
                  "type": "group",
                  "z": "3efddae8bf85801f",
                  "name": "Mahlzeit",
                  "style": {
                      "label": true,
                      "fill": "#d1d1d1",
                      "fill-opacity": "0.34",
                      "color": "#000000"
                  },
                  "nodes": [
                      "9e5f89eaed6394f5",
                      "8c4b163052ac8fc4",
                      "34eb2cf2a3c352df",
                      "ea2411d50762d648",
                      "140ebb39bdcafaab",
                      "28363b0cdd2266d9",
                      "234a69897003d385",
                      "ab60a8016290ea34",
                      "e25804656fad5576",
                      "2c32e27abc50c6ee"
                  ],
                  "x": 114,
                  "y": 419,
                  "w": 972,
                  "h": 202
              },
              {
                  "id": "9e5f89eaed6394f5",
                  "type": "cronplus",
                  "z": "3efddae8bf85801f",
                  "g": "e9642cf0ca92e718",
                  "name": "",
                  "outputField": "payload",
                  "timeZone": "",
                  "storeName": "file",
                  "commandResponseMsgOutput": "output1",
                  "defaultLocation": "50.0 9.0",
                  "defaultLocationType": "fixed",
                  "outputs": 1,
                  "options": [],
                  "x": 540,
                  "y": 520,
                  "wires": [
                      [
                          "2c32e27abc50c6ee"
                      ]
                  ]
              },
              {
                  "id": "8c4b163052ac8fc4",
                  "type": "ioBroker in",
                  "z": "3efddae8bf85801f",
                  "g": "e9642cf0ca92e718",
                  "name": "Futterautomatik",
                  "attrname": "payload",
                  "topic": "0_userdata.0.Futterautomatik.*",
                  "payloadType": "value",
                  "onlyack": "",
                  "func": "all",
                  "gap": "",
                  "fireOnStart": "false",
                  "outFormat": "MQTT",
                  "x": 220,
                  "y": 520,
                  "wires": [
                      [
                          "34eb2cf2a3c352df"
                      ]
                  ]
              },
              {
                  "id": "34eb2cf2a3c352df",
                  "type": "change",
                  "z": "3efddae8bf85801f",
                  "g": "e9642cf0ca92e718",
                  "name": "command",
                  "rules": [
                      {
                          "t": "set",
                          "p": "payload",
                          "pt": "msg",
                          "to": "{\t   \"command\": \"add\",\t   \"name\": $substringAfter($$.topic, \"0_userdata/0/Futterautomatik/\"),\t   \"expression\": $substringAfter($$.payload, \":\") & \" \" & $substringBefore($$.payload, \":\") & \" * * *\",\t   \"expressionType\": \"cron\",\t   \"payloadType\": \"default\" \t}",
                          "tot": "jsonata"
                      }
                  ],
                  "action": "",
                  "property": "",
                  "from": "",
                  "to": "",
                  "reg": false,
                  "x": 400,
                  "y": 520,
                  "wires": [
                      [
                          "9e5f89eaed6394f5"
                      ]
                  ]
              },
              {
                  "id": "ea2411d50762d648",
                  "type": "trigger",
                  "z": "3efddae8bf85801f",
                  "g": "e9642cf0ca92e718",
                  "name": "8 min",
                  "op1": "false",
                  "op2": "true",
                  "op1type": "bool",
                  "op2type": "bool",
                  "duration": "8",
                  "extend": false,
                  "overrideDelay": false,
                  "units": "min",
                  "reset": "",
                  "bytopic": "all",
                  "topic": "topic",
                  "outputs": 1,
                  "x": 870,
                  "y": 520,
                  "wires": [
                      [
                          "234a69897003d385"
                      ]
                  ]
              },
              {
                  "id": "140ebb39bdcafaab",
                  "type": "trigger",
                  "z": "3efddae8bf85801f",
                  "g": "e9642cf0ca92e718",
                  "name": "500ms",
                  "op1": "true",
                  "op2": "false",
                  "op1type": "bool",
                  "op2type": "bool",
                  "duration": "500",
                  "extend": false,
                  "overrideDelay": false,
                  "units": "ms",
                  "reset": "",
                  "bytopic": "all",
                  "topic": "topic",
                  "outputs": 1,
                  "x": 870,
                  "y": 580,
                  "wires": [
                      [
                          "ab60a8016290ea34"
                      ]
                  ]
              },
              {
                  "id": "28363b0cdd2266d9",
                  "type": "delay",
                  "z": "3efddae8bf85801f",
                  "g": "e9642cf0ca92e718",
                  "name": "Delay 1min",
                  "pauseType": "delay",
                  "timeout": "1",
                  "timeoutUnits": "minutes",
                  "rate": "1",
                  "nbRateUnits": "1",
                  "rateUnits": "second",
                  "randomFirst": "1",
                  "randomLast": "5",
                  "randomUnits": "seconds",
                  "drop": false,
                  "allowrate": false,
                  "outputs": 1,
                  "x": 730,
                  "y": 580,
                  "wires": [
                      [
                          "140ebb39bdcafaab"
                      ]
                  ]
              },
              {
                  "id": "234a69897003d385",
                  "type": "ioBroker out",
                  "z": "3efddae8bf85801f",
                  "g": "e9642cf0ca92e718",
                  "name": "Pumpe",
                  "topic": "sonoff.0.Aqua_Control.POWER8",
                  "ack": "false",
                  "autoCreate": "false",
                  "stateName": "",
                  "role": "",
                  "payloadType": "",
                  "readonly": "",
                  "stateUnit": "",
                  "stateMin": "",
                  "stateMax": "",
                  "x": 1000,
                  "y": 520,
                  "wires": []
              },
              {
                  "id": "ab60a8016290ea34",
                  "type": "ioBroker out",
                  "z": "3efddae8bf85801f",
                  "g": "e9642cf0ca92e718",
                  "name": "Automat",
                  "topic": "sonoff.0.Aqua_Control.POWER5",
                  "ack": "false",
                  "autoCreate": "false",
                  "stateName": "",
                  "role": "",
                  "payloadType": "",
                  "readonly": "",
                  "stateUnit": "",
                  "stateMin": "",
                  "stateMax": "",
                  "x": 1000,
                  "y": 580,
                  "wires": []
              },
              {
                  "id": "e25804656fad5576",
                  "type": "ioBroker in",
                  "z": "3efddae8bf85801f",
                  "g": "e9642cf0ca92e718",
                  "name": "Futter manuell",
                  "attrname": "payload",
                  "topic": "0_userdata.0.Aqua_Float.Futter.Futter_manuell",
                  "payloadType": "value",
                  "onlyack": "",
                  "func": "all",
                  "gap": "",
                  "fireOnStart": "false",
                  "outFormat": "MQTT",
                  "x": 530,
                  "y": 460,
                  "wires": [
                      [
                          "2c32e27abc50c6ee"
                      ]
                  ]
              },
              {
                  "id": "2c32e27abc50c6ee",
                  "type": "junction",
                  "z": "3efddae8bf85801f",
                  "g": "e9642cf0ca92e718",
                  "x": 640,
                  "y": 520,
                  "wires": [
                      [
                          "ea2411d50762d648",
                          "28363b0cdd2266d9"
                      ]
                  ]
              }
          ]
          

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

            @aphofis sagte in Aquarium Futter Steuerung: Info:

            ist das so korrekt !?

            Sollte so funktionieren, abhängig davon, wie der Datenpunkt

            0_userdata.0.Aqua_Float.Futter.Futter_manuell
            

            "gefüttert" wird. Meine Idee war, die manuelle Fütterung genau so auszuführen wie die automatischen.

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

              @aphofis sagte in Aquarium Futter Steuerung: Info:

              War einmal Meerwasser oben Dosierpumpen mitte Hauptsteuerung unten 230 Volt Geräte Steuerung

              Alles selbst gebaut!

              Na, das ist ja mal eine Installation, cool!

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

                @marc-berg
                Hab mich schon kurz gefasst nur waren die ganzen gekauften geräte jedes für sich und nix hat zusammen gearbeitet. So hatte ich ZB Strömungspumpen die zu bestimmten zeiten Wellengang 4-5 cm hohe Wellen im Becken erzeugt hatten und die LED Lampen haben einen Wetter Modus und haben dann zu den Zeiten bei Wellengang Unwetter simuliert und Blitze erzeugt und Hell Dunkel Beleuchtet
                Nur so werde ich wohl kein Meerwasser Becken mehr betreiben, wenn dann nur noch Süßwasser!
                IMG_6587.jpg
                7F094B44-EE59-48D8-9732-084C4D1DBE0C.jpeg

                2E67515D-6C1E-4572-B025-76C4B86CE6B9.jpeg
                IMG_2825.jpeg IMG_2826-1.JPG

                1 Reply Last reply Reply Quote 1
                • Aphofis
                  Aphofis @Marc Berg last edited by Aphofis

                  @marc-berg Wie meinst du da!?
                  Ich hab nenn Datenpunkt der geschaltet wird und wenn der true ist, wird die Futter manuell steuerung ausgelöst
                  Aber ganz ehrlich gesagt, finde ich es so übersichtlicher
                  Screenshot 2025-05-29 032131.png

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

                    Das ist eine gute Idee wenn der Filter ausgeschaltet wird. Machst du das auch mit dem Lüfter (Luftblasen). Ich habe bisher immer so gefüttert wenn alles an ist. Aber da fliegt das Futter ja sonst wo hin.

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

                      @basti97
                      Das hab ich schon immer gemacht, sprich bei 11 Aquarien immer Pumpe aus.
                      Wenn gefüttert wird. Alleine schon damit sich das Futter nicht überall verteilt und auch viel zu schnell verwirbelt wird bzw zu Boden sinkt.
                      Wie meinst du Lüfter und Luftblasen !?

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

                        @aphofis Interessant zu wissen werde ich auch in meinem Programm einbauen. Welche Fische hast du?
                        Luftblasen schaltest du das auch aus?

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        710
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        3
                        14
                        277
                        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