Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Hilfe bei Blockly zur Bewässerungssteuerung

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Hilfe bei Blockly zur Bewässerungssteuerung

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      EStegemann last edited by

      Guten Abend Zusammen.
      Ich habe ein Problem mit eine Blockly Script bei dem ich absolut nicht weiter komme. Es geht dabei um die Steuerung meiner Bewässerung. Jeder Bewässerungskreis soll 3x für eine bestimmt Zeit eingeschaltet werden. In meinem derzeitigen Stand vom Script ist hier lediglich eine Testzeit von 30 Sek. eingestellt. Mit einem Kreis klappt es aktuell wie es soll, doch nun möchte ich den nächsten Kreis mit einbinden und da ist die Problemstelle. Ich bekomme den zweiten Kreis ums verrecken nicht ins Skript vernünftig eingebunden. Zuerst soll der Kreis "Dusche" starten und nach Ablauf der Zeit soll Dusche wieder ausgeschaltet werden und der nächste Kreis "Feuerschale" starten. Anschließend soll der Durchlaufzähler "DLF" um 1 erhöht werden und der nächste Bewässerungszyklus startet (Bis 3 Durchläufe erreicht sind).

      Hat hier jemand einen Vorschlag wie sich das schlank lösen lässt?
      Danke im Vorfeld.
      FB_IMG_1625000852493.jpg

      paul53 D 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @EStegemann last edited by paul53

        @estegemann sagte: Jeder Bewässerungskreis soll 3x für eine bestimmt Zeit eingeschaltet werden.

        Initialisiere einen Count down Zähler für das Intervall mit 3 * Kreis-Anzahl, berechne cnt % 3 als Wert, der den laufenden Kreis aus und den nächsten Kreis einschaltet. Das funktioniert natürlich nur, wenn die Bewässerungsdauer für alle Kreise identisch ist. Es bietet sich ein Array of IDs an.
        Besser nicht mit "umschalten" arbeiten.

        E 1 Reply Last reply Reply Quote 0
        • E
          EStegemann @paul53 last edited by

          @paul53
          Hi Paul,
          Vielen Dank. Leider hat jeder Bewässerungkreis unterschiedliche Beregnungszeiten die jeweils in einem separaten Datenpunkt hinterlegt sind und sich auch ändern können. Zudem verstehe ich leider nicht, was du mit den ID's meinst. Warum nicht mit umschalten arbeiten?

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @EStegemann last edited by

            @estegemann

            Ich gehe davon aus das

            • Du für jeden Kreis einen State hast in dem hinterlegt wird wie lange der laufen soll.
            • Diese Zeiten in Sekunden angegeben sind

            Dann kann so etwas gehen (ist dann auch erweiterbar auf mehr als 2 Kreise, einfach die beiden Listen erweitern.)
            Screenshot 2021-06-30 at 07.22.31.png

            Weggelassen habe ich den Zeitplan um den Durchlaufzähler initial zu starten. In dem müsstest Du den Durchlaufzähler auf die Anzahl der gewünschten Durchläufe setzen.

            Nebenbei: Ein Intervall mit 1x pro Sekunde laufen lassen nur um per "falls" block einen Zähler beim Runterzählen zu beobachten ist Ressourcenverschwendung. Du kannst die Dauer eines Timeouts vorher berechnen (muss in ms sein).

            A.

            E 2 Replies Last reply Reply Quote 0
            • E
              EStegemann @Asgothian last edited by

              @asgothian absolut klasse!
              Deine beiden genannten Punkte sind vorhanden.
              Sobald die Regenmassen sich bei uns hier verzogen haben, werde ich das Script testen.
              Hab vielen Dank für deine Zeit.

              Besten Gruß,
              Eric

              1 Reply Last reply Reply Quote 0
              • E
                EStegemann @Asgothian last edited by

                @asgothian Mich würde dennoch interessieren, wie das Script aussehen müsste, wenn man nach Zeitplan steuern würde. Gibt es da evtl. auch die Möglichkeit den Wochentag sowie die Startzeit variabel zugestalten? Ich würde das dann gern in meine VIS einbauen und per checkbox die Wochentage auswählen, an denen bewässert werden soll sowie die Uhrzeit.

                Hast du vlt. Zeit das Script nochmal dahingehend anzupassen? Das wäre klasse.

                Mit besten Grüßen,
                Eric

                Asgothian 1 Reply Last reply Reply Quote 0
                • Asgothian
                  Asgothian Developer @EStegemann last edited by Asgothian

                  @estegemann

                  Du brauchst:

                  • Diese 3 Bausteine, am besten in einer Funktion:Screenshot 2021-07-01 at 07.13.57.png
                  • Je nach dem was du über die Vis ansteuern willst ersetzt du die "*" Bausteine durch ein "wert von ...". Dabei darauf achten das die Werte zu den Cron Regeln passen
                  • im Schedule setzt du wie gehabt einfach deinen Durchlaufzähler auf die Anzahl an Durchläufen die du haben willst.
                  • einen Trigger auf alle States mit denen du den Zeitplan ansteuern willst, in dem du die 3 obigen Bausteine nutzt.Screenshot 2021-07-01 at 07.17.37.png
                  • Die Funktion solltest du dann auch bei Skriptstart aufrufen.

                  A.

                  1 Reply Last reply Reply Quote 0
                  • D
                    darkiop Most Active @EStegemann last edited by

                    @estegemann Du kannst dir auch mal das Skript von Kuddel anschauen: https://forum.iobroker.net/topic/33573/vorlage-gartenbewässerung-mit-6-ventilen falls du es noch nicht kennst.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    817
                    Online

                    32.0k
                    Users

                    80.5k
                    Topics

                    1.3m
                    Posts

                    blockly
                    4
                    8
                    382
                    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