Looking for Life360 alternative for presence detection for home alarm

With the person entity being able to accept multiple trackers wouldn’t a composite tracker be a moot point? Just curious.

1 Like

One would think (hope) so.

When the person entity first came out, I tried to switch to it, but it just didn’t work as well, and as far as I know, still doesn’t. The main issue is it doesn’t take the “last seen” attributes into account, so can end up with the wrong state. (I haven’t checked in a while, but the last time I looked, that was still the case.)

For example, let’s say you have two device tracker entities for the same person/device. One of them updates with new location data (latitude, longitude & gps_accuracy), so the person entity uses that information. But then the other updates only attributes other than the location attributes (e.g., battery), and its “last seen” attribute, therefore, does not change (i.e., is older than the “last seen” attribute of the other tracker.) The person entity doesn’t care and just uses the old location data, effectively moving itself to the wrong place.

As a concrete example, let’s say both “input” entities were home. Then you leave the home zone. One of the inputs updates to a location outside the home zone, so the person changes to not home. But then the other input updates as mentioned, but still has old location information. Well, the person entity updates to say you’re home again!

Then there are router type trackers and binary sensors. Often, they are very good at recognizing when you (your device) comes home, but they are terrible at knowing when you have left home. (They have algorithms that assume since you haven’t been seen for some period of time you must have left home.) But that isn’t always the case, and even if it is, it is quite a while before they figure it out and change state.

Then there’s the case where someone has multiple phones/devices, that they feed into the person entity. But often, they leave home with only some of those devices, leaving one or more home. The person entity sees the devices that have been left home changing, so assumes, hey, you must have popped home again!

There are more cases, but hopefully you get the idea.

The composite entity avoids most of those issues by using the “last seen” attribute, and only uses an update if it really is newer than the last update it used. And it has a “require movement” feature (albeit, the implementation is probably too simple) that can handle the case of one or more devices being left home (or someplace.)

So, yeah, I’d like the composite integration to be completely superseded by the person entity, but as far as I know, that hasn’t happened yet. The two integrations just have two different approaches to the same problem, and at least for me, the composite integration handles the various scenarios better.

4 Likes

Ok that makes a ton of sense! I have seen these issues pop up and didn’t really think about it. Keep my eye on your solution. Thanks!

I did core HA person and @pnbruckner 's composite entity from the same device trackers list. I will investigate which “composite” entity is better.

If I’m understanding the docs, the composite tracker always takes the state of the last updated watched device. So how does this function with something like the iPhone that will shut down the WiFi radio overnight to conserve battery? Would that trigger an away state?

This is why I just went with WiFi connected = home, WiFi disconnected then check gps devices and if 2/3 are away then allow it to switch to away.

@PrayerfulDrop @bigboban

A common use case would be to feed multiple inputs into a composite entity, and then feed the composite entity into the person entity. Then you get the best of both worlds.

And, FWIW, I’ve even seen some people feed some entities into one composite entity, and then feed that composite entity, and some other entities, into a second composite entity (and then feed that final composite entity into a person entity.) This can handle some unusual use cases, e.g., where the “require movement” feature needs to be used with some input entities but not others.

Not by default for non-GPS-based inputs. There is a section in the docs that tries to explain how this works in more detail.

What type of entity do you mean? A GPS-based device tracker? A router type device tracker? A binary sensor? …?

If it’s a GPS-based device tracker, and if it has a “last seen” type attribute, then the composite will effectively ignore it while it’s not updating.

If it’s a router type device tracker, then by default, it will ignore its “away” states. Same would be true for a binary sensor (by default it ignores “off” states.)

This is one of the main features of the composite integration, to combine multiple types of inputs, and use their data in the most reasonable way.

BTW, the composite also implements state save/restore through restarts, so if it takes some time for the inputs to become active and start providing location updates, the tracker will at least have the last known location (from before the restart.)

Oh, and I forgot one other big feature of the composite. It ignores “unknown” and “unavailable” states of the inputs! So, when the inputs hiccup, and they temporarily change to “unavailable” (which the HA architecture requires), the composite simply ignores that. No data is effectively the same as old data. Ignore it if you have something newer.

Since we’re talking about my composite tracker integration, I should mention there is a community topic for it:

Composite Device Tracker Platform - Share your Projects! - Home Assistant Community (home-assistant.io)

I’m new to all of this, so go easy on me. I’m curious though, is there any way for the HA companion app to see other app notifications and act on them. For instance, I can have Life360 send me a notification when I leave home. Can the HA app see this and then show me as away somehow?

I’m sure this has been discussed, but a quick search didn’t show me anything obvious.

Thanks for the info.

Hi GregTR,
you can use the icloud.update service in an automation, as suggested in the docs, to “force” the update of iCloud state. For example I have created an automation that force the update when the door was opened.
Yes I have received some emails from apple… now it seems stopped … I have created a password for app in iCloud… I don’t know if this stopped the emails.
The companion app works fine but your HA instance must be reacheable from internet… otherwise when you leave home your devices will result always “at home”.
Moreover on devices will be a prompt about sharing location (just to say that some annoying stuff are present).
You can install tailscale and create a VPN and use the companion app… but I have noticed an increase in battery consumption.
I agree that life360 works better… until it worked :face_with_raised_eyebrow:

UPDATE:
I spoke too soon… for iCloud official integreation.
Now I have got many error messages in the logs


2024-01-06 12:12:11.467 ERROR (SyncWorker_0) [pyicloud.base] Authentication required for Account. (421)
2024-01-06 12:12:11.654 ERROR (SyncWorker_0) [pyicloud.base] Authentication required for Account. (450)
2024-01-06 12:12:11.654 ERROR (SyncWorker_0) [homeassistant.components.icloud.account] Unknown iCloud error: Authentication required for Account.

even if the integration is running… it’s very annoying.

Maybe I will try the free trial for nabu casa and check the companion app on my family devices.

It’s really seems that life360 was the best solution until now for my needs.

Yes you can create an automation that send a notification when a person reach/leave home… using a trigger on presence.
Notification can be sent on Companion App, IFTT app, Telegram, etc… it’s easy to do.
Remember that HA instance must be reacheable from internet otherwise Companion App will not detect when you leave home and HA will show always “at home”

I think you may have misunderstood what I was getting at. I’m talking about HA seeing notifications coming from other apps (Life360). When Life360 sends me a notification saying I have left home, then HA would read that notification and act on it, showing me away.

Like others, I’ve noticed that the Life360 app was more reliable and accurate than either the HA companion tracking, google maps tracking, or the unifi wifi tracking. I’m just trying to figure out other avenues that we could possibly use.

I appreciate any info you have on this.

I have to admit, I only see my other Apple devices in the Freinds and Family list, not my actually Friends and Family. According to the instructions this is expected behaviour since 2022.

I think he means can the HA Compantion app ‘see’ notifications from other apps on your phone and then act upon their contents. I don;t think it can, the notifications it mentions are notifications that Home Assistant actually send TO the phone, not notifications already on the phone.

I’m definitely looking into this (just installing now). Just a pity that the only relable GPS tracker at the moment is the HA Companion app (I can’t ask all my family to install this).

As for Binary sensors, I did used to use the Netgear Integration. But have recently uninstalled it as it creates a whole load of ‘unknown’ and ‘’ entities, and multiple phone/tablet/etc entities since devices now come with IP and MAC spoofing as standard security measures, and so you end up with loads of ‘dead’ devices as entities. I don’t know why the integration doesn’t clear up these old entities by default, but it doesn’t on my setup (even after the integration has been removed, I still have some which for some reason just will not delete, grr). I was thinking of maybe using the Ping Integration, but then we fall into the ever changing IP/MAC address of the device problem.

I personally use Tasker (on Android) to intercept notifications and perform actions. I’m sure that it would be able to send an MQTT message or something like that to an HA server (subject to the usual security considerations regarding access to the HA/MQTT server from internet)

Sorry maybe I am confused. If they are in your Family for sharing services then they will show up in the iCloud v3. The FindMy with friends does not work. If that is what you were referring to.

Sorry for missunderstanding.
Some years ago this could be done with IFTTT. With life360 I sent a “trigger” to IFTTT to activate/deactivate my old alarm (iSmartAlarm). But life360 stops IFTTT integration many years ago. I don’t think HA or Companion App could read the notification sent in your mobile device.

Is stable the authentication? With the official iCloud all works fine for the first days… but then I have found many issues regarding the authentication.

I haven’t had issues with the HACS iCloud v3 RC9 yet. But I am only a week in.

With the built-in Apple Cloud HA solution I have had nothing but inaccuracies.