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. zeitabhängig triggern: Scheduler oder zyklische Abfrage?

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    297

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

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

zeitabhängig triggern: Scheduler oder zyklische Abfrage?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 2 Kommentatoren 266 Aufrufe 2 Watching
  • Ä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.
  • _JOHN__ Offline
    _JOHN__ Offline
    _JOHN_
    schrieb am zuletzt editiert von _JOHN_
    #1

    Moin zusammen,

    ich hab mal eine generelle Frage für die Runde, weil ich mir wegen der Thematik immer wieder Extra-Arbeit mache.

    Folgendes Szenario: ich möchte zu einer bestimmten Uhrzeit etwas triggern, "Rollladen runter" meinetwegen.
    Es geht hierbei nicht um das "wie", sondern die Frage was praktikabler ist im Bezug auf die Auslastung des Brokers.

    Nahmen wir mal an ich habe 5 oder mehr Timer für verschiedene Geräte und Systeme, dann müsste ich entweder minütlich einen Script (pro Timer) laufen lassen der entsprechend auf die aktuelle Uhrzeit gegen die gesetzte Zeit checkt und dann ggf. etwas auslöst.

    Der andere Ansatz den ich momentan verfolge ist eine Cronregel, die ich dynamisch per VIS etc. ändern und steuern kann. Der Hintergedanke: ich muss das System nicht minütlich mit Abfragen befeuern sondern setzte einmalig den gewünschten Wert für den Job. Der Aufwand für ein solches Script ist jedoch ungleich höher (2 Scripte, verschiedene Objekte, Neustart, usw.).

    Die Frage: wie stark fällt ein kleines Script (erste Variante) ins Gewicht wenn es minütlich abgefragt wird, Werte ausliest usw. - lohnt der Aufwand den ich betreibe überhaupt?

    Ich füge hier mal noch ein Bild der 2. Variante ein, damit es vll. etwas deutlicher wird.

    de040180-6d10-43cd-afc7-0e4bb55c0983-image.png

    Evtl. gibt's ja 'nen ganz anderen/besseren Ansatz, oder ich mach mir einfach zu viele Gedanken :relieved:

    Grüße John.

    AsgothianA 1 Antwort Letzte Antwort
    0
    • _JOHN__ _JOHN_

      Moin zusammen,

      ich hab mal eine generelle Frage für die Runde, weil ich mir wegen der Thematik immer wieder Extra-Arbeit mache.

      Folgendes Szenario: ich möchte zu einer bestimmten Uhrzeit etwas triggern, "Rollladen runter" meinetwegen.
      Es geht hierbei nicht um das "wie", sondern die Frage was praktikabler ist im Bezug auf die Auslastung des Brokers.

      Nahmen wir mal an ich habe 5 oder mehr Timer für verschiedene Geräte und Systeme, dann müsste ich entweder minütlich einen Script (pro Timer) laufen lassen der entsprechend auf die aktuelle Uhrzeit gegen die gesetzte Zeit checkt und dann ggf. etwas auslöst.

      Der andere Ansatz den ich momentan verfolge ist eine Cronregel, die ich dynamisch per VIS etc. ändern und steuern kann. Der Hintergedanke: ich muss das System nicht minütlich mit Abfragen befeuern sondern setzte einmalig den gewünschten Wert für den Job. Der Aufwand für ein solches Script ist jedoch ungleich höher (2 Scripte, verschiedene Objekte, Neustart, usw.).

      Die Frage: wie stark fällt ein kleines Script (erste Variante) ins Gewicht wenn es minütlich abgefragt wird, Werte ausliest usw. - lohnt der Aufwand den ich betreibe überhaupt?

      Ich füge hier mal noch ein Bild der 2. Variante ein, damit es vll. etwas deutlicher wird.

      de040180-6d10-43cd-afc7-0e4bb55c0983-image.png

      Evtl. gibt's ja 'nen ganz anderen/besseren Ansatz, oder ich mach mir einfach zu viele Gedanken :relieved:

      Grüße John.

      AsgothianA Offline
      AsgothianA Offline
      Asgothian
      Developer
      schrieb am zuletzt editiert von Asgothian
      #2

      @leone-mortuo sagte in zeitabhängig triggern: Scheduler oder zyklische Abfrage?:

      Moin zusammen,

      ich hab mal eine generelle Frage für die Runde, weil ich mir wegen der Thematik immer wieder Extra-Arbeit mache.

      Folgendes Szenario: ich möchte zu einer bestimmten Uhrzeit etwas triggern, "Rollladen runter" meinetwegen.
      Es geht hierbei nicht um das "wie", sondern die Frage was praktikabler ist im Bezug auf die Auslastung des Brokers.

      Nahmen wir mal an ich habe 5 oder mehr Timer für verschiedene Geräte und Systeme, dann müsste ich entweder minütlich einen Script (pro Timer) laufen lassen der entsprechend auf die aktuelle Uhrzeit gegen die gesetzte Zeit checkt und dann ggf. etwas auslöst.

      Der andere Ansatz den ich momentan verfolge ist eine Cronregel, die ich dynamisch per VIS etc. ändern und steuern kann. Der Hintergedanke: ich muss das System nicht minütlich mit Abfragen befeuern sondern setzte einmalig den gewünschten Wert für den Job. Der Aufwand für ein solches Script ist jedoch ungleich höher (2 Scripte, verschiedene Objekte, Neustart, usw.).

      Die Frage: wie stark fällt ein kleines Script (erste Variante) ins Gewicht wenn es minütlich abgefragt wird, Werte ausliest usw. - lohnt der Aufwand den ich betreibe überhaupt?

      Ich füge hier mal noch ein Bild der 2. Variante ein, damit es vll. etwas deutlicher wird.

      de040180-6d10-43cd-afc7-0e4bb55c0983-image.png

      Evtl. gibt's ja 'nen ganz anderen/besseren Ansatz, oder ich mach mir einfach zu viele Gedanken :relieved:

      Grüße John.

      Die Methode über ein eigenes zentrales "Heartbeat" Skript welches nichts macht als due aktuelle Zeit zu prüfen und dann bei Übereinstimmung der Zeit mit einer einstellbaren Zeit (diese am besten noch jede Minute per getState aus der StatesDB holen) etwas tut ist meiner Meinung nach Unsinn. Du belastest das System mit einer zyklischen Last die du zu 100% nicht brauchst.

      Der Korrekte weg ist (meiner Meinung nach)

      • Je EINEN State pro Aktion in dem drin steht zu welchem Zeitpunkt die Aktion stattfinden soll.

      Danach gibt es 2 Optionen:

      • in EINEM Skript
        -- Zu beginn des Skriptes alle (oben angesprochenen) States einlesen und die entsprechenden Schedules erzeugen.
        -- JE State ein Trigger auf Änderung des States -> Wenn geändert dann schedule anhalten und neu setzen.
      • Pro oben angegebenem State ein Skript
        -- Zu beginn von diesem einen State den Wert einlesen und schedule anlegen
        -- einen Trigger auf "wurde geaendert" und dann darin den schedule anpassen.

      Die geschickte Nutzung der "Funktion" Blöcke erlaubt es dabei dafür zu sorgen das du nicht die gleichen Aktionen mehrfach zusammen bauen musst.

      Wichtig ist das du auf keinen Fall die in deinem Bild verwendeten "mehrfachtrigger" nutzt. Das macht Dir und dem System nur mehr Arbeit.

      A.

      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

      _JOHN__ 1 Antwort Letzte Antwort
      1
      • AsgothianA Asgothian

        @leone-mortuo sagte in zeitabhängig triggern: Scheduler oder zyklische Abfrage?:

        Moin zusammen,

        ich hab mal eine generelle Frage für die Runde, weil ich mir wegen der Thematik immer wieder Extra-Arbeit mache.

        Folgendes Szenario: ich möchte zu einer bestimmten Uhrzeit etwas triggern, "Rollladen runter" meinetwegen.
        Es geht hierbei nicht um das "wie", sondern die Frage was praktikabler ist im Bezug auf die Auslastung des Brokers.

        Nahmen wir mal an ich habe 5 oder mehr Timer für verschiedene Geräte und Systeme, dann müsste ich entweder minütlich einen Script (pro Timer) laufen lassen der entsprechend auf die aktuelle Uhrzeit gegen die gesetzte Zeit checkt und dann ggf. etwas auslöst.

        Der andere Ansatz den ich momentan verfolge ist eine Cronregel, die ich dynamisch per VIS etc. ändern und steuern kann. Der Hintergedanke: ich muss das System nicht minütlich mit Abfragen befeuern sondern setzte einmalig den gewünschten Wert für den Job. Der Aufwand für ein solches Script ist jedoch ungleich höher (2 Scripte, verschiedene Objekte, Neustart, usw.).

        Die Frage: wie stark fällt ein kleines Script (erste Variante) ins Gewicht wenn es minütlich abgefragt wird, Werte ausliest usw. - lohnt der Aufwand den ich betreibe überhaupt?

        Ich füge hier mal noch ein Bild der 2. Variante ein, damit es vll. etwas deutlicher wird.

        de040180-6d10-43cd-afc7-0e4bb55c0983-image.png

        Evtl. gibt's ja 'nen ganz anderen/besseren Ansatz, oder ich mach mir einfach zu viele Gedanken :relieved:

        Grüße John.

        Die Methode über ein eigenes zentrales "Heartbeat" Skript welches nichts macht als due aktuelle Zeit zu prüfen und dann bei Übereinstimmung der Zeit mit einer einstellbaren Zeit (diese am besten noch jede Minute per getState aus der StatesDB holen) etwas tut ist meiner Meinung nach Unsinn. Du belastest das System mit einer zyklischen Last die du zu 100% nicht brauchst.

        Der Korrekte weg ist (meiner Meinung nach)

        • Je EINEN State pro Aktion in dem drin steht zu welchem Zeitpunkt die Aktion stattfinden soll.

        Danach gibt es 2 Optionen:

        • in EINEM Skript
          -- Zu beginn des Skriptes alle (oben angesprochenen) States einlesen und die entsprechenden Schedules erzeugen.
          -- JE State ein Trigger auf Änderung des States -> Wenn geändert dann schedule anhalten und neu setzen.
        • Pro oben angegebenem State ein Skript
          -- Zu beginn von diesem einen State den Wert einlesen und schedule anlegen
          -- einen Trigger auf "wurde geaendert" und dann darin den schedule anpassen.

        Die geschickte Nutzung der "Funktion" Blöcke erlaubt es dabei dafür zu sorgen das du nicht die gleichen Aktionen mehrfach zusammen bauen musst.

        Wichtig ist das du auf keinen Fall die in deinem Bild verwendeten "mehrfachtrigger" nutzt. Das macht Dir und dem System nur mehr Arbeit.

        A.

        _JOHN__ Offline
        _JOHN__ Offline
        _JOHN_
        schrieb am zuletzt editiert von
        #3

        @asgothian

        Danke für dein Feedback.

        Sofern ich deine Ausführung richtig verstehe bin ich ja bereits recht nah an deiner 2. Option dran.
        Ich lese die Werte für die Zeit bei Änderung ein halte den schedule an und erstelle ihn neu.

        Jedoch momentan noch mit einem mehrfach trigger, was ich dann wohl noch korrigieren werden.

        Ziel wäre so oder so am Ende das das Script nun einmal, nämlich bei Änderung der gewünschten Triggerzeit durchläuft.

        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

        258

        Online

        32.7k

        Benutzer

        82.5k

        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