I just ran some tests in my shop using levels on a dimmer to represent changes. (or specifically, stays unchanged)
Here is what I discovered about the trigger “IF X stays unchanged for Y duration”
When X changes the first time, it starts the Y timer
Subsequent X changes will trigger, but not take action
When Y timer expires, then action takes place (regardless)
We can possibly insert a check at that point to verify, but it sounds like a lot of hassle. (especially since the timer does not restart with the subsequent changes)
I’ve tried the simswitch idea. The button toggles on and off periodically.
After reading your findings above, am I to assume that my days of head-scratching are warranted, and this approach (stays unchanged) is somehow broken ?
edit… here’s the longer log, including the stays_unchanged = false
5/23/2020, 8:54:56 PM +970ms
+1ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 93ms
+209ms ║RunTime Analysis CS > 24ms > PS > 143ms > PE > 41ms > CE
+211ms ║Runtime (40256 bytes) successfully initialized in 143ms (v0.3.110.20191009) (209ms)
+212ms ║╔Execution stage started
+220ms ║║Comparison (dynamic) 1590263696541 stays_unchanged = true (0ms)
+222ms ║║Adding a timed trigger schedule for condition 12
+224ms ║║Cancelling condition #12's schedules...
+225ms ║║Condition #12 evaluated false (8ms)
+227ms ║║Cancelling condition #11's schedules...
+228ms ║║Condition group #11 evaluated false (state changed) (10ms)
+233ms ║║Comparison (dynamic) 1590263696541 changes = true (0ms)
+234ms ║║Cancelling condition #18's schedules...
+235ms ║║Condition #18 evaluated true (4ms)
+237ms ║║Cancelling condition #17's schedules...
+238ms ║║Condition group #17 evaluated true (state changed) (8ms)
+240ms ║║Cancelling statement #19's schedules...
+259ms ║║Executed physical command [Fib3_test_topbathroom].on() (15ms)
+261ms ║║Executed [Fib3_test_topbathroom].on (17ms)
+264ms ║╚Execution stage complete. (51ms)
+265ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:56:57 PM BST (in 119.957s)
+273ms ╚Event processed successfully (273ms)
5/23/2020, 8:54:27 PM +121ms
+1ms ╔Received event [Home].time = 1590263667582 with a delay of -462ms
+217ms ║RunTime Analysis CS > 23ms > PS > 155ms > PE > 39ms > CE
+219ms ║Runtime (40217 bytes) successfully initialized in 155ms (v0.3.110.20191009) (217ms)
+220ms ║╔Execution stage started
+226ms ║║Cancelling condition #12's schedules...
+227ms ║║Condition #12 evaluated true (1ms)
+228ms ║║Cancelling condition #11's schedules...
+229ms ║║Condition group #11 evaluated true (state changed) (3ms)
+231ms ║║Cancelling statement #15's schedules...
+250ms ║║Executed physical command [Fib3_test_topbathroom].off() (16ms)
+251ms ║║Executed [Fib3_test_topbathroom].off (18ms)
+256ms ║║Comparison (dynamic) 1590263654428 changes = false (1ms)
+257ms ║║Cancelling condition #18's schedules...
+259ms ║║Condition #18 evaluated false (4ms)
+260ms ║║Cancelling condition #17's schedules...
+261ms ║║Condition group #17 evaluated false (state changed) (7ms)
+263ms ║╚Execution stage complete. (43ms)
+264ms ╚Event processed successfully (264ms)
5/23/2020, 8:54:14 PM +921ms
+1ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 79ms
+196ms ║RunTime Analysis CS > 20ms > PS > 142ms > PE > 33ms > CE
+198ms ║Runtime (40253 bytes) successfully initialized in 142ms (v0.3.110.20191009) (196ms)
+200ms ║╔Execution stage started
+207ms ║║Comparison (dynamic) 1590263654428 stays_unchanged = true (2ms)
+210ms ║║Condition #12 evaluated false (5ms)
+211ms ║║Condition group #11 evaluated false (state did not change) (7ms)
+217ms ║║Comparison (dynamic) 1590263654428 changes = true (2ms)
+218ms ║║Condition #18 evaluated true (5ms)
+219ms ║║Condition group #17 evaluated true (state did not change) (6ms)
+221ms ║║Cancelling statement #19's schedules...
+227ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (2ms)
+227ms ║║Executed [Fib3_test_topbathroom].on (3ms)
+230ms ║╚Execution stage complete. (31ms)
+231ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:54:27 PM BST (in 12.43s)
+246ms ╚Event processed successfully (246ms)
5/23/2020, 8:53:53 PM +814ms
+1ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 84ms
+203ms ║RunTime Analysis CS > 24ms > PS > 144ms > PE > 34ms > CE
+205ms ║Runtime (40253 bytes) successfully initialized in 144ms (v0.3.110.20191009) (204ms)
+206ms ║╔Execution stage started
+213ms ║║Comparison (dynamic) 1590263633408 stays_unchanged = true (0ms)
+216ms ║║Condition #12 evaluated false (4ms)
+217ms ║║Condition group #11 evaluated false (state did not change) (6ms)
+222ms ║║Comparison (dynamic) 1590263633408 changes = true (1ms)
+223ms ║║Condition #18 evaluated true (3ms)
+225ms ║║Condition group #17 evaluated true (state did not change) (5ms)
+227ms ║║Cancelling statement #19's schedules...
+233ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (3ms)
+234ms ║║Executed [Fib3_test_topbathroom].on (5ms)
+237ms ║╚Execution stage complete. (31ms)
+238ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:54:27 PM BST (in 33.53s)
+248ms ╚Event processed successfully (248ms)
5/23/2020, 8:53:11 PM +809ms
+0ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 62ms
+181ms ║RunTime Analysis CS > 24ms > PS > 118ms > PE > 38ms > CE
+184ms ║Runtime (40253 bytes) successfully initialized in 118ms (v0.3.110.20191009) (182ms)
+185ms ║╔Execution stage started
+193ms ║║Comparison (dynamic) 1590263591467 stays_unchanged = true (0ms)
+195ms ║║Condition #12 evaluated false (5ms)
+196ms ║║Condition group #11 evaluated false (state did not change) (7ms)
+201ms ║║Comparison (dynamic) 1590263591467 changes = true (1ms)
+203ms ║║Condition #18 evaluated true (4ms)
+205ms ║║Condition group #17 evaluated true (state did not change) (6ms)
+208ms ║║Cancelling statement #19's schedules...
+216ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (3ms)
+217ms ║║Executed [Fib3_test_topbathroom].on (6ms)
+220ms ║╚Execution stage complete. (36ms)
+222ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:54:27 PM BST (in 75.552s)
+241ms ╚Event processed successfully (241ms)
5/23/2020, 8:52:51 PM +973ms
+1ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 88ms
+219ms ║RunTime Analysis CS > 28ms > PS > 148ms > PE > 43ms > CE
+221ms ║Runtime (40253 bytes) successfully initialized in 148ms (v0.3.110.20191009) (219ms)
+222ms ║╔Execution stage started
+231ms ║║Comparison (dynamic) 1590263571616 stays_unchanged = true (0ms)
+233ms ║║Condition #12 evaluated false (5ms)
+234ms ║║Condition group #11 evaluated false (state did not change) (6ms)
+239ms ║║Comparison (dynamic) 1590263571616 changes = true (0ms)
+241ms ║║Condition #18 evaluated true (4ms)
+243ms ║║Condition group #17 evaluated true (state did not change) (5ms)
+246ms ║║Cancelling statement #19's schedules...
+251ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (2ms)
+253ms ║║Executed [Fib3_test_topbathroom].on (4ms)
+256ms ║╚Execution stage complete. (34ms)
+258ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:54:27 PM BST (in 95.352s)
+269ms ╚Event processed successfully (268ms)
5/23/2020, 8:52:27 PM +382ms
+0ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 77ms
+188ms ║RunTime Analysis CS > 24ms > PS > 135ms > PE > 28ms > CE
+190ms ║Runtime (40256 bytes) successfully initialized in 135ms (v0.3.110.20191009) (189ms)
+191ms ║╔Execution stage started
+198ms ║║Comparison (dynamic) 1590263546989 stays_unchanged = true (1ms)
+200ms ║║Adding a timed trigger schedule for condition 12
+202ms ║║Cancelling condition #12's schedules...
+203ms ║║Condition #12 evaluated false (8ms)
+204ms ║║Cancelling condition #11's schedules...
+205ms ║║Condition group #11 evaluated false (state changed) (10ms)
+209ms ║║Comparison (dynamic) 1590263546989 changes = true (1ms)
+211ms ║║Cancelling condition #18's schedules...
+211ms ║║Condition #18 evaluated true (4ms)
+213ms ║║Cancelling condition #17's schedules...
+213ms ║║Condition group #17 evaluated true (state changed) (6ms)
+216ms ║║Cancelling statement #19's schedules...
+235ms ║║Executed physical command [Fib3_test_topbathroom].on() (15ms)
+236ms ║║Executed [Fib3_test_topbathroom].on (17ms)
+238ms ║╚Execution stage complete. (47ms)
+240ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:54:27 PM BST (in 119.961s)
+247ms ╚Event processed successfully (247ms)
5/23/2020, 8:52:24 PM +136ms
+1ms ╔Received event [Home].time = 1590263544247 with a delay of -111ms
+177ms ║RunTime Analysis CS > 28ms > PS > 121ms > PE > 28ms > CE
+180ms ║Runtime (40217 bytes) successfully initialized in 121ms (v0.3.110.20191009) (177ms)
+181ms ║╔Execution stage started
+186ms ║║Cancelling condition #12's schedules...
+187ms ║║Condition #12 evaluated true (1ms)
+188ms ║║Cancelling condition #11's schedules...
+189ms ║║Condition group #11 evaluated true (state changed) (3ms)
+192ms ║║Cancelling statement #15's schedules...
+207ms ║║Executed physical command [Fib3_test_topbathroom].off() (13ms)
+208ms ║║Executed [Fib3_test_topbathroom].off (15ms)
+213ms ║║Comparison (dynamic) 1590263528571 changes = false (1ms)
+215ms ║║Cancelling condition #18's schedules...
+216ms ║║Condition #18 evaluated false (4ms)
+217ms ║║Cancelling condition #17's schedules...
+218ms ║║Condition group #17 evaluated false (state changed) (6ms)
+220ms ║╚Execution stage complete. (40ms)
+221ms ╚Event processed successfully (221ms)
5/23/2020, 8:52:08 PM +950ms
+0ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 74ms
+184ms ║RunTime Analysis CS > 26ms > PS > 132ms > PE > 27ms > CE
+187ms ║Runtime (40253 bytes) successfully initialized in 132ms (v0.3.110.20191009) (185ms)
+187ms ║╔Execution stage started
+194ms ║║Comparison (dynamic) 1590263528571 stays_unchanged = true (1ms)
+196ms ║║Condition #12 evaluated false (4ms)
+197ms ║║Condition group #11 evaluated false (state did not change) (6ms)
+201ms ║║Comparison (dynamic) 1590263528571 changes = true (1ms)
+202ms ║║Condition #18 evaluated true (3ms)
+203ms ║║Condition group #17 evaluated true (state did not change) (4ms)
+205ms ║║Cancelling statement #19's schedules...
+212ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (3ms)
+213ms ║║Executed [Fib3_test_topbathroom].on (3ms)
+216ms ║╚Execution stage complete. (29ms)
+217ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:52:24 PM BST (in 15.08s)
+229ms ╚Event processed successfully (229ms)
5/23/2020, 8:51:47 PM +803ms
+0ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 76ms
+186ms ║RunTime Analysis CS > 24ms > PS > 132ms > PE > 31ms > CE
+188ms ║Runtime (40253 bytes) successfully initialized in 132ms (v0.3.110.20191009) (187ms)
+189ms ║╔Execution stage started
+197ms ║║Comparison (dynamic) 1590263507409 stays_unchanged = true (1ms)
+199ms ║║Condition #12 evaluated false (5ms)
+200ms ║║Condition group #11 evaluated false (state did not change) (7ms)
+204ms ║║Comparison (dynamic) 1590263507409 changes = true (0ms)
+206ms ║║Condition #18 evaluated true (2ms)
+207ms ║║Condition group #17 evaluated true (state did not change) (4ms)
+209ms ║║Cancelling statement #19's schedules...
+214ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (2ms)
+215ms ║║Executed [Fib3_test_topbathroom].on (3ms)
+218ms ║╚Execution stage complete. (29ms)
+220ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:52:24 PM BST (in 36.225s)
+251ms ╚Event processed successfully (251ms)
5/23/2020, 8:51:05 PM +768ms
+0ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 77ms
+190ms ║RunTime Analysis CS > 26ms > PS > 137ms > PE > 27ms > CE
+192ms ║Runtime (40253 bytes) successfully initialized in 137ms (v0.3.110.20191009) (191ms)
+193ms ║╔Execution stage started
+200ms ║║Comparison (dynamic) 1590263465425 stays_unchanged = true (0ms)
+203ms ║║Condition #12 evaluated false (4ms)
+204ms ║║Condition group #11 evaluated false (state did not change) (5ms)
+208ms ║║Comparison (dynamic) 1590263465425 changes = true (1ms)
+210ms ║║Condition #18 evaluated true (3ms)
+211ms ║║Condition group #17 evaluated true (state did not change) (4ms)
+214ms ║║Cancelling statement #19's schedules...
+220ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (3ms)
+221ms ║║Executed [Fib3_test_topbathroom].on (5ms)
+224ms ║╚Execution stage complete. (31ms)
+225ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:52:24 PM BST (in 78.254s)
+256ms ╚Event processed successfully (256ms)
5/23/2020, 8:50:44 PM +799ms
+1ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 94ms
+237ms ║RunTime Analysis CS > 30ms > PS > 173ms > PE > 34ms > CE
+240ms ║Runtime (40253 bytes) successfully initialized in 173ms (v0.3.110.20191009) (238ms)
+241ms ║╔Execution stage started
+249ms ║║Comparison (dynamic) 1590263444397 stays_unchanged = true (1ms)
+252ms ║║Condition #12 evaluated false (6ms)
+253ms ║║Condition group #11 evaluated false (state did not change) (7ms)
+258ms ║║Comparison (dynamic) 1590263444397 changes = true (1ms)
+260ms ║║Condition #18 evaluated true (3ms)
+261ms ║║Condition group #17 evaluated true (state did not change) (4ms)
+263ms ║║Cancelling statement #19's schedules...
+269ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (2ms)
+270ms ║║Executed [Fib3_test_topbathroom].on (4ms)
+273ms ║╚Execution stage complete. (32ms)
+275ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:52:24 PM BST (in 99.174s)
+312ms ╚Event processed successfully (312ms)
5/23/2020, 8:50:24 PM +43ms
+1ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 75ms
+191ms ║RunTime Analysis CS > 27ms > PS > 137ms > PE > 27ms > CE
+194ms ║Runtime (40256 bytes) successfully initialized in 137ms (v0.3.110.20191009) (192ms)
+195ms ║╔Execution stage started
+202ms ║║Comparison (dynamic) 1590263423656 stays_unchanged = true (0ms)
+204ms ║║Adding a timed trigger schedule for condition 12
+206ms ║║Cancelling condition #12's schedules...
+207ms ║║Condition #12 evaluated false (7ms)
+208ms ║║Cancelling condition #11's schedules...
+209ms ║║Condition group #11 evaluated false (state changed) (9ms)
+213ms ║║Comparison (dynamic) 1590263423656 changes = true (1ms)
+214ms ║║Cancelling condition #18's schedules...
+215ms ║║Condition #18 evaluated true (4ms)
+216ms ║║Cancelling condition #17's schedules...
+217ms ║║Condition group #17 evaluated true (state changed) (6ms)
+219ms ║║Cancelling statement #19's schedules...
+236ms ║║Executed physical command [Fib3_test_topbathroom].on() (13ms)
+237ms ║║Executed [Fib3_test_topbathroom].on (15ms)
+240ms ║╚Execution stage complete. (45ms)
+242ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:52:24 PM BST (in 119.963s)
+259ms ╚Event processed successfully (259ms)
5/23/2020, 8:50:18 PM +130ms
+1ms ╔Received event [Home].time = 1590263418544 with a delay of -416ms
+237ms ║RunTime Analysis CS > 36ms > PS > 169ms > PE > 33ms > CE
+241ms ║Runtime (40217 bytes) successfully initialized in 169ms (v0.3.110.20191009) (238ms)
+242ms ║╔Execution stage started
+251ms ║║Cancelling condition #12's schedules...
+252ms ║║Condition #12 evaluated true (2ms)
+253ms ║║Cancelling condition #11's schedules...
+254ms ║║Condition group #11 evaluated true (state changed) (4ms)
+257ms ║║Cancelling statement #15's schedules...
+278ms ║║Executed physical command [Fib3_test_topbathroom].off() (17ms)
+279ms ║║Executed [Fib3_test_topbathroom].off (19ms)
+285ms ║║Comparison (dynamic) 1590263381603 changes = false (1ms)
+288ms ║║Cancelling condition #18's schedules...
+289ms ║║Condition #18 evaluated false (6ms)
+291ms ║║Cancelling condition #17's schedules...
+292ms ║║Condition group #17 evaluated false (state changed) (10ms)
+295ms ║╚Execution stage complete. (52ms)
+296ms ╚Event processed successfully (297ms)
5/23/2020, 8:49:41 PM +977ms
+1ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 80ms
+196ms ║RunTime Analysis CS > 25ms > PS > 141ms > PE > 29ms > CE
+199ms ║Runtime (40253 bytes) successfully initialized in 141ms (v0.3.110.20191009) (197ms)
+200ms ║╔Execution stage started
+208ms ║║Comparison (dynamic) 1590263381603 stays_unchanged = true (0ms)
+210ms ║║Condition #12 evaluated false (5ms)
+211ms ║║Condition group #11 evaluated false (state did not change) (7ms)
+216ms ║║Comparison (dynamic) 1590263381603 changes = true (1ms)
+218ms ║║Condition #18 evaluated true (3ms)
+219ms ║║Condition group #17 evaluated true (state did not change) (5ms)
+222ms ║║Cancelling statement #19's schedules...
+228ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (2ms)
+229ms ║║Executed [Fib3_test_topbathroom].on (4ms)
+232ms ║╚Execution stage complete. (33ms)
+234ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:50:18 PM BST (in 36.334s)
+245ms ╚Event processed successfully (245ms)
5/23/2020, 8:49:20 PM +739ms
+1ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 53ms
+170ms ║RunTime Analysis CS > 23ms > PS > 120ms > PE > 27ms > CE
+173ms ║Runtime (40253 bytes) successfully initialized in 120ms (v0.3.110.20191009) (170ms)
+174ms ║╔Execution stage started
+181ms ║║Comparison (dynamic) 1590263360366 stays_unchanged = true (1ms)
+183ms ║║Condition #12 evaluated false (4ms)
+185ms ║║Condition group #11 evaluated false (state did not change) (6ms)
+190ms ║║Comparison (dynamic) 1590263360366 changes = true (0ms)
+191ms ║║Condition #18 evaluated true (3ms)
+192ms ║║Condition group #17 evaluated true (state did not change) (5ms)
+195ms ║║Cancelling statement #19's schedules...
+202ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (4ms)
+203ms ║║Executed [Fib3_test_topbathroom].on (6ms)
+206ms ║╚Execution stage complete. (33ms)
+208ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:50:18 PM BST (in 57.598s)
+219ms ╚Event processed successfully (218ms)
5/23/2020, 8:48:38 PM +730ms
+0ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 60ms
+200ms ║RunTime Analysis CS > 27ms > PS > 138ms > PE > 36ms > CE
+204ms ║Runtime (40253 bytes) successfully initialized in 138ms (v0.3.110.20191009) (202ms)
+205ms ║╔Execution stage started
+217ms ║║Comparison (dynamic) 1590263318383 stays_unchanged = true (1ms)
+221ms ║║Condition #12 evaluated false (8ms)
+223ms ║║Condition group #11 evaluated false (state did not change) (10ms)
+231ms ║║Comparison (dynamic) 1590263318383 changes = true (1ms)
+233ms ║║Condition #18 evaluated true (5ms)
+234ms ║║Condition group #17 evaluated true (state did not change) (7ms)
+238ms ║║Cancelling statement #19's schedules...
+244ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (3ms)
+245ms ║║Executed [Fib3_test_topbathroom].on (5ms)
+248ms ║╚Execution stage complete. (43ms)
+250ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:50:18 PM BST (in 99.565s)
+260ms ╚Event processed successfully (261ms)
5/23/2020, 8:48:18 PM +355ms
+1ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 56ms
+172ms ║RunTime Analysis CS > 24ms > PS > 120ms > PE > 27ms > CE
+174ms ║Runtime (40256 bytes) successfully initialized in 120ms (v0.3.110.20191009) (172ms)
+176ms ║╔Execution stage started
+185ms ║║Comparison (dynamic) 1590263298021 stays_unchanged = true (0ms)
+187ms ║║Adding a timed trigger schedule for condition 12
+191ms ║║Cancelling condition #12's schedules...
+192ms ║║Condition #12 evaluated false (11ms)
+193ms ║║Cancelling condition #11's schedules...
+194ms ║║Condition group #11 evaluated false (state changed) (13ms)
+199ms ║║Comparison (dynamic) 1590263298021 changes = true (1ms)
+201ms ║║Cancelling condition #18's schedules...
+202ms ║║Condition #18 evaluated true (5ms)
+203ms ║║Cancelling condition #17's schedules...
+204ms ║║Condition group #17 evaluated true (state changed) (7ms)
+206ms ║║Cancelling statement #19's schedules...
+224ms ║║Executed physical command [Fib3_test_topbathroom].on() (14ms)
+225ms ║║Executed [Fib3_test_topbathroom].on (16ms)
+229ms ║╚Execution stage complete. (54ms)
+231ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:50:18 PM BST (in 119.959s)
+241ms ╚Event processed successfully (241ms)
5/23/2020, 8:48:11 PM +91ms
+0ms ╔Received event [Home].time = 1590263292062 with a delay of -972ms
+213ms ║RunTime Analysis CS > 23ms > PS > 168ms > PE > 23ms > CE
+216ms ║Runtime (40217 bytes) successfully initialized in 168ms (v0.3.110.20191009) (214ms)
+217ms ║╔Execution stage started
+222ms ║║Cancelling condition #12's schedules...
+223ms ║║Condition #12 evaluated true (1ms)
+224ms ║║Cancelling condition #11's schedules...
+225ms ║║Condition group #11 evaluated true (state changed) (3ms)
+227ms ║║Cancelling statement #15's schedules...
+288ms ║║Executed physical command [Fib3_test_topbathroom].off() (58ms)
+289ms ║║Executed [Fib3_test_topbathroom].off (60ms)
+294ms ║║Comparison (dynamic) 1590263255474 changes = false (1ms)
+295ms ║║Cancelling condition #18's schedules...
+297ms ║║Condition #18 evaluated false (4ms)
+298ms ║║Cancelling condition #17's schedules...
+299ms ║║Condition group #17 evaluated false (state changed) (6ms)
+301ms ║╚Execution stage complete. (84ms)
+302ms ╚Event processed successfully (303ms)
5/23/2020, 8:47:35 PM +885ms
+1ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 75ms
+177ms ║RunTime Analysis CS > 24ms > PS > 131ms > PE > 22ms > CE
+180ms ║Runtime (40253 bytes) successfully initialized in 131ms (v0.3.110.20191009) (178ms)
+181ms ║╔Execution stage started
+188ms ║║Comparison (dynamic) 1590263255474 stays_unchanged = true (0ms)
+190ms ║║Condition #12 evaluated false (4ms)
+191ms ║║Condition group #11 evaluated false (state did not change) (6ms)
+198ms ║║Comparison (dynamic) 1590263255474 changes = true (3ms)
+199ms ║║Condition #18 evaluated true (5ms)
+200ms ║║Condition group #17 evaluated true (state did not change) (6ms)
+203ms ║║Cancelling statement #19's schedules...
+208ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (2ms)
+209ms ║║Executed [Fib3_test_topbathroom].on (4ms)
+212ms ║╚Execution stage complete. (30ms)
+213ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:48:12 PM BST (in 35.965s)
+245ms ╚Event processed successfully (245ms)
5/23/2020, 8:47:14 PM +875ms
+0ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 85ms
+184ms ║RunTime Analysis CS > 23ms > PS > 140ms > PE > 20ms > CE
+186ms ║Runtime (40253 bytes) successfully initialized in 140ms (v0.3.110.20191009) (185ms)
+187ms ║╔Execution stage started
+194ms ║║Comparison (dynamic) 1590263234443 stays_unchanged = true (0ms)
+196ms ║║Condition #12 evaluated false (4ms)
+198ms ║║Condition group #11 evaluated false (state did not change) (5ms)
+202ms ║║Comparison (dynamic) 1590263234443 changes = true (1ms)
+204ms ║║Condition #18 evaluated true (3ms)
+205ms ║║Condition group #17 evaluated true (state did not change) (4ms)
+207ms ║║Cancelling statement #19's schedules...
+214ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (2ms)
+215ms ║║Executed [Fib3_test_topbathroom].on (4ms)
+218ms ║╚Execution stage complete. (30ms)
+219ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:48:12 PM BST (in 56.968s)
+230ms ╚Event processed successfully (230ms)
5/23/2020, 8:46:32 PM +843ms
+1ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 87ms
+229ms ║RunTime Analysis CS > 25ms > PS > 170ms > PE > 33ms > CE
+232ms ║Runtime (40253 bytes) successfully initialized in 170ms (v0.3.110.20191009) (230ms)
+233ms ║╔Execution stage started
+244ms ║║Comparison (dynamic) 1590263192445 stays_unchanged = true (0ms)
+247ms ║║Condition #12 evaluated false (6ms)
+249ms ║║Condition group #11 evaluated false (state did not change) (9ms)
+256ms ║║Comparison (dynamic) 1590263192445 changes = true (1ms)
+258ms ║║Condition #18 evaluated true (5ms)
+259ms ║║Condition group #17 evaluated true (state did not change) (7ms)
+263ms ║║Cancelling statement #19's schedules...
+270ms ║║Skipped execution of physical command [Fib3_test_topbathroom].on([]) because it would make no change to the device. (3ms)
+271ms ║║Executed [Fib3_test_topbathroom].on (5ms)
+275ms ║╚Execution stage complete. (42ms)
+279ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:48:12 PM BST (in 98.943s)
+289ms ╚Event processed successfully (289ms)
5/23/2020, 8:46:11 PM +878ms
+0ms ╔Received event [Home].:08626600805df7e74517b8e188f37294: = @top_bathroom_changed with a delay of 69ms
+173ms ║RunTime Analysis CS > 25ms > PS > 131ms > PE > 17ms > CE
+175ms ║Runtime (40256 bytes) successfully initialized in 131ms (v0.3.110.20191009) (174ms)
+176ms ║╔Execution stage started
+182ms ║║Comparison (dynamic) 1590263171538 stays_unchanged = true (0ms)
+184ms ║║Adding a timed trigger schedule for condition 12
+186ms ║║Cancelling condition #12's schedules...
+187ms ║║Condition #12 evaluated false (7ms)
+188ms ║║Cancelling condition #11's schedules...
+189ms ║║Condition group #11 evaluated false (state changed) (9ms)
+193ms ║║Comparison (dynamic) 1590263171538 changes = true (1ms)
+194ms ║║Cancelling condition #18's schedules...
+195ms ║║Condition #18 evaluated true (4ms)
+196ms ║║Cancelling condition #17's schedules...
+197ms ║║Condition group #17 evaluated true (state changed) (6ms)
+199ms ║║Cancelling statement #19's schedules...
+217ms ║║Executed physical command [Fib3_test_topbathroom].on() (15ms)
+218ms ║║Executed [Fib3_test_topbathroom].on (16ms)
+220ms ║╚Execution stage complete. (44ms)
+222ms ║Setting up scheduled job for Sat, May 23 2020 @ 8:48:12 PM BST (in 119.963s)
+234ms ╚Event processed successfully (233ms)
5/23/2020, 8:46:06 PM +166ms
+1ms ╔Received event [Home].time = 1590263167970 with a delay of -1804ms
+159ms ║RunTime Analysis CS > 23ms > PS > 120ms > PE > 16ms > CE
+162ms ║Runtime (40218 bytes) successfully initialized in 120ms (v0.3.110.20191009) (161ms)
+163ms ║╔Execution stage started
+168ms ║║Cancelling condition #12's schedules...
+169ms ║║Condition #12 evaluated true (1ms)
+171ms ║║Cancelling condition #11's schedules...
+172ms ║║Condition group #11 evaluated true (state changed) (4ms)
+174ms ║║Cancelling statement #15's schedules...
+190ms ║║Executed physical command [Fib3_test_topbathroom].off() (13ms)
+191ms ║║Executed [Fib3_test_topbathroom].off (15ms)
+198ms ║║Comparison (dynamic) 1590263128235 changes = false (1ms)
+200ms ║║Cancelling condition #18's schedules...
+202ms ║║Condition #18 evaluated false (5ms)
+203ms ║║Cancelling condition #17's schedules...
+204ms ║║Condition group #17 evaluated false (state changed) (9ms)
+207ms ║╚Execution stage complete. (44ms)
+208ms ╚Event processed successfully (208ms)
Gah, it’s been driving me insane! Haha… Assumed I was being stupid. So just to clarify… Its a webcore bug of sorts? I’ll read the link in a sec.
So now I need to figure out a way of using a combination of toggle, simswitches and variable timestamps to make this work. Could get messy!..
Edit… What about some sort of 'wait ', similar to something you helped me with elsewhere quite recently. The wait could be cancelled/reset…
Kind of
If simswitch changes
Wait 2 mins
Then
With Knackered switch on
But every time simswitch changed, this wait could interrupted /restarted. So the “knackered” switch only gets to switch on If the simswitch stops changing.
Make sense? I’ll have to revisit that other ‘boost timer’ I was messing with last week…
I think it’s worked, using the same logic as the ‘cancellation of boost timer’ you pointed me towards on my (linked) central heating project.
Logic here is pretty much…
if temp changes
with sim-switch "toggleswitch" TOGGLE
(and then switch off the FAULT sim-switch if it's on too, because the probe's obviously working again)
(also, this next IF has TCP set to NEVER)
if sim-switch "toggleswitch" changes
wait 2 mins
with sim-switch FAULT switch on
This seems (on initial testing) to do the trick. Cheers for your help once again !
I like where you are going with this, but I am a bit confused as to how this can be expected to work with TCP in place:
When the Bathroom Probe changes temp, (meaning the device is working)
Then toggle the device called ToggleCheck (OK, so far, so good)
Then begin an unstoppable timer… (??)
and then assume a fault?!?
Oh, I see it now… Your TCP setting is in the wrong place, so TCP should not come into play. (Meaning the timer will be restarted if the switch changes again - This is good)
Personal Thoughts 3 hours later:
You may as well set TCP back to default… It will run the same, and the piston will display more accurately.
morning. i’ve unmarked as solved because… still randomly fails.
testing looked good. set this up and left it around 1am. Checking the events for the probe, it’s constantly changing right the way through the night.
yet around 2 hours after I set it up and left it to it, the fault light comes on! and almost immediately turns back off. grrr.
00:45 - all good.
02.29 - piston sends ON command to fault switch
02:43 - piston sends OFF command to fault switch
02.58 - piston sends ON command to fault switch
03.15 - piston sends OFF command to fault switch
etc.
quiet again between about 0330 and my 0745, where it lights up again.
The temp probe is always changing. no gaps.
(I’ve set the TCP back to default)
When it looked like we had this cracked, I changed my 1 minute periodic check to 15 mins.
So although the temp is DEFINITELY changing, during the odd occasion, the WAIT isn’t being ‘restarted’ (I. E being kept on a virtually permanent ‘hold on, start again!’ cycle). Its instead being allowed to progress counting for 15 mins, and when that 15 mins is up, its flicking the FAULT switch on. And seconds later (when the temp registers the next frequent change), the FAULT switch is promptly disabled
So for now, timer is still at 15.mins and TCP is default. Although I’m now wondering if the TCP should actually be put back…
edit… for some reason, i’ve just spotted that the temp didn’t change for approx 15 mins (0228 til 0243), so that’s a legit catch. Looking again…
Because the temp SHOULD be changing every minute few mins at a minimum, I missed the odd gap where it’s not altering for up to around 15 mins.
My bad ! Assuming this is why smartthings can’t be used for anything mission critical, because (assuming again) the nature of the beast results in the occasional unpredictable lull.
So I’ll alter the timing check countdown to 30 mins, which should be WAY over the top and catch the odd straggler. And I’ll lave the TCP as default (although I’m not totally clear on it to be honest, it was a bit of a scratch in the dark). Let’s see how this goes, before it starts affecting your life too !
One thing you did differently than my suggestion, is you rolled it up in one pisotn.
If it were me, I would have the temp trigger in one piston, and another mini-piston that is triggering off of the SimSwitch. (the second one is on the timer)
My logic is, I don’t want spam from the temp sensor to affect my precise timers…