From a488a6bf8052ac2739edde388066a1e478dd91c2 Mon Sep 17 00:00:00 2001 From: Guy Martin Date: Sun, 15 Nov 2015 21:32:57 -0800 Subject: [PATCH 1/2] Unschedule Timers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This change puts in logic to unschedule delayed off if the state being tested for (true or false) is reached. This is most useful for things like ‘delay off after n minutes and motion stopped.’ --- .gitignore | 2 ++ Rule | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a97fa56 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ + +*.swp diff --git a/Rule b/Rule index ced80ca..dfe61bd 100644 --- a/Rule +++ b/Rule @@ -566,6 +566,7 @@ def runRule() { def success = eval() if(success != state.success) { if(success) { + if(delayedOffFalse) unschedule("delayOffFalse") if(onSwitchTrue) onSwitchTrue.on() if(offSwitchTrue) offSwitchTrue.off() if(delayedOffTrue) runIn(delayMinutesTrue * 60, delayOffTrue) @@ -578,6 +579,7 @@ def runRule() { if(pushTrue) sendPush(msgTrue ?: "Rule $app.label True") if(phoneTrue) sendSms(phoneTrue, msgTrue ?: "Rule $app.label True") } else { + if(delayedOffTrue) unschedule("delayOffTrue") if(onSwitchFalse) onSwitchFalse.on() if(offSwitchFalse) offSwitchFalse.off() if(delayedOffFalse) runIn(delayMinutesFalse * 60, delayOffFalse) From 010e185419a84ee8c1a3ad19dd6f975b8c92cdf0 Mon Sep 17 00:00:00 2001 From: Guy Martin Date: Sat, 28 Nov 2015 15:25:51 -0800 Subject: [PATCH 2/2] gitignore --- .gitignore | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitignore b/.gitignore index a97fa56..bf953dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,8 @@ *.swp + +Rule.1.1.14 + +Rule.1.106.O + +Rule.old