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?
- schedule: Ein, 2. schedule: Aus
-
@doctorultra
Oder willst Du ihn zu einer bestimmten Zeit für eine bestimmte Zeit laufen lassen?
Dann geht auch sowason({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?