NEWS

Schedule per Script mit Start und Endzeit


  • Hallo,

    irgendwie bin ich zu blöd 😞
    Aber wie kann man Start und Endzeit eingeben, ich möchte gern meinen Rasenspränger im zur bestimmten Zeit bis zu einer bestimmten Zeit laufen lassen?

    schedule("0 6 * * 0,2,6",function () {
    
        
    });
    

  • @doctorultra sagte:

    Rasenspränger im zur bestimmten Zeit bis zu einer bestimmten Zeit laufen lassen?

    1. schedule: Ein, 2. schedule: Aus

  • @doctorultra
    Oder willst Du ihn zu einer bestimmten Zeit für eine bestimmte Zeit laufen lassen?
    Dann geht auch sowas

    on({time: {hour: 17, minute: 30}},function () {
    setState('Rasensprenger', true); 
    setStateDelayed('Rasensprenger', false,  1800000); /* setzt nach 30 Minuten  auf false */
    log((new Date()).toString() + " - Rasensprenger läuft für 30 Minuten!");
    });
    

    Ansonsten wie Paul53 sagt

    on({time: {hour: 17, minute: 30}},function () {
    setState('Rasensprenger', true); 
    });
    on({time: {hour: 18, minute: 00}},function () {
    setState('Rasensprenger', false); 
    });
    

  • ok super, wie könnte man das komfortabler anstellen, z. B. aktuell mache ich das mit eine Philips Hue Steckdose scheduled über Routinen in der Philips App. Über den Script checke ich während der Rasensprenger an ist, ob er läuft und ob es regnet, wenn ja deaktiviere ich den Rasensprenger.
    Wie könnte man das am elegantesten lösen, weil im Script kann ich leider nicht von der Ferne die Zeit ändern ?


  • @doctorultra sagte:

    von der Ferne die Zeit ändern

    In welcher Form liegt die Zeit vor, die Du aus der Ferne ändern kannst ?


  • Was meinst du damit, ich möchte vielleicht von der Ferne mal z. B. von 06:30 auf 07:30 ändern?


  • @doctorultra sagte:

    z. B. von 06:30 auf 07:30 ändern

    Also den Wert eines Datenpunktes von 06:30 auf 07:30 änderm ? Dann z.B. so

    // IDs eintragen !
    const idStart = '...'; // ID des Datenpunktes mit der Startzeit in "hh:mm"
    const idAktor = '...'; // ID des Aktor-Datenpunktes
    
    var schedStart = null;
    var start = getState(idStart).val.split(':');
    schedStart = schedule(start[1] + ' ' + start[0] + ' * * *', function() {
       setState(idAktor, true);
    });
    
    on(idStart, function(dp) {
       start = dp.state.val.split(':');
       if(schedStart) clearSchedule(schedStart);
       schedStart = schedule(start[1] + ' ' + start[0] + ' * * *', function() {
          setState(idAktor, true);
       });
    });
    
    // usw. für Stopp   
    

  • Ok werde ich mal ausprobieren, das muss jetzt wahrscheinlich irgendwie vom VIS kommen oder?
    Ein Startzeitfeld und Endzeitfeld oder gibt es da ein Kalender zum füttern?

Suggested Topics

945
Online

35.0k
Users

41.0k
Topics

562.4k
Posts