Presence sensing sporadic and unreliable; let's please get this fixed

Totally agree. I just bought a Hubitat hub because they claimed it had presence sensing.

1 Like

All of you realize that Hubitat does not own or create Presence in any form, right? Hubitat are buyers of a service. They integrate the service into their Mobile App, and give it to us "free" (aka Included)

That means any critiquing is about some external service, We all recognize that we are carrying around a Position Reporting device. Somehow, that position gets reported back to somebody's cloud, compares that to a "geofence" and reports In or Out. There's a lot of "fingers crossed" in that equation :smiley:

I happen to use the Apple presence system. I carry an iPhone and I've given it a geofence around my home. For it to work for me, my phone has to get GPS data from those orbiting satellites and report that back to Apple's cloud where it's compared to my geofence(s) and then send a cloud message to my HomeKit bridge (AppleTV) inside my home. There, I have an Automation that sets a switch to On/Off and Hubitat picks that up. Then my automations run.

For me, in my area of the planet, this works quite well. The inside edge of the geofence for my home works out to be either end of the street I live on. Sometimes the Notification hits me at the end of the street (rare), sometimes as I drive into the driveway (also rare) but most of the time, I get notified about a house away. Clearly that means there's a latency, a big one in human terms, 2 seconds average. I attribute it to the 50,000 neighbors that are also using this system.

The part Hubitat plays in my Presence automation is tiny and really reliable. It just has to see the Event generated by Apple to set a switch and then run the automations I've attached. The variance in WHEN it sees the switch change is external to Hubitat, in my case, driven by Apple's latency.

I like Presence... I want it to be an order of magnitude better than it is.. but that's a critique against others (Apple in my case.)

2 Likes

Sure, but if Hubitat chose to use a service that doesn't work well that does not absolve them of the responsibility to make it work better, even if that means integrating with another 3rd party tool that works better.

I use Homekit presence exactly as you do and it's quite good.

1 Like

Extremely Subjective? This Thread is 34 users and even if that was 1% of the total Hubitat Mobile App community, then 3400 are experiencing an issue. "Spotty coverage" would be the word(s) I'd assign, knowing little else about the problem but what's in this topic and messages I've read over the past 4 years. The inverse is that it works well for 99% of those using it. The most likely outcome of changing to another service is to have the same 99%/1% but those 1% are just a different segment of users. It wouldn't change the narrative, just the authors. :smiley:

I'm NOT saying Presence could be better, I'm just suggesting hyperbolic language is detectable.

5 Likes

True, but since they are also committed to avoiding more invasive methods of geolocation, that might make the job harder to accomplish.

3 Likes

I think they're consumers of a service - the Android or Apple location services. The location comes from the phone and is compared to the fence set in the Hubitat app configuration. A message is sent by the Hubitat app to the Hubitat cloud when the boundary is crossed. I don't think they are relying on non-Apple 3rd party services. I guess I could be wrong.

I think the fence definition lives on the device, so the comparison is done there

On iPhone the free 3rd party options of Geofency, OwnTracks, Locative all work well. They all report consistently and within margin of error between each other. And that range is consistent with Apple Home's own geofence performance.

3 Likes

Apparently you did not understand what @csteele explained. At the risk of beating an apparent dead horse, let me attempt with an example that doesn't involve Hubitat.

I use OwnTracks for geolocation. OwnTracks sends my location to my own MQTT server. Sending those messages depends my phone having connectivity to the network that my MQTT server is on. If that connectivity is interrupted, then OwnTracks lets me see queued messages (they show up as a number on the OwnTracks app, with the number corresponding to the number of unsent messages).

To make my point, I decided to deliberately disable network access to my MQTT server. Within 20 minutes, I had 4 queued messages (see below). While I chose one method to interrupt access, it could have happened for many others, including all those that @csteele alluded to - satellite access, network tower access, the time-slicing algorithm used by any particular phone etc. etc.

Now replace OwnTracks with the Hubitat app. The same issues apply. The app could be generating a geo event, which never makes it out for a variety of reasons that are ALL out of Hubitat's control. And all those things could happen even with a 3rd party tool that Hubitat supports natively. Speaking of which, if you are unaware of it, there is a built-in Life360 integration.

2 Likes

I'm really not here to argue, I'm just unhappy about the state of things....just 2 points and I'm tapping out of this one :slight_smile:

  1. You can't assume everybody is using HE presence so you can't talk about % users unhappy with this
  2. It simply doesn't work well enough and anything that needs attention should get attention

Maybe whoever runs this should find a way to poll users on the biggest pain points to set priorities. I haven't been here long but I wonder if that kind of thing has happened? This does feel like a bit of a startup and that would be amazing data for the team to have.

Absolutely agree! Who chose and continues to use the current Geofencing service that Hubitat uses?

Although certainly true that there are many factors that could cause issues, it does not explain why so many find it necessary to use a different GeoFencing service in order to obtain reliability relative to what's available with Hubitat's GeoFencing..

Thank you for posting this! I have been struggling with the built-in geo service for years. Ever since I migrated from Smartthings, to be precise. I just set this up and it is like night and day compared to the built-in service.

1 Like

I am new to Hubitat as of about 1 month ago. Previously I used another PC based automation software suite. It has its own phone app for the Geofencing and its own cloud server to get the events back to its software in my home.

It just works, so the real question is why can't Hubitat do that.

And this "statistic" arises from what? Hard data? Or your perception?

I'm not looking to start an argument, so I'll explain what I meant/mean.

I said, "so many" are having an issue. That's certainly not a statistic. However, this message thread with more than a few people (many?) posting about their issues with Hubitat GeoFencing / Presence indicates an issue. It may or may not be a majority of Hubitat users that are having this issue, but I didn't say it was a majority of them - because I certainly don't know that it is or isn't. I just know it's more than a few - me included. So, I said, "so many".

Now, to be fair, I had similar issues with SmartThings too when I was using that platform. That's why I used webCoRE Presence then and why I continue to use it now on Hubitat. For me, it's been multitudes better than Hubitat's presence and pretty much rock solid - just by changing the software.

The larger point is that, as indicated in this and other threads I've seen about this topic, 'many' Hubitat users also choose to use alternative GeoFencing / Presence software to obtain reliable results.

1 Like

I sometimes have a lag in the homekit presence. Not always, but most of the time that it happens, it's my spouse's phone, not mine. I haven't figured out why, other than maybe just a poor wifi signal.

1 Like

Are you using a homekit hub? Or just the phone? What's the radius of your geolocation field?

Long time HE user, I read the forums often, but rarely comment.

I use HE for the same reasons I don't use other home automation systems. HE has one variable.. the hub. If I never touched it again, conceivably it would keep chugging along to the end of time.

About a year ago I set up notifications using both my wife's and my phone to get a notification every time one of us left the geo-fence. It works, but not with the kind of consistency that I would rely on. There are just too many variables, most of them rooted in the fact that the phone manufacturers and platforms love to move fast and break things. And there is zero chance that I'm going to put up with constantly babysitting the settings on our Android phones to make sure everything is "just so".

If our life-style ever changes to the point that we need something dependant on presence, I'll use a number pad.

This is probably 'too little, too late' but I wanted to add my $.02 to the topic

I'm a mobile developer who's worked on geofence apps for both iOS and Android and getting presence to 'just work' requires a lot of effort/testing and is continuously changing over time. The below post kind of sums it up nicely:

Since I've spent a lot more time working on Android recently I'll use it as my example -- but the same applies to iOS (which is even more aggressive at keeping things from running in the background)

Google has a guide on setting up a geofence.. you give the OS a location to monitor and it will 'wake' your app and deliver an event when you ENTER/EXIT that location.. simple! :slight_smile:

The problem is -- this alone simply won't work reliably on many devices.. it works great for Google Pixel devices, which accounts for %.06 of Android devices. Other manufacturers like Samsung (34%) have their own logic for keeping apps from running in the background. It makes sense, the fewer apps running, the longer your battery will last!

Also keep in mind that the OS is looking at how often you open a particular app.. if you open Facebook often (for example), the OS might let this app do more in the background. But, if you don't ever open your Hubitat app the OS might think you're not using it and limit what it can do in the background..

Most devices do have a way to exclude apps from this 'battery optimization'. Once this is disabled, the app should get notified when you ENTER/EXIT the geofence.. but even this isn't 100% reliable with my testing.

There's several other tricks that apps like Life360 do to get the OS to start it.. things like using activity detection (which will notify your app when you're DRIVING, for example). Also, it's important that you show a system notification when running in the background to prevent the OS from stopping your app.

Finally, once the app knows the device is home/away, the next step is to notify Hubitat Hub. An app only gets a few seconds to run after it gets that ENTER/EXIT event. Since the device could be sitting idle / screen off it's possible it's not connected to the Internet either. So, the app needs to ensure any request will be re-tried if it fails.

My kids use Life360 and it's very reliable.. how? probably because they've spent TONS of time testing on both platforms so they've been able to use every tweak possible across each version of the OS.

I personally use Android (Samsung S22) and I also had presence issues using the native Hubitat Android app. So, I added my own geofence logic into my dashboard app and I spent a lot of time testing & tweaking it to get it just right. I've had it running for months now and I don't think it's ever missed a presence change.. so at least for me it's been very reliable. Does that mean it's going to work 100% for every Android device/OS out there? Probably not.. like most things it probably could but would just need to be well tested with that device/OS.

Long-story short - I don't blame Hubitat devs for presence not being reliable across Android and iOS as I've seen first-hand how much time it takes to get this working right.

That said, from a users perspective I understand how important presence is to the platform. My security cameras get enabled when I leave the house so I really need it to work.

There could/should be some ways to connect up a 3rd party app like OwnTracks or Life360 to the Hub's mode manager. Both work on iOS and Android and should be pretty reliable. I think many here would prefer OwnTracks since it can talk directly to your Hub and not some 3rd party server. It's not as easy to setup as the native Hubitat app though so maybe someone could post a nice guide on how to do this.. I'm sure it would involve installing this Hub driver and then connecting it to Mode Manager somehow.

4 Likes

My experience is limited to 3 geofencing apps on iPhones. My old home automation system, Geofency and Hubitat. The first two just work out of the box, no issues what so ever. Hubitat doesn't.

There maybe issues with other phones but it is possible to get geofencing working on iPhones.

I'm using an apple TV as a hub. The geolocation radius is rather large, but I thought homekit just used when your phone attached to the wifi signal.