Hi,
It seems that native Home Assistant geolocation tracking isn’t working properly for me.**
Here’s what I’ve done so far:
Created a new user in HA
Under Settings → People, I assigned their iPhone as the device belonging to that person
On the iPhone:
Location Access is set to Always
Background App Refresh and Mobile Data are both enabled for the HA app
However, when I create a badge on a dashboard and select that person as the entity, their state always shows Home even when they’re clearly far from home.
Does geolocation tracking work reliably for you?
Have I missed any critical setting?
Also, is there a better or more reliable way to track a person’s presence in Home Assistant (e.g. using third-party integrations or combined methods)?
The two most common causes of what you have described are:
No external access to HA. If the phone can’t reach HA from outside your LAN (i.e. through the internet) or the Person has only been granted Local access, there’s no way for the phone to tell HA it’s not home.
Users having devices that stay at home, which they log into with the same user as they use on their phone. This one confuses a lot of users. When you log in with the user attached to your person, and the device being logged into has a device tracker entity, that device tracker will attach to that person.
For simple presence (home vs not home) it can help a lot to have a “stationary” tracker in addition to the phone trackers. There are a number of options including router-based and Bluetooth-based trackers. In our house we added BLE Beacons on our key chains and that has helped make presence detection a lot more reliable.
I also recently had this issue and I access home assistant via the cloudflared add on via my own domain. I’ve never had any issues with device location (iPhone) until recently. They say the devices are always home when they’re clearly not. I think it started after an update. But I’ve tried troubleshooting by removing the user and the device and re adding everything and no luck.