Hallo,
ich möchte mehrere Aktionen bei einer eingestellten Weckzeit am Handy ausführen. Mit der folgenden Rule klappt das auch sehr gut und zuverlässig. Ich hätte aber gern das die Aktionen schon 1-5min vor der eingestellten Weckzeit starten, ist das möglich und kann mir jemand einen Tipp dazu geben?
var Timer timerAlarm = null
rule "Alarm Clock"
when
Item wzAlarmClock changed
then
if (wzAlarmClock.state as Number == 0) {
if (timerAlarm !== null) {
timerAlarm.cancel
timerAlarm = null
}
logInfo("alarm", "All alarms are cancelled")
} else {
var epoch = new DateTime((wzAlarmClock.state as Number).longValue)
logInfo("alarm", "Scheduling alarm for " + epoch.toString)
if (timerAlarm !== null) {
logInfo("alarm", "Reschedule alarm")
timerAlarm.reschedule(epoch)
} else {
logInfo("alarm", "New Alarm")
timerAlarm = createTimer(epoch, [ k |
// Turn on stuff, e.g. radio or light
logInfo("alarm", "alarm is expired")
sendCommand(schlafzimmer_ambiente_strip_dimmer, "10")
]
)
}
}
end
ich möchte mehrere Aktionen bei einer eingestellten Weckzeit am Handy ausführen. Mit der folgenden Rule klappt das auch sehr gut und zuverlässig. Ich hätte aber gern das die Aktionen schon 1-5min vor der eingestellten Weckzeit starten, ist das möglich und kann mir jemand einen Tipp dazu geben?
var Timer timerAlarm = null
rule "Alarm Clock"
when
Item wzAlarmClock changed
then
if (wzAlarmClock.state as Number == 0) {
if (timerAlarm !== null) {
timerAlarm.cancel
timerAlarm = null
}
logInfo("alarm", "All alarms are cancelled")
} else {
var epoch = new DateTime((wzAlarmClock.state as Number).longValue)
logInfo("alarm", "Scheduling alarm for " + epoch.toString)
if (timerAlarm !== null) {
logInfo("alarm", "Reschedule alarm")
timerAlarm.reschedule(epoch)
} else {
logInfo("alarm", "New Alarm")
timerAlarm = createTimer(epoch, [ k |
// Turn on stuff, e.g. radio or light
logInfo("alarm", "alarm is expired")
sendCommand(schlafzimmer_ambiente_strip_dimmer, "10")
]
)
}
}
end