Life360+

FYI: I added a new feature to this driver to save location history. It's disabled by default but when enabled will save the past 100 locations.

I'm using the locations for a new location history feature in HD+ which I described here:

2 Likes

Thanks! Still working flawlessly btw

I installed this yesterday, followed the instructions and set everything up without any issues. Then I set up some test rules to try and get a feeling how it worked. The rules did not work and when I came home i noticed the devices had not updated since I set it up. I tried to update the token with no luck. I finally uninstalled and reinstalled, but now I cannot connect at all. I have no idea what's going on.

It would be handy to not have distance in miles only. You should be able to choose between miles and kilometres.

This is actually very doable without really needing to modify this app itself much.

I've been digging around under the hood and understanding what the API actually brings back, and also different API calls we can be making. One thing that does come back from the individual user call is the miles / kilometers user preference a user sets in the app. It wouldn't even need to be a separate thing in this habitat app. This could just simply honor your app’s setting with no further involvement.

I have tried numerous times to get the "access_token" but is not showing in developer tools. I read something say that life360 does not allow to see the "access_token" anymore is this true and is there a work around?

1 Like

@jpage4500 - Any chance of shifting this to the Integrations tab in lieu of the Apps tab for the updated HE UI? Just adding menu: "Integrations" to the app definition block should do it.

I can’t answer for him of course, but I am putting quite a lot of time into a big overhaul of this app. No I’m no code writing genius. I have a very large Claude budget and over the past year my job (like many…) has shifted from manually doing this type of work ish to full time agent wrangling and I’ve gotten fairly good it at.

I’m chiming in just to ACK what you’re asking. I see the point of moving it out of Apps and into Integrations. This doesn’t really have ā€œa UIā€ exactly. @jpage4500 has another Hubitat project that DOES (kind of) give it a UI though .

I’ve ended up (over…) extending the Life360+ settings panel for a couple things that really don’t belong in ā€œsettingsā€ exactly, but really it’s just not enough to try to build an actual APP for.

anyway… I say all that to say that I’d vote on moving it - BUT - I would need to see how the hubitat handles a fallback scenario where someone is running some old-A55 pre-UI revamp version that wouldn’t understand ā€menu:Integrations".

1 Like

Understood- I have checked your PR on this and its very lengthy...... lol

I do not see any comments back from @jpage4500 - which I'm sure he has a heavy load with the dashboard app. If you could slide this into your PR, that would work. :slight_smile:

I’ve been helping some with under the hood work and have added this feature. There’s two sides to this. The individual members’ preference and the system itself.

By default, this app will respect whatever EACH member has selected in their Life360 mobile app. This can be overridden/reset in EACH member’s device:

Also by default, logging will respect EACH user’s setting. So yes, that means each member-specific log entry will respect that member’s setting which will display logs in mixed units. THAT can be overridden also in this app’s settings. The ā€œHubitat systemā€ setting is whatever you’ve set for ā€œTemp Scaleā€ in the Hubitat system settings for Fahrenheit vs Celsius, or you can hard wire it for your unit preference.

Hey!

This has been added to the upcoming release.

M.

Hey @jpage4500 or @matt.palermo , running into a recurring error on every poll cycle with Life360+. Screenshot below.

captureCookiesAsync is throwing a MissingMethodException on tokenize(). Looks like when a response has multiple Set-Cookie headers (Cloudflare sends __cf_bm and _cfuvid separately), response.headers.get("Set-Cookie") returns a ResponseHeaders object instead of a plain String, and .tokenize(';') chokes on it.

Also noticing memberCount:0 in the heartbeat log for a circle that should have members, which lines up with the cookie jar probably never getting built since the method throws before it finishes.

Devices did pair initially, so setup isn't fully blocked, but ongoing polling looks affected. Sent you both a full writeup with a suggested fix separately. Happy to test a patch if you want another set of eyes on it.

oooff…

I do see your DM. I’m looking into it now.

1 Like

(Oops I thought I pasted something here out loud and not just in a DM)

This has been fixed in a PR. I was thinking of letting it sit for a little while waiting on more bug reports. Now that a few days has gone by and a whopping 5 people have seen this… :grinning_face:

(While I’m here, I'm sneaking in a feature that I should've done back when I originally added this. The ability to turn OFF the per-poll driving logging and have just member start/stop messages instead.)