Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Funktion: Prüfen, ob innerhalb eines Zeitfensters

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    204

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    7.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

Funktion: Prüfen, ob innerhalb eines Zeitfensters

Funktion: Prüfen, ob innerhalb eines Zeitfensters

Scheduled Pinned Locked Moved Skripten / Logik
11 Posts 7 Posters 4.8k 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.
  • B Offline
    B Offline
    Beatz
    wrote on last edited by
    #1

    Hallo Zusammen,

    ich habe über die globalen Funktionen eine JavaScript Funktion geschrieben, mittels der man prüfen kann, ob die aktuelle Zeit innerhalb eines Zeitfensters liegt. In meinem Fall verwende ich das beispielsweise beim Ausschalten des Fernsehers. Geschieht dies zwischen 21:30 Uhr und 5:00 Uhr gehe ich davon aus, dass ich schlafen gehe. Mit dieser Funktion können die Zeiträume auch tagesübergreifend gemacht werden.

    Funktionsaufruf

    on({
        id: "onkyo.0.system-power"/*system-power*/,
        change: "ne",
        val: "standby",
        logic: "and"
    }, function (obj) {
        if(isTimeInRange('21:30:00', '05:00:00')) {
            // Programm, wenn ich schlafen gehe (Licht ein und zeitverzögert aus. Schlafzimmerlicht gedimmt einschalten, Zirkulationsleitung zeitversetzt ausschalten.
        }
    

    Funktion (am besten als globales Script einbinden, damit es in jedem Script genutzt werden kann)

    function currentDate() {
        var d = new Date();
        return new Date(d.getFullYear(), d.getMonth(), d.getDate());
    }
    function addTime(strTime) {
        var time = strTime.split(':');
        var d = currentDate();
        d.setHours(time[0]);
        d.setMinutes(time[1]);
        d.setSeconds(time[2]);
        return d;
    }
    function isTimeInRange(strLower, strUpper) {
        var now = new Date();
        var lower = addTime(strLower);
        var upper = addTime(strUpper);
        var inRange = false;
        if (upper > lower) {
            // opens and closes in same day
            inRange = (now >= lower && now <= upper) ? true : false;
        } else {
            // closes in the following day
            inRange = (now >= upper && now <= lower) ? false : true;
        }
        return inRange;
    }
    
    1 Reply Last reply
    1
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      wrote on last edited by
      #2

      schönes Beispiel. Danke!

      Adapter: Fritzbox, Unify Circuit
      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

      1 Reply Last reply
      0
      • P Offline
        P Offline
        pix
        wrote on last edited by
        #3

        Super, kann ich gut gebrauchen. Vielen Dank.

        Gruß

        Pix

        Gesendet von meinem iPhone mit Tapatalk

        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

        1 Reply Last reply
        0
        • S Offline
          S Offline
          stephan61
          wrote on last edited by
          #4

          Hallo ich habe ein problem mit dem script

          habe das script Funktion als globales script angelegt

          script.js.innerhalb_Zeitfenster_global und aktiviert

          habe jetz ein neues script das die lichtscene bei einen bestimmten helligkeit und innnerhalb eines Zeitfenster einschalten soll aber es geht nicht

          on('hm-rpc.0.LEQ1282876.1.BRIGHTNESS', function (obj) {
          
              if (obj.newState.val < 190 && isTimeInRange('13:00:00', '22:00:00')) setState('scene.0.lichter', true);
             if (obj.newState.val > 220) setState('scene.0.lichter', false); 
          });
          

          was mache ich falsch Gruß Stephan

          1 Reply Last reply
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            wrote on last edited by
            #5

            isTimeInRange('13:00:00', '22:00:00') habe ich gechekt. Geht.

            Kannst du log einbauen?

            on('hm-rpc.0.LEQ1282876.1.BRIGHTNESS', function (obj) {
                console.log('BRIGHTNESS: ' + obj.newState.val + ', time: ' + isTimeInRange('13:00:00', '22:00:00'));
                if (obj.newState.val < 190 && isTimeInRange('13:00:00', '22:00:00')) setState('scene.0.lichter', true);
                if (obj.newState.val > 220) setState('scene.0.lichter', false); 
            });
            
            
            1 Reply Last reply
            0
            • S Offline
              S Offline
              stephan61
              wrote on last edited by
              #6

              Hallo Bluefox Fehler lag nicht am Script sondern am Bewegungsmelder

              Der Helligkeitswert wird nur alle 6 Minuten aktuallisiert und aus den letzten 8 werten ein mittelwert gebildet

              habe es eingestellt das der letze Wert genommen wird.

              wie kann ich den gesammten log eigentlich ansehen wenn ich iobroker aufrufen wird nur der log ab den aufruf angezeigt?

              Gruß Stephan

              und vielen Dank für den wahnsinnigen Einsatz hier im Forum

              1 Reply Last reply
              0
              • B Offline
                B Offline
                Beatz
                wrote on last edited by
                #7

                Hallo Stephan,

                schau mal ins Verzeichnis /opt/iobroker/logs.

                Da liegen die Log-Dateien der letzten sieben Tage.

                1 Reply Last reply
                0
                • P Offline
                  P Offline
                  pix
                  wrote on last edited by
                  #8

                  Hallo,

                  auf http://forum.iobroker.org/viewtopic.php?f=21&t=2620&sid=05378781a10e917095e547ff02dcc4e1&sid=05378781a10e917095e547ff02dcc4e1#p23104 hin, habe ich auch mal genau nach Deinem Vorbild isDateInRange gebastelt.

                  Siehe hier:

                  http://forum.iobroker.org/viewtopic.php … 20&p=23136

                  Gruß

                  Pix

                  ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                  1 Reply Last reply
                  0
                  • K Offline
                    K Offline
                    klassisch
                    Most Active
                    wrote on last edited by
                    #9

                    vielen Dank für das Skript, hat mir sehr geholfen.
                    Leider sind die Forenlinks von @pix einer Forenumstellung zum Opfer gefallen

                    N 1 Reply Last reply
                    0
                    • K klassisch

                      vielen Dank für das Skript, hat mir sehr geholfen.
                      Leider sind die Forenlinks von @pix einer Forenumstellung zum Opfer gefallen

                      N Offline
                      N Offline
                      Night2k5
                      wrote on last edited by
                      #10

                      @klassisch Gerade konnte man noch das .org durch .de ersetzen und wurde zum neuen Thread weitergeleitet.
                      Jetzt funktioniert es nicht mehr mit derFehlermeldung .

                      Cannot GET /viewtopic.php
                      

                      Egal, hier der Thread:
                      https://forum.iobroker.net/topic/2289/frage-istimeinrange-umschreiben-auf-datum/9

                      K 1 Reply Last reply
                      0
                      • N Night2k5

                        @klassisch Gerade konnte man noch das .org durch .de ersetzen und wurde zum neuen Thread weitergeleitet.
                        Jetzt funktioniert es nicht mehr mit derFehlermeldung .

                        Cannot GET /viewtopic.php
                        

                        Egal, hier der Thread:
                        https://forum.iobroker.net/topic/2289/frage-istimeinrange-umschreiben-auf-datum/9

                        K Offline
                        K Offline
                        klassisch
                        Most Active
                        wrote on last edited by
                        #11

                        @night2k5 vielen Dank!
                        Das sind halt immer die Kosten einer Forumsumstellung. Bei mir ist auch firefox nicht mehr wirklich nutzbar. Die Güterabwägung bei der Kosten-Nutzenanalyse fällt halt nicht überall gleich aus.

                        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

                        124

                        Online

                        32.4k

                        Users

                        81.3k

                        Topics

                        1.3m

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

                        • Don't have an account? Register

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