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. Variable Zeit/Schedule Funktion

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Variable Zeit/Schedule Funktion

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 3 Kommentatoren 4.1k 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.
  • coyoteC Offline
    coyoteC Offline
    coyote
    Most Active
    schrieb am zuletzt editiert von
    #1

    Hab ein kleines Script für ein Wakeup Light mit einer Hue:

    schedule("8 5 * * 1-5", function () {
        var schicht = getState("javascript.0.schichten").val;
        if(schicht === "Fruehschicht"); 
        setState("hue.0.Philips_hue.Hue_Nachttisch.command", '{"bri":"150","ct":"400","transitiontime":"600"}');  //langsam 
        log("Nachtischlampe Auto Ein");
        setStateDelayed("hue.0.Philips_hue.Hue_Nachttisch.command", '{"bri":"0","on":"off"}',  360000);
    });
    
    

    Stelle aber auch mittlerweile meinen Wecker über Vis mit einem "jqui-control-Input Datetime" Widget, die eingestellte Zeit wird in eine Variable eingetragen.

    Wie kann ich jetzt diese Zeit in der Variable nutzen, um damit das WAkeup Light variable einzuschalten?

    Frage 2: Muss ich das eigentlich so schreiben

        var schicht = getState("javascript.0.schichten").val;
        if(schicht === "Fruehschicht"); 
    

    oder sollte es so auch gehen

    if(getState("javascript.0.schichten").val === "Fruehschicht"); 
    

    Diese Variante sollte doch auch funktionieren, da "javascript.0.schichten" ja schon ne Variable ist.

    1 Antwort Letzte Antwort
    0
    • blauholstenB Offline
      blauholstenB Offline
      blauholsten
      Developer
      schrieb am zuletzt editiert von
      #2

      Hi,

      schau dir mal hier den VORLETZTEN Beitrag an, vielleicht ist das was für dich.

      http://forum.iobroker.de/viewtopic.php? … 0cd6147ee4

      Entwickler vom: - Viessman Adapter
      - Alarm Adapter

      1 Antwort Letzte Antwort
      0
      • coyoteC Offline
        coyoteC Offline
        coyote
        Most Active
        schrieb am zuletzt editiert von
        #3

        Also mit dem zweitletzten Post komm ich nicht so richtig klar, aber ich denke das script von paul53 kann ich dafür nutzen, also das script, dass du auch nutzt.

        Muss mal damit etwas rumspielen, aber denke das funktioniert. Brauche ja nur eine Funktion, die bei Variabler Zeit etwas auslöst, vllt geht das auch noch einfacher

        1 Antwort Letzte Antwort
        0
        • blauholstenB Offline
          blauholstenB Offline
          blauholsten
          Developer
          schrieb am zuletzt editiert von
          #4

          Das Skript von paul53, was ich auch nutze!(DANKE NOCHMAL) Funktioniert TOP, du has nur keine Möglichkeit auf Wochentage oder ähnliches zu reagieren zumindest nicht ohne weiteren Skript Aufwand.

          Entwickler vom: - Viessman Adapter
          - Alarm Adapter

          1 Antwort Letzte Antwort
          0
          • coyoteC Offline
            coyoteC Offline
            coyote
            Most Active
            schrieb am zuletzt editiert von
            #5

            Ach Mist, da hab ich gerade gar nicht dran gedacht. Stimmt, die Wochentage möchte ich ja auch mit rein nehmen.

            1 Antwort Letzte Antwort
            0
            • B Offline
              B Offline
              Brati
              schrieb am zuletzt editiert von
              #6

              Na dann würde ich dir schon mein Script (wurde ja bereits verlinkt) empfehlen. Jetzt läuft es perfekt, den Fehler das beim ersten Start die Zeit nicht gesetzt wurde, habe ich durch ändern/ zurückschreiben der Minuten Variable am Ende umgangen.

              function szeit() {
              // ##################### Wochenplan #####################
              //                         0     1     2     3     4    5     6      
              //                         M     D     M     D     F    S     S 
              //                         o     i     i     o     r    a     o
              //...................................................................
              var TagStunde = new Array("6",  "6",  "6",  "6",  "6", "9",  "9");     // Weckzeit: Stunde
              var TagMinute = new Array("30", "30", "45", "45", "30","00", "00");     // Weckzeit: Minute
              var WAktiv    = new Array("1",  "1",  "1",  "1",  "1", "0",  "0");      // Wecker Aktiv = 1, Wecker Aus = 0
              
                  var jetzt = new Date();
                  var tag = jetzt.getDay(); // Achtung Mo = 1, Arry beginnt aber bei 0 
                  if ( tag == "7" ) 
                      tag = "0"; 
                  if (WAktiv[tag] == "1") {
                      setState("Timer.Wecker.XXX.Aktiv", true);}
                      else {
                      setState("Timer.Wecker.XXX.Aktiv", false);}    
                  log ('Weckzeit XXX morgen: ' + TagStunde[tag] + ':' + TagMinute[tag] + ' Uhr');
                  setState("javascript.0.Timer.Wecker.XXX.Stunde",TagStunde[tag]);
                  setState("javascript.0.Timer.Wecker.XXX.Minute",TagMinute[tag]);
              
              }
              
              schedule("0 10 * * *", function (){              //      Zeitplan  - wird jeden Tag um 10:00 Uhr für nächsten Tag gesetzt
                  szeit();
                  });
              
              // ##################### variable ZEITSTEUERUNG #####################
              var He_Auf = "00 12 * * *";
              
              on(/^javascript.0.Timer.Wecker.XXX.Stunde|javascript.0.Timer.Wecker.XXX.Minute/, function(obj) {
                  clearSchedule(He_Auf);
                  var id_Stunde = getState("javascript.0.Timer.Wecker.XXX.Stunde").val,
              		id_Minute = getState("javascript.0.Timer.Wecker.XXX.Minute").val;
              	AufZeit = id_Minute + ' ' + id_Stunde + ' * * *';
                  log("HE Aufstehen geändert auf: " + AufZeit);
                  He_Auf = schedule(AufZeit, function(){
                      var WStatus = getState("Timer.Wecker.XXX.Aktiv").val;
                      if (WStatus === true) {
                      setStateDelayed(".......... bzw hier das Kommando einfügen;}
              
                  });
              });
              
              createState("Timer.Wecker.XXX.Stunde");
              createState("Timer.Wecker.XXX.Minute");
              createState("Timer.Wecker.XXX.Aktiv");
              var Temp_Minute = getState("Timer.Wecker.XXX.Minute").val;
              setState("Timer.Wecker.XXX.Minute", 59);
              setState("Timer.Wecker.XXX.Minute", Temp_Minute);
              

              709_zwischenablage01.jpg

              Grüße

              Brati

              CCU2 - 46 Geräte, ioBroker auf Intel NUC (DN2820FYKH) mit Tab als Frontend, Projekt Gartenhaus mit HM

              1 Antwort Letzte Antwort
              0
              • coyoteC Offline
                coyoteC Offline
                coyote
                Most Active
                schrieb am zuletzt editiert von
                #7

                Ja ich werde mir dein Script nochmal genauer ansehen. Hab da noch nicht so den Durchblick ;-) Ich probiere einfach mal aus

                Gesendet von meinem Nexus 5X mit Tapatalk

                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

                725

                Online

                32.6k

                Benutzer

                82.2k

                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