I have a piston that saves changed alarm contacts to a variable; I then parse the list to see what is open. It was working fine while testing until it stopped working for 20 minutes. I wasn’t sure why the piston stopped working
until I opened a different contact than the one I was using to test with for that time. Once I did that the variable started populating again.
Possible bug or is there some initialization I need to do on each trigger of the piston?
Log of failing runs. You can see line 23 evaluates as false but the first log line shows the contact trigger as open.
+1ms | +Received event [DSC Kitchen Nook Right].contact = open with a delay of 126ms |
---|---|
+149ms | ¦RunTime Analysis CS > 32ms > PS > 74ms > PE > 44ms > CE |
+152ms | ¦Runtime (49455 bytes) successfully initialized in 74ms (v0.2.102.20180116) (150ms) |
+153ms | ¦+Execution stage started |
+159ms | ¦¦Cancelling statement #29’s schedules… |
+163ms | ¦¦Executed virtual command wait (0ms) |
+164ms | ¦¦Waiting for 2000ms |
+2169ms | ¦¦Executed virtual command setVariable (1ms) |
+2174ms | ¦¦Executed virtual command setVariable (1ms) |
+2187ms | ¦¦Comparison (enum) closed is (string) closed = true (2ms) |
+2189ms | ¦¦Condition #8 evaluated true (10ms) |
+2201ms | ¦¦Comparison (string) notready is (string) ready = false (2ms) |
+2203ms | ¦¦Cancelling condition #9’s schedules… |
+2204ms | ¦¦Condition #9 evaluated false (14ms) |
+2212ms | ¦¦Comparison (string) notready is (string) forceready = false (2ms) |
+2214ms | ¦¦Condition #36 evaluated false (8ms) |
+2215ms | ¦¦Cancelling condition #35’s schedules… |
+2216ms | ¦¦Condition group #35 evaluated false (state changed) (25ms) |
+2217ms | ¦¦Cancelling condition #2’s schedules… |
+2218ms | ¦¦Condition group #2 evaluated false (state changed) (40ms) |
+2312ms | ¦¦Comparison (enum) open changes = false (2ms) |
+2322ms | ¦¦Condition #23 evaluated false (103ms) |
+2323ms | ¦¦Condition group #22 evaluated false (state did not change) (105ms) |
+2327ms | ¦¦Cancelling statement #6’s schedules… |
+2335ms | ¦¦Calculating (string) Current state + (string) true >> (string) Current state true |
+2340ms | ¦¦Current state true |
+2342ms | ¦¦Executed virtual command log (3ms) |
+2345ms | ¦+Execution stage complete. (2192ms) |
+2346ms | +Event processed successfully (2346ms) |
Piston. You see the RED test fail at 100 ms even though the contact triggered the event.