Presence WAS comparison no longer working


#1

1) Give a description of the problem
I have a few presence sensor pistons that stopped working a while ago. I finally got around to trying to figure out why. It seems like the “presence was” comparison is no longer behaving as it used to, as it always evaluates to FALSE. Did something change in how this comparison works? My sample piston below is as simple as it gets, yet it doesn’t work as expected.

2) What is the expected behaviour?
If presence changes to away AND presence was home for at least 1 hr, then do something.

3) What is happening/not happening?
The presence change trigger works, but the second half of the condition is always FALSE. In my sample piston, I’m using 1ms, but i’ve tried it with all sorts of different times, and it always resolve to FALSE. I’m manually toggling a simulated presence sensor, so I know that it was present for at least that amount of time.

**4) Post a Green Snapshot of the piston!

5) Attach logs after turning logging level to Full

9/21/2021, 2:28:46 PM +10ms
+1ms ╔Received event [Simulated Presence].presence = not present with a delay of 53ms
+56ms ║RunTime Analysis CS > 20ms > PS > 5ms > PE > 30ms > CE
+58ms ║Runtime (37553 bytes) successfully initialized in 5ms (v0.3.113.20210203) (56ms)
+59ms ║╔Execution stage started
+68ms ║║Comparison (enum) not present changes_to (string) not present = true (1ms)
+70ms ║║Cancelling condition #52's schedules...
+71ms ║║Condition #52 evaluated true (6ms)
+256ms ║║Comparison (enum) not present was (string) present = false (181ms)
+258ms ║║Condition #115 evaluated false (185ms)
+259ms ║║Condition group #114 evaluated false (state did not change) (194ms)
+260ms ║║Condition group #51 evaluated false (state did not change) (197ms)
+262ms ║╚Execution stage complete. (202ms)
+263ms ╚Event processed successfully (263ms)