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. JavaScript
  5. Scheduler: Übersicht

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Scheduler: Übersicht

Geplant Angeheftet Gesperrt Verschoben JavaScript
4 Beiträge 2 Kommentatoren 194 Aufrufe 1 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.
  • D Offline
    D Offline
    derrapf
    schrieb am zuletzt editiert von derrapf
    #1

    Hallo alle
    Ich habe mir einen Wecker programmiert in dem ich bei Änderung der Weckzeit dieses Programm starte

    function schedule_wecker1()
    {
    
        log(" Scheduler an für Wecker1:"+getState("Manuelle_Datenpunkte.0.Wecker.Wecker1_h").val.toString().trim() + ':' + 
                                         getState("Manuelle_Datenpunkte.0.Wecker.Wecker1_min").val.toString().trim()+" Uhr" );
        if (schedule1) {
             clearSchedule(schedule1);  
             schedule1 = null;
        }
        schedule1 = schedule(getState("Manuelle_Datenpunkte.0.Wecker.Wecker1_min").val.toString().trim() + ' ' + 
                                      getState("Manuelle_Datenpunkte.0.Wecker.Wecker1_h").val.toString().trim() + '  * * *', async function () 
         {
          var radio_an = getState('Manuelle_Datenpunkte.0.Wecker.Wecker1_Radio').val
          log ("-----WECKER: Wecker1 check:-------- State Radio = "+ radio_an);
          if (radio_an)
          {
            log ("  Wecker 1: Musik an");
            setState(echo+".Player.volume"        , getState("Manuelle_Datenpunkte.0.Wecker.Wecker1_Volume").val);
            setStateDelayed(echo+".Player.TuneIn-Station", getState("Manuelle_Datenpunkte.0.Wecker.Wecker1_Sender").val, 5000, false);
          }
          setState("Manuelle_Datenpunkte.0.Wecker.Wecker1_Toggle",false);
    
        });
    }
    

    Ich setze also über schedule(...) die Weckzeit, die ich wiederum im VIS einstelle.
    Soweit so gut und das funktioniert auch.

    Es funktioniert aber nicht mehr, wenn ich nach dem Stellen der Weckzeit irgendwas noch im IOBroker manipuliere. Gestern habe ich z.B. noch andere Scripten geändert; ich habe Adapter installiert usw.

    Kann es sein, dass bei irgend solchen Aktionen der Scheduler gelöscht wird?

    Und wenn ja:

    • Wie kann ich das sehen?
    • Gibt es eine Übersicht über die durch schedule() erzeugten Cron-Jobs?
    • Kann man die vielleicht sogar im VIS anzeigen lassen?

    Ich habe heute einen Termin verpasst weil der Scheduler nicht funktionierte. Das ist schlecht wenn man sich nicht drauf verlassen kann. Sonst müsste ich mich wieder über die Alexa-App wecken lassen.

    Gruss Ralf

    paul53P 1 Antwort Letzte Antwort
    0
    • D derrapf

      Hallo alle
      Ich habe mir einen Wecker programmiert in dem ich bei Änderung der Weckzeit dieses Programm starte

      function schedule_wecker1()
      {
      
          log(" Scheduler an für Wecker1:"+getState("Manuelle_Datenpunkte.0.Wecker.Wecker1_h").val.toString().trim() + ':' + 
                                           getState("Manuelle_Datenpunkte.0.Wecker.Wecker1_min").val.toString().trim()+" Uhr" );
          if (schedule1) {
               clearSchedule(schedule1);  
               schedule1 = null;
          }
          schedule1 = schedule(getState("Manuelle_Datenpunkte.0.Wecker.Wecker1_min").val.toString().trim() + ' ' + 
                                        getState("Manuelle_Datenpunkte.0.Wecker.Wecker1_h").val.toString().trim() + '  * * *', async function () 
           {
            var radio_an = getState('Manuelle_Datenpunkte.0.Wecker.Wecker1_Radio').val
            log ("-----WECKER: Wecker1 check:-------- State Radio = "+ radio_an);
            if (radio_an)
            {
              log ("  Wecker 1: Musik an");
              setState(echo+".Player.volume"        , getState("Manuelle_Datenpunkte.0.Wecker.Wecker1_Volume").val);
              setStateDelayed(echo+".Player.TuneIn-Station", getState("Manuelle_Datenpunkte.0.Wecker.Wecker1_Sender").val, 5000, false);
            }
            setState("Manuelle_Datenpunkte.0.Wecker.Wecker1_Toggle",false);
      
          });
      }
      

      Ich setze also über schedule(...) die Weckzeit, die ich wiederum im VIS einstelle.
      Soweit so gut und das funktioniert auch.

      Es funktioniert aber nicht mehr, wenn ich nach dem Stellen der Weckzeit irgendwas noch im IOBroker manipuliere. Gestern habe ich z.B. noch andere Scripten geändert; ich habe Adapter installiert usw.

      Kann es sein, dass bei irgend solchen Aktionen der Scheduler gelöscht wird?

      Und wenn ja:

      • Wie kann ich das sehen?
      • Gibt es eine Übersicht über die durch schedule() erzeugten Cron-Jobs?
      • Kann man die vielleicht sogar im VIS anzeigen lassen?

      Ich habe heute einen Termin verpasst weil der Scheduler nicht funktionierte. Das ist schlecht wenn man sich nicht drauf verlassen kann. Sonst müsste ich mich wieder über die Alexa-App wecken lassen.

      Gruss Ralf

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @derrapf
      Ist das das gesamte Skript? Ich sehe nur eine Funktion, die nirgends aufgerufen wird.

      @derrapf sagte: Gibt es eine Übersicht über die durch schedule() erzeugten Cron-Jobs?

      getSchedules(true)

      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

      D 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @derrapf
        Ist das das gesamte Skript? Ich sehe nur eine Funktion, die nirgends aufgerufen wird.

        @derrapf sagte: Gibt es eine Übersicht über die durch schedule() erzeugten Cron-Jobs?

        getSchedules(true)

        D Offline
        D Offline
        derrapf
        schrieb am zuletzt editiert von derrapf
        #3

        @paul53
        Hallo Paul
        Nee, das ist natürlich nur die Funktion die den Scheduler setzt.

        Danke für den Tip mit getSchedules. Mal sehen wie ich den in VIS einbauen kann..
        edit: Hab den grad mal ausprobiert (direkt aus der Doku rauskopiert).
        IOBroker kennt den gar nicht. Die Adapter sind alle upgedatet:

        034c1bac-8f9f-4440-81ee-3a154271524f-grafik.png
        Funktionieren tut der Befehl aber komischerweise trotzdem..

        Das Beispiel

         const list = getSchedules(true);
            list.forEach(schedule => console.log("Scheduler für Wecker: " +JSON.stringify(schedule)));
        

        liefert einen JSON String.
        Wie krieg ich da jetzt die Uhrzeit raus?

        Gruss Ralf

        D 1 Antwort Letzte Antwort
        0
        • D derrapf

          @paul53
          Hallo Paul
          Nee, das ist natürlich nur die Funktion die den Scheduler setzt.

          Danke für den Tip mit getSchedules. Mal sehen wie ich den in VIS einbauen kann..
          edit: Hab den grad mal ausprobiert (direkt aus der Doku rauskopiert).
          IOBroker kennt den gar nicht. Die Adapter sind alle upgedatet:

          034c1bac-8f9f-4440-81ee-3a154271524f-grafik.png
          Funktionieren tut der Befehl aber komischerweise trotzdem..

          Das Beispiel

           const list = getSchedules(true);
              list.forEach(schedule => console.log("Scheduler für Wecker: " +JSON.stringify(schedule)));
          

          liefert einen JSON String.
          Wie krieg ich da jetzt die Uhrzeit raus?

          Gruss Ralf

          D Offline
          D Offline
          derrapf
          schrieb am zuletzt editiert von derrapf
          #4

          Habs hinbekommen. Geht ja ganz einfach:
          schedule.pattern liefert die Uhrzeit.
          Gruss Ralf

          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

          773

          Online

          32.6k

          Benutzer

          82.1k

          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