Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly Skript für Gartenbewässerung - DutyCycle steigt

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Blockly Skript für Gartenbewässerung - DutyCycle steigt

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
21 Beiträge 4 Kommentatoren 4.1k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    darkiop
    Most Active
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich arbeite aktuell an meiner Programmmierung für die Gartenbewässerung. Folgendes Blockly führt das ganze aus. Konfiguriert werden die entsprechenden DPs über VIS. Wenn das alles mal sauber läuft, möchte ich das auch hier im Forum veröffentlichen.

    Wenn die Bewässerung aktiv ist, geht mir aktuell noch der DutyCycle in die Höhe, nicht dramatisch schnell, aber definitiv unschön.

    Mein Versuch das ganz mit dem DP "Bewässerung_ist_aktiviert" auf "true" wenn die Bewässerung aktiv ist, und entsprechend die nochmalige Ausführtung des ganzen Skriptes zu unterbinden, hat leider nicht funktioniert. Hat jemand eine Idee woran das noch liegen kann?

    Hab das ganze direkt bei GH hochgeladen, da die Anzahl der Zeichen für ein Code-Posting hier im Forum zu viele waren:

    https://github.com/darkiop/iobroker.gar … omatik.xml

    Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

    1 Antwort Letzte Antwort
    0
    • rantanplanR Online
      rantanplanR Online
      rantanplan
      schrieb am zuletzt editiert von
      #2

      Hallo darkiop

      Hab mal kurz drüber geschaut.

      Sehr unübersichtlich das Ganze.

      Schaue Dir mal "Funktionen" an.

      Und Timer mit Variablen wird schon seit einigen Versionen nicht mehr unterstützt.

      An Deiner Stelle würde ich noch mal ganz von vorne anfangen ;)

      Grüße

      EDIT: Noch meinen Standardsatz vergessen: "Schalten, nur wenn es was zu schalten gibt". (wegen DutyCycle)

      Rantanplan

      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

      1 Antwort Letzte Antwort
      0
      • D Offline
        D Offline
        darkiop
        Most Active
        schrieb am zuletzt editiert von
        #3

        Guten Morgen rantanplan,

        danke für deine Antwort. Ich weis, das ist etwas unübersichtlich geworden. Wenn man es alledings kennt und weis wie es funktioniert, dann gehts imho auch wieder. Funktionen kenne ich, habe Sie in diesem Blockly nur noch nicht zum verwendet - das war anfangs auch weniger umfangreich, aber ja kann sollte ich noch einbauen :)

        Gibt es eine Alternative zum Thema Variablen + Timer? Wusste nicht das dies nicht mehr unterstützt wird, habe aber auch gerade keine Idee wie ich die Timer dann Variabel steuern soll. Parametriert wird das ganze über VIS (siehe Screenshot) und läuft auch sehr stabil und zuverlässig.

        Das "Schalten, nur wenn es was zu schalten gibt" dachte ich eigentlich hätte ich mit meinen Status Datenpunkt "Bewaesserung_ist_aktiv" entsprechend umgangen … verstehe gerade nicht was hier noch geschaltet wird, wenn das Skript läuft. Im Log bekomme ich während der Laufzeit "Bewässerung_ist_aktiviert = true - nichts zu tun", also sollte doch eigentlich nichts geschaltet werden?

        Danke für deine Hilfe und einen guten Start in den Tag :)

        5671_2018-05-03_06_43_02-clipboard.png

        Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

        1 Antwort Letzte Antwort
        0
        • lobomauL Offline
          lobomauL Offline
          lobomau
          schrieb am zuletzt editiert von
          #4

          Du hast innerhalb deines Triggers Zeitplan einen Trigger CRON-Regel. Funktioniert das? Wird "Cronjob ausgeführt" geloggt?

          1146_blockly.jpg

          Host: NUC8i3 mit Proxmox:

          • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
          • Slave: Pi4
          1 Antwort Letzte Antwort
          0
          • D Offline
            D Offline
            darkiop
            Most Active
            schrieb am zuletzt editiert von
            #5

            Ja, funktioniert zuverlässig. Wie gesagt, nur der DC steigt - wird dann auch zum Problem wenn ich inneren und äußeren Kreis 30min Bewässere und dann nochmal die Strauchbewässerung für eine Stunde laufen lasse :)

            Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              Vergleiche mal den Zeitstempel (ts) und die Zeit der letzten Änderung (lc) der Aktor-Datenpunkte bei laufender Bewässerung. Wenn nur dann gesendet wird, wenn erforderlich, müssen beide Werte gleich sein.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                darkiop
                Most Active
                schrieb am zuletzt editiert von
                #7

                Sehr seltsam, in einem ersten Testlauf, mit kurzen Zeiten, jetzt keine Auffälligkeiten - zumindest an diesen Datenpunkten:

                (Ablauf: 1. Innen, 2. Außen, 3. Sträucher)

                5671_2018-05-03_18_57_07-clipboard.png

                Muss das nochmal mit längeren Laufzeiten Testen, denn am letzten WE war der Anstieg des DC mit diesem Skript reproduzierbar…

                Der 10er DC kommt von den Versuchen, normal liegt der Konstant bei 4-5. Hier sieht man auch die Pieks auf 40:

                5671_2018-05-03_19_00_42-clipboard.png

                Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                1 Antwort Letzte Antwort
                0
                • D Offline
                  D Offline
                  darkiop
                  Most Active
                  schrieb am zuletzt editiert von
                  #8

                  Heute Abend schoss der DC auf 99, meine Vermutung geht in Richtung der Option "Entkalkung aus". Das teste ich noch weiter. Aktuell ohne dieser Option verhält sich alles im normalen Bereich.

                  Was mich allerdings wundert, Pushnachrichten und Logs werden 4x abgesendet, jemand eine Idee wieso das so ist?

                  5671_2018-05-04_19_58_13-clipboard.png
                  5671_2018-05-04_19_57_07-clipboard.png
                  5671_2018-05-04_19_56_57-clipboard.png

                  Edit: Als der DC auf 99 hochging, hing das Skript wohl in einer Schleife, ich habe massig Pushnachrichten zu diesem Zeitpunkt:

                  5671_2018-05-04_20_15_20-clipboard.png

                  Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                  1 Antwort Letzte Antwort
                  0
                  • D Offline
                    D Offline
                    darkiop
                    Most Active
                    schrieb am zuletzt editiert von
                    #9

                    Heute Morgen nun wieder DC 99, das Skript blieb wohl beim ersten Ventil hängen und konnte nicht ausschalten und zum nächsten Übergehen …

                    Wenn ich mich hinsetze und es zum Test Starte und beobachte funktioniert natürlich alles :D Habe auch schon den Rpi näher an den Garten gebracht um den Funk Probleme ggf. auszuschließen.

                    Habe nun den Timer um das Skript zu Triggern auf 5 Uhr Morgens gestellt, das "alle 50 Sekunden" war nur für den Test.

                    Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                    1 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      darkiop
                      Most Active
                      schrieb am zuletzt editiert von
                      #10

                      Guten Morgen, hatte diese Woche leiger wenig Zeit mir das ganze nochmal anzuschauen.

                      Habe nun heute Morgen das Skript optimiert und vieles in Funktionen ausgelagert - es ist nun deutlich übersichtlicher und Pflegeleichter geworden :)

                      https://github.com/darkiop/iobroker.gar … omatik.xml

                      Der Testdurchlauf heute Morgen war mal wieder Fehlerfrei (wie auch schon in der Vergangenheit, wenn man davor sitzt und beobachtet :))

                      Was mich wundern, wieso kommen die Telegramm Nachrichten immer im 3-4, statt 1x ?

                      Diese Nachrichten wurden bei einem kompletten Durchlauf ausgelöst:

                      5671_2018-05-12_09_57_23-clipboard.png

                      Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                      1 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        darkiop
                        Most Active
                        schrieb am zuletzt editiert von
                        #11

                        Heut Morgen wieder das negativ Beispiel, Innerer Kreis lief sauber mit einer Minute durch (08:01 Uhr), Äußerer Kreis ging an und aber nicht mehr aus = Duty Cycle rauscht nach oben. Um 08:09 Uhr habe ich dann manuell beendet.

                        Das Skript muss sich an diesen Stellen ab und zu verschlucken, anders kann ich es mir nicht erklären. Bin allerdings auch mit meinem Latein am Ende …

                        Liegt es evtl. an der Art und Weise wie ich die Timer verschachtelt habe? Wenn hier jemand eine andere Idee hat wie man das lösen kann, das die 3 Kreise nacheinander laufen und abschalten, habe ein offenes Ohr :D

                        5671_2018-05-13_08_08_50-clipboard.png

                        Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                        1 Antwort Letzte Antwort
                        0
                        • rantanplanR Online
                          rantanplanR Online
                          rantanplan
                          schrieb am zuletzt editiert von
                          #12

                          @darkiop:

                          Liegt es evtl. an der Art und Weise wie ich die Timer verschachtelt habe? Wenn hier jemand eine andere Idee hat wie man das lösen kann, das die 3 Kreise nacheinander laufen und abschalten, habe ein offenes Ohr :D `
                          Ein offenes Ohr reicht nicht. Man muss auch offene Augen haben und lesen ;)

                          Wie schon mal geschrieben…..

                          Timer mit Variablen funktionieren NICHT (mehr).

                          Nur schalten wenn notwendig.

                          Ein Schaltbefehl zu einem Aktor wird IMMER gesendet. Egal ob notwendig oder nicht.

                          Wenn man 1000mal eine eine Lampe einschaltet obwohl sie schon eingeschaltet ist werden trotzdem 1000 Einschaltbefehle gesendet.

                          Und der DutyCycle schießt nach oben.

                          Vorher den aktuellen Status abfragen hilft da enorm.

                          Z.B.

                          Ausschalten:

                          Falls STATUS = TRUE

                          mache STATUS =FALSE

                          Einschalten:

                          Falls STATUS = FALSE

                          mache STATUS =TRUE

                          An Deiner Stelle würde ich das Konzept nochmal überdenken und neu anfangen.

                          Versuche doch mal Dein Projekt hier in Worten zu beschreiben.

                          Grüße

                          Rantanplan

                          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                          1 Antwort Letzte Antwort
                          0
                          • D Offline
                            D Offline
                            darkiop
                            Most Active
                            schrieb am zuletzt editiert von
                            #13

                            Hey :)

                            Ich hatte deinen Hinweis bzgl. des Timers gelesen, allerdings fehlt mir grad die Idee wie ich das anders lösen soll. Und da es ab und zu funktionierte, hatte ich da auch dran festgehalten … :)

                            Gegeben ist:

                            • 2 Ventile für die Rasenbewässerung

                            • 1 Ventil für die Strauchbewässerung (Tropsschlauch)

                            • Geschaltet über einen HM 4-fach Aktor.

                            Vorgestellt habe ich mir die Steuerung so:

                            • Allgemeiner Ein- /Ausschalter in VIS

                            • Bewässerungstage sind über VIS einstellbar

                            • getrennte Laufzeit für Rasen und Sträucher

                            • Startzeit über VIS einstellbar

                            • Einstellbar über VIS welche Kreise in der Automatik berücksichtigt werden sollen

                            • Diverse andere Unterschiedliche Variablen die den Start der Beregnung beeinflussen (aktuell Regen / Regenvorhersage, ggf. Bodenfeuchte, Wind, …)

                            Bzgl. des "nur schalten wenn notwendig", dachte ich, ich hätte das mit meiner "Bewaesserung_ist_aktiviert" Variable gelöst. Ist dies nicht so?

                            So das Konzept bzw. meine Idee. Das Programm sollte dann ein nach dem anderen Kreis abarbeiten (eben je nach Integration in die Automatik -> VIS). Wenn ich jetzt eine Laufzeit von 10min über VIS für die beiden Rasenkreisläufe parametriere, darf der zweite Kreislauf ja erst nach diesen 10min aktiviert werden (Grund: Wasserdruck, ich muss einen Kreis nach dem anderen öffnen).

                            Wie kann ich das mit dem vorgegeben Wert aus VIS entsprechend Verzögern (eben ohne den Timer + Variable)?

                            Danke und noch einen schönen Sonntag!

                            Grüße Thorsten

                            Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                            1 Antwort Letzte Antwort
                            0
                            • rantanplanR Online
                              rantanplanR Online
                              rantanplan
                              schrieb am zuletzt editiert von
                              #14

                              @darkiop:

                              Ich hatte deinen Hinweis bzgl. des Timers gelesen, allerdings fehlt mir grad die Idee wie ich das anders lösen soll. Und da es ab und zu funktionierte, hatte ich da auch dran festgehalten … :) `
                              Du scheinst mit einer sehr alten JavaScript Version zu arbeiten. In Deinem Code werden die Variablen noch eingesetzt.

                              Aktuell wird das nicht mehr unterstützt!

                              @darkiop:

                              Bzgl. des "nur schalten wenn notwendig", dachte ich, ich hätte das mit meiner "Bewaesserung_ist_aktiviert" Variable gelöst. Ist dies nicht so? `
                              Nun "Bewaesseung_ist_aktiv" ist ja wohl für längere Zeit aktiv. Und in dieser Zeit wird geschaltet ob notwendig oder nicht.

                              Die anderen Sachen schaue ich mir noch mal an.

                              Da ich zurzeit zeitlich zu 150% eingespannt bin kann es aber etwas dauern.

                              Grüße

                              Rantanplan

                              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                              1 Antwort Letzte Antwort
                              0
                              • D Offline
                                D Offline
                                darkiop
                                Most Active
                                schrieb am zuletzt editiert von
                                #15

                                Der iobroker läuft in einem Docker Container auf ner Synology DS 918.

                                Der js-controller mit der Version 1.4.2., nodejs mit 6.14.2 und npm mit 3.10.10

                                Also sollte ich bzgl. "Bewaesseung_ist_aktiv" die Schaltfunktion an die Aktoren nochmal in ein if packen.

                                Edit: Bzgl. der alten Version - ich habe die Variable von Handreingeschrieben, nicht das Puzzlestück. Hatte ich so irgendwo im Forum gesehen :)

                                Danke für deine Hilfe,

                                Grüße

                                Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                                1 Antwort Letzte Antwort
                                0
                                • rantanplanR Online
                                  rantanplanR Online
                                  rantanplan
                                  schrieb am zuletzt editiert von
                                  #16

                                  @darkiop:

                                  Also sollte ich bzgl. "Bewaesseung_ist_aktiv" die Schaltfunktion an die Aktoren nochmal in ein if packen. `
                                  Jepp

                                  Und welche Version hat Dein "Script Engine" Adapter? (Bei mir v3.6.4)

                                  Rantanplan

                                  CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                  1 Antwort Letzte Antwort
                                  0
                                  • D Offline
                                    D Offline
                                    darkiop
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #17

                                    Hier auch die 3.6.4

                                    Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                                    1 Antwort Letzte Antwort
                                    0
                                    • rantanplanR Online
                                      rantanplanR Online
                                      rantanplan
                                      schrieb am zuletzt editiert von
                                      #18

                                      @darkiop:

                                      Hier auch die 3.6.4 `
                                      Wenn ich Dein Script importiere werden die Variablen auch übernommen.

                                      Lege bitte mal ein neues Blockly an.
                                      147_beispiel.png

                                      Grüße

                                      Rantanplan

                                      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                      1 Antwort Letzte Antwort
                                      0
                                      • D Offline
                                        D Offline
                                        darkiop
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #19

                                        Beide Logs werden sofort nach Skriptstart ausgegeben:

                                        5671_2018-05-13_21_30_47-clipboard.png

                                        5671_2018-05-13_21_31_19-clipboard.png

                                        Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                                        1 Antwort Letzte Antwort
                                        0
                                        • rantanplanR Online
                                          rantanplanR Online
                                          rantanplan
                                          schrieb am zuletzt editiert von
                                          #20

                                          @darkiop:

                                          Beide Logs werden sofort nach Skriptstart ausgegeben: `

                                          Ja weil das nicht mehr funktioniert.

                                          Wenn Du Dir den Code anschaust wirst Du sehen das "NaN" eingesetzt wird anstatt die Variable "Zeit".

                                          timeout = setTimeout(function () {
                                            console.log('***Ende');
                                          }, NaN);
                                          
                                          

                                          Dein Blockly muss schon "etwas" älter sein ;)

                                          Rantanplan

                                          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          749

                                          Online

                                          32.7k

                                          Benutzer

                                          82.3k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe