Android presence super delayed compared to iOS

Hi all,

I’ve been using Webcore in conjunction with Smartthings for a short while now. Love the ease of setting up pistons and the wonderful people so quick to assist both here and the WC community.

I’ve got several pistons that rely on presence of both my phone and my gf’s phone to act as triggers to start them. I’ve always been an iPhone guy, but after using it exclusively since it debuted, iOS has grown a bit stale for me and I recently decided to dip my toe in to Android with the Pixel 3. My home is also all Nest/Google home devices linked with ST, so the integration is awesome.

Here is my problem (finally, right?): since replacing my iPhone I’ve noticed that the pistons that rely on my phone’s presence to start are super delayed. An example is a simple one I have set up that opens my garage when my phone changes to present. With my iPhone it was perfect–almost too perfect. I even had to set up wait statements and tighten the circumference around my house to delay it because it would open so early.

However, now that I have my Pixel I usually am sitting in my driveway for several minutes–no exaggerating–before it opens (if it even does before I get frustrated and push the button, which is usually the case). And sometimes even after I push the button to get inside then close the door, it will reopen a couple minutes later because my presence finally changed. I even broadened the arrival circumference and removed all wait statements and still the same behaviour.

I’ll literally be in house for several minites, connected to my home wifi, and open the ST app and my phone shows as away. I’ve removed and readded the phone as a presence sensor in ST and even setup fresh pistons to test, but nope.

Like I mentioned I never had an issue with iOS and my gf has an iPhone and the pistons I set up for her kick off flawlessly when she arrives.

I’ll also post this on WC forum to see if anyone has an idea, but hoping someone can point me in the right direction.

My fear is it is just a limitation of how Android handles location, but I have the Smartthings app set up to always run in background with access to location as I know there is a setting like battery saver or something that could affect it.

Don’t get me wrong. I love the phone. It’s been a really good transition apart from this, but I’m hoping someone can help me figure it out, because it is really frustrating.

Thanks in advance.

The issue of presence sensors working with varying degrees of reliability has been discussed ad nauseum in these forums. If you simply search for “presence sensor”, you find numerous posts on the subject.

I can’t speak to an iPhone as I use an Android, but the general consensus is that users seem to have varying degrees of reliability even with the same operating system.

I’d review some of the “presence sensor” threads. Start with @JDRoberts FAQ:

1 Like

Thanks for the reply. Can you tell me if these pistons use the geofence “size” that I can setup through Webcore under settings, or do they use the geofence found in the Smartthings mobile app under settings?

No, webCore hooks the ST settings, as it is simply querying the presence status.

Thanks. Did some more digging and it looks like since Oreo Android has limited the number of times background apps get location updates. The linked article below targeted at developers states only a few times an hour.

Though it does suggest that if you need your app to get location updates more frequently there are some steps that can be taken such as to start a foreground service in your app by calling startForegroundService among other things.

Anyway, this may be old news to you guys, but figured I put it out there. I opened a support ticket with ST to see if they were aware of this and if they have taken any of the steps mentioned in the article to give it’s users a better experience.