- Web requests not completing
This is something that I recently contacted Smartthings about, and have seen referenced a few times here and there. As part of the events triggering, your phone sends a web request to a Smartthings url reporting the phone either entering or leaving. If the phone cannot send that request for whatever reason, then your automations will not trigger. Examples are being in airplane mode, having low/no signal, etc… Just like you couldn’t load a web page, the Smartthings app cannot send the information to it’s servers to show that an event has taken place.
With the release of Android Nougat, I confirmed with Smartthings that Doze may be interfering with these requests and not letting them complete. I have been told their Engineers are working on it, and will at some release an updated app that will account for Doze, but until then, if your phone is in sleep mode, know that the request fired off to the servers when an Enter/Exit event occurs, may not actually get there, thus not triggering any automations.
This is regarding your explanation of #2. This seemed very plausible to me, so I set about a simple (and quite possibly flawed) experiment. I left my home this morning and went to work, approx 11 miles away. That’s far enough that there could be no GPS reporting error risk, as described by #1. At work, my phone’s presence was still listed as “present” in SmartThings.
I attempted several fixes: toggle location services on/off, toggle location services accuracy modes, disable battery optimization for ST, restart ST app. None of these resolved the problem. Given the explanation in #2, that the event indicating an Exit has failed to reach the ST servers, this made sense, still.
However, when I restarted my phone, the ST app correctly updated my presence to “not present”. This seems to violate the suggestion re #2, since either the Exit event was republished OR there’s some completely different mechanism to change presence OR “something else” OR a mix of the above.
While I agree that a dropped Exit event could still be happening, it doesn’t look like the complete explanation.
Nexus 6P, Android 7.0, build NRD90M.