Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. [Gelöst] Frage zu compareTime

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    844

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.5k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.8k

[Gelöst] Frage zu compareTime

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 5 Kommentatoren 3.7k 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.
  • PeoplesP Offline
    PeoplesP Offline
    Peoples
    schrieb am zuletzt editiert von
    #1

    Hi,

    ich habe mal eine Frage zu der Verwendung von compareTime:

    Wenn ich zwischen 20 Uhr Abends und 9 Uhr Früh den "Schlafmodus" via Tabletbutton einschalten möchte funktioniert das von 20 - 24 Uhr, jedoch nicht mehr von 00:00 - 9 Uhr. Aktuell nutze ich einen Workaround doch begreifen warum das nicht geht oder was ich falsch mache will ich nicht so ganz.

    Hier mal der Codeschnippsel:

    // Schlafen nacht aktiv schalten
    on("javascript.0.Schlafmodus.Schlafmodus_Status", function(dp) {
        if(getState("javascript.0.Schlafmodus.Schlafmodus_Status").val && compareTime("20:00", "09:00", "between") && getState("javascript.0.Automation.Automatikfunktioen").val) 
        {
         sprachausgabe("SchlafmodusNachtEin");
    
         setStateDelayed("hm-rpc.0.NEQXXXX.4.MANU_MODE", 18,  1000);
         setStateDelayed("hm-rpc.0.MEQXXXX.4.MANU_MODE", 18,  2000);
         setStateDelayed("hm-rpc.0.NEQXXXX.4.MANU_MODE", 4.5,  3000);
         setStateDelayed("hm-rpc.0.MEQXXXX.4.MANU_MODE", 19.5,  4000);
         setStateDelayed("hm-rpc.0.MEQXXXX.4.MANU_MODE", 19.5,  5000);
         setStateDelayed("hm-rpc.0.MEQXXXX.4.MANU_MODE", 19.5,  6000);
         setStateDelayed("hm-rpc.0.MEQXXXX.4.MANU_MODE", 19.5,  7000);
         setStateDelayed("hm-rpc.0.MEQXXXX.4.MANU_MODE", 19.5,  8000);
    
         setStateDelayed("hm-rpc.0.NEQXXXX.2.MANU_MODE", 19.5,  9000);
    
         log("Schlafmodus Nachts eingeschalten");
        }
    });
    

    Wenn ich es so mache funktionierts:

    (compareTime("20:00", "24:00", "between") || compareTime("00:00", "09:00", "between"))
    

    Vielleicht kann mir hier mal jemand auf die Sprünge helfen.

    Merci

    Peoples

    Ich beantworte keine Fragen zu Themen via PN

    1 Antwort Letzte Antwort
    0
    • bahnuhrB Online
      bahnuhrB Online
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      compareTime kenne ich nicht.

      Ich mache dies mit dem Script von der iobroker seite:

      http://www.iobroker.net/docu/?page_id=3708&lang=de

      Dieses habe ich als globales Script bei mir hinterlegt.

      In meinen anderen Scripten prüfe ich dann ob das Script bei Ausführung innerhalb der Zeit ist:

      var Zeit1 = isTimeInRange('06:00:00', '21:00:00');

      Wenn wir innerhalb der Zeit sind, dann true.

      Also in deinem Fall:

      o.g. Script als global hinterlegen.

      Dann in deinem Script:

      var Zeit1 = isTimeInRange('09:00:00', '20:00:00');

      Wenn das Ergebnis dann false, dann bist du in deinem Zeitraum 20-09 Uhr.

      mfg


      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
      Danke.
      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
      ScreenToGif :https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        pix
        schrieb am zuletzt editiert von
        #3

        Hallo,

        ich mache das auch wie bahnuhr mit isTimeInRange.

        Hast du den Tippfehler in deinem Code gesehen?

        Automatikfunktioen
        

        Vielleicht bringt der etwas durcheinander? 8-)

        Gruß´

        Pix

        EDIT:

        Du kannst die on()-Funktion etwas abkürzen:

        // Schlafen nacht aktiv schalten
        on("javascript.0.Schlafmodus.Schlafmodus_Status", function(dp) {
            if(dp.state.val && compareTime("20:00", "09:00", "between") && getState("javascript.0.Automation.Automatikfunktioen").val) 
            {
        
        

        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
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @peoples:

          Wenn ich zwischen 20 Uhr Abends und 9 Uhr Früh den "Schlafmodus" via Tabletbutton einschalten möchte funktioniert das von 20 - 24 Uhr, jedoch nicht mehr von 00:00 - 9 Uhr. `
          Der Fehler wurde im JS-Adapter korrigiert, aber noch nicht in der npm-Version. Installiere bitte den JS-Adapter von github !

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

          1 Antwort Letzte Antwort
          0
          • ldittmarL Offline
            ldittmarL Offline
            ldittmar
            Developer
            schrieb am zuletzt editiert von
            #5

            Ich nutze auch die compareTime Funktion und finde es echt cool, denn man kann auch sowas wie compareTime("dusk", "dawn", "between") schreiben… aber auch ich hab das Problem, dass ab 00:00 Uhr nichts mehr geht. Das scheint ein Bug zu sein. Ich schaue mir mal die Funktion compareTime an und melde mich wenn es gefixt ist. ;)

            Grüße,

            ldittmar

            Edit: Da war jemand schneller 8-) - ist gefixt!

            1 Antwort Letzte Antwort
            0
            • PeoplesP Offline
              PeoplesP Offline
              Peoples
              schrieb am zuletzt editiert von
              #6

              Ihr seid die "Wucht in Dosen"!

              Habe das Update von Github installiert und werde heute Abend sehen ob alles klappt.

              Danke schon mal hierfür.

              @Pix

              Der Schreibfehler hat keine Fehler verursacht, da ich Ihn konsequent überall in jedem script gemacht habe :lol:

              Und den Tipp mit dem "kürzen" habe ich auch gleich umgesetzt.

              Auch hierfür Danke

              Ich beantworte keine Fragen zu Themen via PN

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

                @bahnuhr:

                Dann in deinem Script:

                var Zeit1 = isTimeInRange('09:00:00', '20:00:00');

                Wenn das Ergebnis dann false, dann bist du in deinem Zeitraum 20-09 Uhr. `
                Diese Methode funktioniert auch mit dem nicht korrigierten compareTime()

                    if(getState("javascript.0.Schlafmodus.Schlafmodus_Status").val && !compareTime("09:00", "20:00", "between") && getState("javascript.0.Automation.Automatikfunktioen").val)
                
                

                oder

                    if(getState("javascript.0.Schlafmodus.Schlafmodus_Status").val && compareTime("09:00", "20:00", "not between") && getState("javascript.0.Automation.Automatikfunktioen").val)
                
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

                1 Antwort Letzte Antwort
                0

                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                Registrieren Anmelden
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                236

                Online

                33.0k

                Benutzer

                83.5k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2026
                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