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

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Funktion: Prüfen, ob innerhalb eines Zeitfensters

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
11 Beiträge 7 Kommentatoren 4.8k 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.
  • B Offline
    B Offline
    Beatz
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    1
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      schrieb am zuletzt editiert von
      #2

      schönes Beispiel. Danke!

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

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        pix
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          stephan61
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              stephan61
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • B Offline
                B Offline
                Beatz
                schrieb am zuletzt editiert von
                #7

                Hallo Stephan,

                schau mal ins Verzeichnis /opt/iobroker/logs.

                Da liegen die Log-Dateien der letzten sieben Tage.

                1 Antwort Letzte Antwort
                0
                • P Offline
                  P Offline
                  pix
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • K Offline
                    K Offline
                    klassisch
                    Most Active
                    schrieb am zuletzt editiert von
                    #9

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

                    N 1 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 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

                        352

                        Online

                        32.4k

                        Benutzer

                        81.4k

                        Themen

                        1.3m

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

                        • Du hast noch kein Konto? Registrieren

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