Well, that piston has been working fine for about 2 wks. In that time, WebCore got updated, so maybe that was part of the success. So much so that I was thinking of going for the gold and eliminating the 10 delay, but today i happened on my PC and found that that the time had failed. Here are the logs:
3/5/2018, 5:02:11 PM +374ms
+1ms ╔Received event [Home].time = 1520294531517 with a delay of -143ms
+271ms ║RunTime Analysis CS > 15ms > PS > 134ms > PE > 122ms > CE
+274ms ║Runtime (44815 bytes) successfully initialized in 134ms (v0.3.000.20180224) (273ms)
+275ms ║╔Execution stage started
+336ms ║║Comparison (enum) on was (string) off = false (40ms)
+337ms ║║Condition #7 evaluated false (50ms)
+338ms ║║Condition group #2 evaluated false (state did not change) (51ms)
+342ms ║╚Execution stage complete. (66ms)
+343ms ║Setting up scheduled job for Mon, Mar 5 2018 @ 5:12:11 PM MST (in 599.801s)
+353ms ╚Event processed successfully (353ms)
3/5/2018, 4:54:40 PM +409ms
+0ms ╔Received event [Home].time = 1520294081329 with a delay of -920ms
+438ms ║RunTime Analysis CS > 18ms > PS > 91ms > PE > 329ms > CE
+442ms ║Runtime (44812 bytes) successfully initialized in 91ms (v0.3.000.20180224) (440ms)
+443ms ║╔Execution stage started
+886ms ║║Comparison (enum) on was (string) off = false (419ms)
+888ms ║║Cancelling condition #7’s schedules…
+889ms ║║Condition #7 evaluated false (430ms)
+890ms ║║Cancelling condition #2’s schedules…
+891ms ║║Condition group #2 evaluated false (state changed) (432ms)
+895ms ║╚Execution stage complete. (452ms)
+897ms ║Setting up scheduled job for Mon, Mar 5 2018 @ 5:02:11 PM MST (in 450.212s)
+906ms ╚Event processed successfully (906ms)
3/5/2018, 4:52:10 PM +427ms
+1ms ╔Received event [Home].time = 1520293931517 with a delay of -1090ms
+278ms ║RunTime Analysis CS > 19ms > PS > 119ms > PE > 139ms > CE
+282ms ║Runtime (44815 bytes) successfully initialized in 119ms (v0.3.000.20180224) (279ms)
+283ms ║╔Execution stage started
+339ms ║║Duration 449038ms for is >= 300000ms threshold = true
+340ms ║║Comparison (enum) off was (string) off = true (33ms)
+342ms ║║Condition #7 evaluated true (43ms)
+368ms ║║Comparison (decimal) 0.4 is_greater_than (integer) 40 = false (4ms)
+372ms ║║Comparison (decimal) 0.1 is_greater_than (integer) 40 = false (2ms)
+376ms ║║Comparison (decimal) 0.3 is_greater_than (integer) 40 = false (3ms)
+378ms ║║Condition #28 evaluated false (34ms)
+427ms ║║Duration 13434694ms for was_less_than < 900000ms threshold = false
+428ms ║║Comparison (decimal) 0.4 was_less_than (integer) 20 = false (34ms)
+458ms ║║Duration 3822159ms for was_less_than < 900000ms threshold = false
+459ms ║║Comparison (decimal) 0.1 was_less_than (integer) 20 = false (30ms)
+490ms ║║Duration 15203664ms for was_less_than < 900000ms threshold = false
+491ms ║║Comparison (decimal) 0.3 was_less_than (integer) 20 = false (31ms)
+493ms ║║Condition #29 evaluated false (113ms)
+549ms ║║Comparison (enum) inactive changed = false (32ms)
+786ms ║║Comparison (enum) inactive changed = true (236ms)
+789ms ║║Condition #30 evaluated true (295ms)
+791ms ║║Condition group #27 evaluated true (state did not change) (447ms)
+792ms ║║Condition group #2 evaluated true (state did not change) (494ms)
+836ms ║║Duration 449532ms for is >= 1800000ms threshold = false
+837ms ║║Comparison (enum) off was (string) off = false (33ms)
+838ms ║║Condition #25 evaluated false (43ms)
+851ms ║║Comparison (time) 60731267 is_between (time) 61200000 … (time) 61800000 = false (9ms)
+853ms ║║Condition #26 evaluated false (14ms)
+854ms ║║Condition group #9 evaluated false (state did not change) (60ms)
+857ms ║║Cancelling statement #21’s schedules…
+886ms ║║Executed physical command [Water Recirculation].on() (25ms)
+887ms ║║Executed [Water Recirculation].on (28ms)
+895ms ║║Calculating (decimal) 2.5 * (decimal) 60.0 >> (decimal) 150.0
+899ms ║║Executed virtual command [Water Recirculation].wait (1ms)
+901ms ║║Requesting a wake up for Mon, Mar 5 2018 @ 4:54:41 PM MST (in 150.0s)
+909ms ║╚Execution stage complete. (625ms)
+911ms ║Setting up scheduled job for Mon, Mar 5 2018 @ 4:54:41 PM MST (in 149.992s), with 1 more job pending
+920ms ╚Event processed successfully (919ms)
3/5/2018, 4:44:50 PM +370ms
+0ms ╔Received event [Home].time = 1520293491716 with a delay of -1347ms
+253ms ║RunTime Analysis CS > 17ms > PS > 98ms > PE > 138ms > CE
+256ms ║Runtime (44813 bytes) successfully initialized in 98ms (v0.3.000.20180224) (254ms)
+257ms ║╔Execution stage started
+284ms ║╚Execution stage complete. (27ms)
+285ms ║Setting up scheduled job for Mon, Mar 5 2018 @ 4:52:11 PM MST (in 440.862s)
+294ms ╚Event processed successfully (294ms)
3/5/2018, 4:44:41 PM +400ms
+0ms ╔Received event [Home].time = 1520293482935 with a delay of -1536ms
+262ms ║RunTime Analysis CS > 18ms > PS > 115ms > PE > 129ms > CE
+265ms ║Runtime (44815 bytes) successfully initialized in 115ms (v0.3.000.20180224) (263ms)
+266ms ║╔Execution stage started
+309ms ║║Executed physical command [Water Recirculation].off() (17ms)
+309ms ║║Executed [Water Recirculation].off (18ms)
+314ms ║║Executed virtual command [Water Recirculation].wait (0ms)
+315ms ║║Requesting a wake up for Mon, Mar 5 2018 @ 4:44:51 PM MST (in 10.0s)
+327ms ║╚Execution stage complete. (61ms)
+329ms ║Setting up scheduled job for Mon, Mar 5 2018 @ 4:44:51 PM MST (in 9.988s), with 1 more job pending
+337ms ╚Event processed successfully (337ms)
3/5/2018, 4:42:11 PM +489ms
+1ms ╔Received event [Home].time = 1520293331517 with a delay of -28ms
+377ms ║RunTime Analysis CS > 19ms > PS > 191ms > PE > 166ms > CE
+379ms ║Runtime (44813 bytes) successfully initialized in 191ms (v0.3.000.20180224) (377ms)
+381ms ║╔Execution stage started
+648ms ║║Duration 451869ms for is >= 300000ms threshold = true
+649ms ║║Comparison (enum) off was (string) off = true (247ms)
+651ms ║║Condition #7 evaluated true (257ms)
+674ms ║║Comparison (decimal) 0.4 is_greater_than (integer) 40 = false (2ms)
+678ms ║║Comparison (decimal) 0.1 is_greater_than (integer) 40 = false (3ms)
+682ms ║║Comparison (decimal) 0.3 is_greater_than (integer) 40 = false (3ms)
+685ms ║║Condition #28 evaluated false (32ms)
+958ms ║║Duration 12836284ms for was_less_than < 900000ms threshold = false
+959ms ║║Comparison (decimal) 0.4 was_less_than (integer) 20 = false (247ms)
+1219ms ║║Duration 3223983ms for was_less_than < 900000ms threshold = false
+1220ms ║║Comparison (decimal) 0.1 was_less_than (integer) 20 = false (260ms)
+1251ms ║║Duration 14605487ms for was_less_than < 900000ms threshold = false
+1251ms ║║Comparison (decimal) 0.3 was_less_than (integer) 20 = false (30ms)
+1253ms ║║Condition #29 evaluated false (568ms)
+1328ms ║║Comparison (enum) inactive changed = false (53ms)
+1353ms ║║Comparison (enum) inactive changed = true (24ms)
+1355ms ║║Condition #30 evaluated true (101ms)
+1356ms ║║Condition group #27 evaluated true (state did not change) (704ms)
+1357ms ║║Condition group #2 evaluated true (state did not change) (963ms)
+1390ms ║║Duration 452609ms for is >= 1800000ms threshold = false
+1390ms ║║Comparison (enum) off was (string) off = false (25ms)
+1392ms ║║Condition #25 evaluated false (33ms)
+1402ms ║║Comparison (time) 60132882 is_between (time) 61200000 … (time) 61800000 = false (7ms)
+1403ms ║║Condition #26 evaluated false (11ms)
+1404ms ║║Condition group #9 evaluated false (state did not change) (45ms)
+1407ms ║║Cancelling statement #21’s schedules…
+1435ms ║║Executed physical command [Water Recirculation].on() (26ms)
+1436ms ║║Executed [Water Recirculation].on (27ms)
+1441ms ║║Calculating (decimal) 2.5 * (decimal) 60.0 >> (decimal) 150.0
+1444ms ║║Executed virtual command [Water Recirculation].wait (1ms)
+1445ms ║║Requesting a wake up for Mon, Mar 5 2018 @ 4:44:42 PM MST (in 150.0s)
+1451ms ║╚Execution stage complete. (1071ms)
+1453ms ║Setting up scheduled job for Mon, Mar 5 2018 @ 4:44:42 PM MST (in 149.994s), with 1 more job pending
+1463ms ╚Event processed successfully (1463ms)
The bottom logs show how it is working as it should (on at 4:42, off at 4:44, 10 sec delay to 4:44+change). The top 2 show the failure (on at 4:52, no off at 4:54, no 10 sec delay). Then at 5:02, since the sw was on, then it did not turn on. My separate timeout timer fired at 5:12 telling me the sw did not shut off. So, somehow when the 2.5 min timer was to expire, it did not go to the line of execution where it was supposed to go, and hence failed. Here is the piston if you want to follow the logic, but like I said, it’s been solid for 2 wks and just now failed.
Let me know if you want any further info, or if I can help in any way to solve this problem.