Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Mehrere Fenster - Check, ob länger als 15min geöffnet

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Mehrere Fenster - Check, ob länger als 15min geöffnet

Scheduled Pinned Locked Moved Skripten / Logik
blockly
8 Posts 4 Posters 710 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P Offline
    P Offline
    piro
    wrote on last edited by piro
    #1

    Hallo zusammen,

    Iobroker ist echt genial. Bin seit 2 Wochen dabei. Sehr genial.

    Ich möchte gerne folgendes umsetzen.

    Alle Fenster sollen bei Statusänderungen überprüft werden. Das bekomme ich hin.
    Wenn festgestellt wurde, dass ein Fenster geöffnet ist, soll nach 15 Minuten wieder überprüft werden, ob es immer noch geöffnet ist. Wenn ja, soll eine Benachrichtigung versendet werden.

    Ich könnte jetzt für jedes Fenster und für jede Tür ein Script schreiben und mit Intervall 15 Minuten dies realisieren.

    Frage: Kann man das auch in einem Script bewerkstelligen?

    Idee: Ein Script mit Threads damit die Überprüfung bei STATE Änderung weiter läuft. Aber wie geht das? Geht das überhaupt?
    Oder muss ich wirklich für jedes ein eigenes Script haben?

    Danke im Voraus.
    Sven

    paul53P htreckslerH 2 Replies Last reply
    0
    • P piro

      Hallo zusammen,

      Iobroker ist echt genial. Bin seit 2 Wochen dabei. Sehr genial.

      Ich möchte gerne folgendes umsetzen.

      Alle Fenster sollen bei Statusänderungen überprüft werden. Das bekomme ich hin.
      Wenn festgestellt wurde, dass ein Fenster geöffnet ist, soll nach 15 Minuten wieder überprüft werden, ob es immer noch geöffnet ist. Wenn ja, soll eine Benachrichtigung versendet werden.

      Ich könnte jetzt für jedes Fenster und für jede Tür ein Script schreiben und mit Intervall 15 Minuten dies realisieren.

      Frage: Kann man das auch in einem Script bewerkstelligen?

      Idee: Ein Script mit Threads damit die Überprüfung bei STATE Änderung weiter läuft. Aber wie geht das? Geht das überhaupt?
      Oder muss ich wirklich für jedes ein eigenes Script haben?

      Danke im Voraus.
      Sven

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #2

      @piro sagte:

      muss ich wirklich für jedes ein eigenes Script haben?

      Nein, aber für jedes Fenster einen eigenen Trigger und eine eigene Verzögerung (timeout) bzw. eigenes Intervall.

      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 Reply Last reply
      0
      • P piro

        Hallo zusammen,

        Iobroker ist echt genial. Bin seit 2 Wochen dabei. Sehr genial.

        Ich möchte gerne folgendes umsetzen.

        Alle Fenster sollen bei Statusänderungen überprüft werden. Das bekomme ich hin.
        Wenn festgestellt wurde, dass ein Fenster geöffnet ist, soll nach 15 Minuten wieder überprüft werden, ob es immer noch geöffnet ist. Wenn ja, soll eine Benachrichtigung versendet werden.

        Ich könnte jetzt für jedes Fenster und für jede Tür ein Script schreiben und mit Intervall 15 Minuten dies realisieren.

        Frage: Kann man das auch in einem Script bewerkstelligen?

        Idee: Ein Script mit Threads damit die Überprüfung bei STATE Änderung weiter läuft. Aber wie geht das? Geht das überhaupt?
        Oder muss ich wirklich für jedes ein eigenes Script haben?

        Danke im Voraus.
        Sven

        htreckslerH Offline
        htreckslerH Offline
        htrecksler
        Forum Testing
        wrote on last edited by
        #3

        @piro
        Das Script macht das was du möchtest.

        var idFensterAuf = "hm-rpc.0.NEQ1158xxx.1.STATE";
        var timer    = null;
        subscribe(idFensterAuf, function (obj) {
           if (obj.newState.val) {
              // Starte timer für 60 Minuten
              if (!timer) {
                 timer = setTimeout(function () {
                    timer = null;
                    //log("Fenster länger als 60 Minuten auf", 'warn');
                 }, 60*60000);
              }
           } else {
              // Fenster zugemacht. Falls timer läuft = stopp
              //log('Fenster geschlossen!', 'warn');
              if (timer) {
                 clearTimeout(timer);
                 timer = null;
              }
           }
        });
        
        

        Gruss Hermann

        ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

        1 Reply Last reply
        0
        • P Offline
          P Offline
          piro
          wrote on last edited by
          #4

          @htrecksler mit deinem Script würde ich es aber für jedes Fenster bzw. Tür erstellen müssen, oder?

          @paul53 Ok, es wäre dann ein Script aber ganz viele Trigger. Da geht auch die Übersichtlichkeit verloren.

          Aktuell arbeite ich mit dem Selector, um zu schauen, ob sich ein Zustand ändert.

          Ich versuche einfach mal ein Script und berücksichtige eure Hinweise.

          Trotzdem bin ich dankbar für weitere Hilfestellung

          paul53P 1 Reply Last reply
          0
          • P piro

            @htrecksler mit deinem Script würde ich es aber für jedes Fenster bzw. Tür erstellen müssen, oder?

            @paul53 Ok, es wäre dann ein Script aber ganz viele Trigger. Da geht auch die Übersichtlichkeit verloren.

            Aktuell arbeite ich mit dem Selector, um zu schauen, ob sich ein Zustand ändert.

            Ich versuche einfach mal ein Script und berücksichtige eure Hinweise.

            Trotzdem bin ich dankbar für weitere Hilfestellung

            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #5

            @piro sagte:

            ganz viele Trigger. Da geht auch die Übersichtlichkeit verloren.

            Alternative: Ein Array mit IDs und dazu ein Array mit Timer-Variablen.

            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

            paul53P 1 Reply Last reply
            0
            • P Offline
              P Offline
              piro
              wrote on last edited by
              #6

              oh, dass ist Neuland für mich. Ich versuche heute Abend mal mein Glück und werde es euch wissen lassen.

              B 1 Reply Last reply
              0
              • P piro

                oh, dass ist Neuland für mich. Ich versuche heute Abend mal mein Glück und werde es euch wissen lassen.

                B Offline
                B Offline
                BoehserWolf
                wrote on last edited by
                #7

                @piro Glaube das Script von @Pittini ist was du suchst.

                1 Reply Last reply
                0
                • paul53P paul53

                  @piro sagte:

                  ganz viele Trigger. Da geht auch die Übersichtlichkeit verloren.

                  Alternative: Ein Array mit IDs und dazu ein Array mit Timer-Variablen.

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by paul53
                  #8

                  @piro sagte:

                  Aktuell arbeite ich mit dem Selector

                  @paul53 sagte:

                  Array mit IDs und dazu ein Array mit Timer-Variablen.

                  Etwa so:

                  const STATEs = $('*.STATE');
                  const ids = [];
                  const timers = [];
                  
                  STATEs.each(function(id, i) {
                      ids[i] = id;
                  });
                  
                  on(ids, function(dp) {
                      let idx = ids.indexOf(dp.id);
                      if(dp.state.val) {
                          timers[idx] = setInterval(function() {
                              sendTo('telegram.0', 'Fenster ' + dp.common.name + ' ist mind. 15 Minuten offen');
                          }, 900000); // 15 Minuten
                      }
                      else if(timers[idx]) clearInterval(timers[idx]);
                  });
                  

                  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 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  381

                  Online

                  32.7k

                  Users

                  82.3k

                  Topics

                  1.3m

                  Posts
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                  ioBroker Community 2014-2025
                  logo
                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Home
                  • Recent
                  • Tags
                  • Unread 0
                  • Categories
                  • Unreplied
                  • Popular
                  • GitHub
                  • Docu
                  • Hilfe