What is the best phone tracking app (OwnTracks vs Zanzito vs other)


i have android phone and i want to add events base location,
what is the best (and less batterty use) app for location for HA ?


1 Like

I’ve tried using OwnTracks, Google Location Sharing and Ariela, and found Google Location Sharing to be the most accurate; though there wasn’t much between it and Ariela.

I just installed GPSLogger (https://www.home-assistant.io/components/gpslogger/) and it’s working fine, so far :wink:

Depends on your needs.

I’ve used OwnTracks, Google Location Sharing, Life360 (both a python script, and the component that’s out there nowadays).

If privacy is an issue, I guess that’s what OwnTracks touts. But it was horribly unreliable for me. Slow to update, to a degree that it was not usable.

Total experience: The best I’ve tried is by far the Life360 with the “new” custom component. Before I found the custom component, Google Location sharing was my go-to.

Now I have implemented an appdaemon “meta-tracker” (see my config of it here) based on the same by arsaboo. This allows me to integrate ping, google, life360, bluetooth tracker, and iOS trackers. I’ve made it so ping and bluetooth can set to “home” but not to “away” (sine you might loose connection to router/bluetooth while home, but you would never connect to them while not home).

You could easily integrate OwnTracks into this, and that might give you the privacy, while also being somewhat reliable (if you’re mostly interested in home/not_home, and don’t mind slow updates of location outside of you home). I just really started to like all the additional info in the Life360, so I kept that. It natively shows speed you’re moving (and uses this to natively give you the state “driving”, “moving” or others, based on this), battery %, whether or not you’re charging, whether wifi is on, etc. Plus it was more straight forward to set up for my girlfriend and kids.

Only issue (for me) is the reliance of the cloud API. So you need to trust (or not care) that your data is private, and you need to trust that they won’t do something that breaks the component.


Zanzito, very reliable, do not drain battery. No updates for some time but still working. I guess the author will update if anything breaks.

If you’re interested, I also have a Composite device_tracker platform that does this.

Very nice!

Yours seems a bit more advanced than mine, so a few questions/suggestions (not sure if they are implemented):

Does it also take into account that some device trackers should only update the “meta-tracker” if they show a specific state? If the source is e.g. “router” or “bluetooth”, these trackers will only update the “meta-tracker” when they show home; if I e.g. turn off wifi/bluetooth at home, these trackers would show me as not_home, but that state will not carry over to the “meta-tracker”.

You could consider adding speed/velocity (at least the Life360 has this attribute). I don’t really use it for automations yet, but I have some ideas where it could be useful (especially if you don’t have an expensive car that tracks that for your home assistant).

Do you take into account that the format of attribute names is different between some of the device_trackers? E.g. to get the battery (percentage) from the Google Location Sharing, it’s reported as battery_level, while for Life360 the exact same stat is reported as battery.

I’ve tried them all and found GPS Logger to be the most reliable for me

These questions are answered (or, at least, I attempted to answer them) in the Watched device notes section of the doc page, but in general the answer is yes.

I suppose the composite tracker could try to include more attributes from the “input” trackers, but it can quickly become pretty messy. As you’ve already noticed, not all tracker platforms use the same attribute names for common data, and even when they do, they don’t report the data the same. A couple of pertinent examples are address – e.g., Google Maps Location Sharing and Life360 don’t report the same address for the same GPS coordinates (they probably use different databases), which can result in the address shown by the composite switching back and forth between the two – and battery charging – Google reports when the device is connected to a charger, whereas Life360 reports when the device is connected to a charger AND is less than 100% (i.e., actually charging. BTW, I use these two examples because I use them myself.)

So it’s not always easy to know how to use the different sets of attributes from the various input trackers. But in the end, the data is always available from the “input” trackers, and can be used directly in automations, or shown via template sensors, etc. So I guess the answer is, I have considered it and concluded to only use a few of the most common attributes, and even there I have to deal with the inconsistencies. :slight_smile:

Sounds like a smart move.

I think I’ll stick with mine for now, since it’s already customized to my trackers. But as soon as something breaks that I don’t know how to fix, I’m happy to know there’s an alternative :slight_smile:

1 Like