Presence Sensors not accurately sensing absence


#1

1) Give a description of the problem
I have a piston that is invoked when any of the presence sensors (any of the iPhones belonging to my wife, my son or myself–three total phones) either leaves the 275 meter perimeter of our house, or returns to within that perimeter. In order for any of us to determine each other’s presence status using the new Smartthings app, I have the piston set a virtual presence switch–ON means that person is at home, OFF means they are off premises or not at home. The piston also interacts with the thermostats when nobody is at home for more than 4 hours. It further changes the thermostat set points when nobody is at home continuously for 24 hours (vacation mode). The problem is when two or more of us leaves at the same time, the piston is invoked for the first phone it detects leaving this perimeter and sets that presence switch, but does not set the presence switch for the other one or two phones and thus the thermostats never get adjusted.

2) What is the expected behaviour?
For the piston to be invoked as each phone leaves the perimeter, even if it is simultaneous or near simultaneous, and for the appropriate presence switch to be set.

3) What is happening/not happening?
Only one presence switch is being activated when two or more leave together in the same vehicle. This morning, my son and I left in the same vehicle to run errands. The piston recorded my phone leaving and setting my presence sensor to OFF, but not my sons’s phone. When we returned, it detected my phone returning, but not my son’s. My son then went out for a long walk by himself and the piston recorded him leaving the premises and setting his presence switch to off.

4) Post a Green Snapshot of the pistonimage

5) Attach logs after turning logging level to Full
(PASTE YOUR LOGS HERE THEN HIGHLIGHT ALL OF THE LOGS AND CLICK ON THE </> ICON TO FORMAT THEM CORRECTLY)
11/24/2020, 11:24:59 AM +818ms
+1ms ╔Received event [Andrew’s iPhone Flag].switch = on with a delay of 124ms
+215ms ║RunTime Analysis CS > 15ms > PS > 122ms > PE > 78ms > CE
+219ms ║Runtime (65614 bytes) successfully initialized in 122ms (v0.3.10e.20190628) (216ms)
+220ms ║╔Execution stage started
+236ms ║║Comparison (enum) on is (string) off = false (2ms)
+237ms ║║Condition #72 evaluated false (11ms)
+238ms ║║Condition group #71 evaluated false (state did not change) (12ms)
+246ms ║║Comparison (dynamic) Home is (string) Away = false (1ms)
+247ms ║║Condition #83 evaluated false (5ms)
+252ms ║║Comparison (dynamic) Home is (string) Away-Extended Absence = false (1ms)
+253ms ║║Condition #84 evaluated false (5ms)
+254ms ║║Condition group #82 evaluated false (state did not change) (13ms)
+255ms ║║Condition group #81 evaluated false (state did not change) (15ms)
+267ms ║║Comparison (enum) off is (string) off = true (1ms)
+268ms ║║Condition #86 evaluated true (9ms)
+269ms ║║Condition group #85 evaluated true (state did not change) (11ms)
+272ms ║║Cancelling statement #92’s schedules…
+284ms ║║Executed virtual command cancelTasks (0ms)
+315ms ║║Executed virtual command setLocationMode (28ms)
+320ms ║║Executed virtual command setVariable (2ms)
+325ms ║║Executed virtual command setVariable (2ms)
+336ms ║╚Execution stage complete. (116ms)
+337ms ╚Event processed successfully (337ms)
11/24/2020, 11:17:17 AM +991ms
+1ms ╔Received event [Andrew’s iPhone Flag].switch = off with a delay of 49ms
+227ms ║RunTime Analysis CS > 16ms > PS > 122ms > PE > 90ms > CE
+231ms ║Runtime (65614 bytes) successfully initialized in 122ms (v0.3.10e.20190628) (229ms)
+232ms ║╔Execution stage started
+246ms ║║Comparison (enum) on is (string) off = false (1ms)
+248ms ║║Condition #72 evaluated false (9ms)
+249ms ║║Condition group #71 evaluated false (state did not change) (11ms)
+256ms ║║Comparison (dynamic) Home is (string) Away = false (1ms)
+257ms ║║Condition #83 evaluated false (5ms)
+262ms ║║Comparison (dynamic) Home is (string) Away-Extended Absence = false (1ms)
+263ms ║║Condition #84 evaluated false (5ms)
+264ms ║║Condition group #82 evaluated false (state did not change) (13ms)
+266ms ║║Condition group #81 evaluated false (state did not change) (14ms)
+276ms ║║Comparison (enum) off is (string) off = true (2ms)
+278ms ║║Condition #86 evaluated true (9ms)
+279ms ║║Condition group #85 evaluated true (state did not change) (11ms)
+281ms ║║Cancelling statement #92’s schedules…
+283ms ║║Executed virtual command cancelTasks (0ms)
+323ms ║║Executed virtual command setLocationMode (37ms)
+327ms ║║Executed virtual command setVariable (1ms)
+331ms ║║Executed virtual command setVariable (1ms)
+341ms ║╚Execution stage complete. (109ms)
+343ms ╚Event processed successfully (342ms)
11/24/2020, 11:10:30 AM +236ms
+1ms ╔Received event [Matt’s iPhone Flag].switch = on with a delay of 43ms
+193ms ║RunTime Analysis CS > 16ms > PS > 106ms > PE > 70ms > CE
+196ms ║Runtime (65609 bytes) successfully initialized in 106ms (v0.3.10e.20190628) (194ms)
+197ms ║╔Execution stage started
+207ms ║║Comparison (enum) on is (string) off = false (2ms)
+209ms ║║Cancelling condition #72’s schedules…
+210ms ║║Condition #72 evaluated false (6ms)
+211ms ║║Condition group #71 evaluated false (state did not change) (8ms)
+217ms ║║Comparison (dynamic) Home is (string) Away = false (2ms)
+218ms ║║Condition #83 evaluated false (5ms)
+222ms ║║Comparison (dynamic) Home is (string) Away-Extended Absence = false (1ms)
+224ms ║║Condition #84 evaluated false (5ms)
+225ms ║║Condition group #82 evaluated false (state did not change) (12ms)
+226ms ║║Condition group #81 evaluated false (state did not change) (14ms)
+236ms ║║Comparison (enum) off is (string) off = true (2ms)
+237ms ║║Condition #86 evaluated true (9ms)
+238ms ║║Condition group #85 evaluated true (state did not change) (10ms)
+241ms ║║Cancelling statement #92’s schedules…
+243ms ║║Executed virtual command cancelTasks (0ms)
+273ms ║║Executed virtual command setLocationMode (28ms)
+277ms ║║Executed virtual command setVariable (1ms)
+281ms ║║Executed virtual command setVariable (1ms)
+291ms ║╚Execution stage complete. (94ms)
+292ms ╚Event processed successfully (292ms)
11/24/2020, 9:58:33 AM +75ms
+1ms ╔Received event [Matt’s iPhone Flag].switch = off with a delay of 63ms
+218ms ║RunTime Analysis CS > 21ms > PS > 118ms > PE > 79ms > CE
+222ms ║Runtime (65610 bytes) successfully initialized in 118ms (v0.3.10e.20190628) (220ms)
+223ms ║╔Execution stage started
+232ms ║║Comparison (enum) off is (string) off = true (1ms)
+234ms ║║Cancelling condition #72’s schedules…
+235ms ║║Condition #72 evaluated true (6ms)
+244ms ║║Comparison (enum) on is (string) off = false (1ms)
+245ms ║║Condition #73 evaluated false (9ms)
+246ms ║║Condition group #71 evaluated false (state did not change) (18ms)
+253ms ║║Comparison (dynamic) Home is (string) Away = false (1ms)
+254ms ║║Condition #83 evaluated false (5ms)
+259ms ║║Comparison (dynamic) Home is (string) Away-Extended Absence = false (2ms)
+261ms ║║Condition #84 evaluated false (6ms)
+262ms ║║Condition group #82 evaluated false (state did not change) (13ms)
+263ms ║║Condition group #81 evaluated false (state did not change) (15ms)
+274ms ║║Comparison (enum) off is (string) off = true (1ms)
+275ms ║║Condition #86 evaluated true (10ms)
+276ms ║║Condition group #85 evaluated true (state did not change) (11ms)
+279ms ║║Cancelling statement #92’s schedules…
+281ms ║║Executed virtual command cancelTasks (1ms)
+313ms ║║Executed virtual command setLocationMode (29ms)
+316ms ║║Executed virtual command setVariable (1ms)
+320ms ║║Executed virtual command setVariable (1ms)
+330ms ║╚Execution stage complete. (107ms)
+331ms ╚Event processed successfully (331ms)

REMOVE BELOW AFTER READING