Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Schedule

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Schedule

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      fuchs1978 last edited by

      Ich habe eine Frage zu Schedule. Ich möchte damit die Sollwerte meiner Heizung steuern. Für Werktags und Wochenende habe ich verschiedene Zeiten an denen die Heizung anfährt. Das kann ich mit Schedule ja auch gut lösen. Mein aktuelles Problem, ich habe eine Variable Zuhause, hier wird aus dem Kalender gelesen, ob ich Urlaub habe oder nicht. Habe ich an einem Werktag Urlaub soll das Schedule bzw. die Zeiten vom Wochenende gefahren werden. Kann mir da mal jemand eine Richtung weisen?

      Ich habe es erstmal über zwei functionen gelöst, die innerhalb wochenende abfragen. Für schlauere Tipps bin ich aber trotzdem dankbar um zu lernen 😉

      1 Reply Last reply Reply Quote 0
      • BuZZy
        BuZZy last edited by

        Moin,

        wie sieht dein Script denn bis jetzt aus?

        Ich würde das setzen der Schedules in eine Funktion packen welche vor dem eigentlichen setzen der schedules prüft ob Urlaub true oder false ist und dementsprechend reagiert.

        Wenn Urlaub false und Wochenende false dann schedule anlegen mit Wochenzeit. Wenn Urlaub true oder Wochenende true dann schedule mit Wochenendzeit setzen.

        Gruß

        1 Reply Last reply Reply Quote 0
        • F
          fuchs1978 last edited by

          Ich hatte schon probiert den cron als String zu übergeben, leider klappt das nicht. Es wird immer nur der cron ausgeführt der bei starten drin steht. Schedule in eine Funktion müsste man nochmal testen ob das geht.

          Ich habe es aktuell so, dass ich zwei Funktionen gemacht habe.

          funktion wochenende prüft ob zuhause und wochenende und führt nur dann aus

          funktion werktag prüft und führt dann nicht aus.

          Über schedule dann der jeweilige aufruf zu unterschiedlichen zeiten.

          1 Reply Last reply Reply Quote 0
          • BuZZy
            BuZZy last edited by

            Also bei mir gehts..

            Ich setze die Zeit für mein Schedule sogar aus mehreren Datenpunkten zusammen.

            (Minute und Stunde wann ausgeführt werden soll steht in verschiedenen Datenpunkten)..

            Wie gesagt, wäre es hilfreich zu wissen wie dein Script denn nun aussieht?

            Gruß

            1 Reply Last reply Reply Quote 0
            • F
              fuchs1978 last edited by

              schedule("0 19 * * *", function(){konnexwe("knx.0.Heizungssteuerung_OG.Bad.KONNEX_",1)});
              schedule("0 23 * * *", function(){konnexwe("knx.0.Heizungssteuerung_OG.Bad.KONNEX_",3)});
              
              function konnex(id,state,sperrid,sperrstate)  {
                  if (getState("knx.0.Zentralfunktionen.Zeitfunktionen.Feiertag").val == false){
                      setState(id,state); 
                      log(idname(id)+": "+statename(state));
                      if (arguments.length>2) {
                          setState(sperrid,sperrstate);
                          log(idname(id)+": "+sperrstate);
                      }
                  } 
              }
              
              function konnexwe(id,state,sperrid,sperrstate)  {
                  if (getState("knx.0.Zentralfunktionen.Zeitfunktionen.Feiertag").val == true){
                      setState(id,state); 
                      log(idname(id)+": "+statename(state));
                      if (arguments.length>2) {
                          setState(sperrid,sperrstate);
                          log(idname(id)+": "+sperrstate);
                      }
                  }
              }
              
              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 last edited by

                Man kann auf den Feiertag triggern und das Schedule anpassen.

                var sched1 = null;  // Schedule-Objekt für Wochen-/Feiertage
                
                function konnex(...) {
                   ...
                }
                
                schedule('0 23 * * 6,7', function() {  // Wochenende
                   konnex(...);
                });
                
                on('knx.0.Zentralfunktionen.Zeitfunktionen.Feiertag', function(dp) {
                    if(sched1) clearSchedule(sched1);
                    if(dp.state.val) {  // Feiertag
                       sched1 = schedule('0 23 * * 1-5', function() {
                           konnex(...);
                       });
                    } else { 
                       sched1 = schedule('0 19 * * 1-5', function() {
                           konnex(...);
                       });
                    }
                });    
                
                
                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                572
                Online

                31.7k
                Users

                79.8k
                Topics

                1.3m
                Posts

                3
                6
                1147
                Loading More Posts
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes
                Reply
                • Reply as topic
                Log in to reply
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                The ioBroker Community 2014-2023
                logo