Can Hubitat intergrate with Apple’s find my the same why it does with Life 360
No... Apple doesn't have an open API
You can use HomeBridge to integrate Hubitat with Apple HomeKit. Then use a virtual Hubitat switch device in a HomeKit automation to change states based on whether HomeKit thinks your home or away.
Is that what you’d like to achieve?
That may be true but there do appear to be Node-RED flows that can tap into the Apple Find My ecosystem.
No idea how well they work (if at all). But depending on what OP’s trying to do, it might be possible to integrate with Hubitat.
This is the way to go. I hesitated doing this for a while and once I did, never looked back. Just having the snappy homekit dashboard is well worth it.
They do have an API for Find My that Developers can access (eg. AFAIK, Daniel Pfister's node-red integration that @marktheknife linked to uses it).
Thanks to @marktheknife telling us about it, I tested it out this morning. It works brilliantly. Let's you locate all your Apple devices, including location every 5 minutes. And lets you send messages to any particular device .... here's an example:
I didn't think that was open on their API
Oh wow that is cool.
edit:
Just tried the "Locate My Devices" node - located my iDevices no problem. Which also means Apple knows where they are at all (reported) times as well..
thanks @marktheknife - good find. I used the first Node as it seemed more device neutral.
Cool, now how do I set it up so that the Hubitat Hub can see where they are
- You need to install Node-RED on some computer on your LAN that is left on all the time. Most people use an SBC, but really you can run it on a Windows PC or a Mac or even using Docker on Synology.
https://nodered.org - Install/configure @fblackburn's node-red nodes for Hubitat.
Node-RED nodes for hubitat - Install the find-my node that @marktheknife linked to
- Send the parsed output from find-my to a Hubitat virtual device that has the location attributes you need.
Only if you enrolled them into Find-My when you set the devices up.
Great point - assume that's pretty common. I must have as all my devices show up. I am going to try multiple accounts and see what happens.
Playing around, as long as you have the account information, the location information seems pretty accurate... unless you turn off the the Find My Device option on the phone, etc. at which time it just keeps the last reported location.
Can this locate Apple AirTags ?
As a follow up, I've had my NR flow running for about a week now and the accuracy appears to be about 10.4 meters (~34ft) for an iPhone 7 and 12.8 meters (~42ft) for an iPhone 6s. YMMV
According to Apple any airtags registered to the account can be located using this also.
This method appears to be a good way to get presence for the iPhone. If anyone is interested:
Node Red Flow:
I'm using the Locate My Devices (input) so that I can trigger a request from the HE device based on the attribute updateReqTS, and also using an inject node on a 5 minute interval. I'm only interested in the iPhones for the accounts so the template node is set to;
{
"name": "{{ payload.iPhone.0.displayName }}",
"latitude":"{{ payload.iPhone.0.locationInfo.latitude }}",
"longitude": "{{ payload.iPhone.0.locationInfo.longitude }}",
"deviceId": "{{ payload.iPhone.0.deviceID }}",
"currAddr": {
"sNum":"{{ payload.iPhone.0.locationInfo.currentAddress.house_number }}",
"sName":"{{ payload.iPhone.0.locationInfo.currentAddress.road }}",
"city":"{{ payload.iPhone.0.locationInfo.currentAddress.city }}",
"state":"{{ payload.iPhone.0.locationInfo.currentAddress.state }}",
"post":"{{ payload.iPhone.0.locationInfo.currentAddress.postcode }}",
"country":"{{ payload.iPhone.0.locationInfo.currentAddress.country_code }}"
},
"mapUrl":"{{ payload.iPhone.0.locationInfo.osmUrl }}"
}
Device driver I'm using on the HE side is at:
https://raw.githubusercontent.com/thebearmay/hubitat/main/appleFindMe.groovy
So I had this bookmarked and finally went to set it up. Can you confirm if you have 2FA on your account? I think that's where my problem is. I even tried making an app password but still just getting 401 Unauthorized. Not going to turn off 2FA so might be SOL. May have to try and hack the code to support the app password login.
Was playing with it the other day and noticed that they've changed something around the authentication but haven't had the chance to track it down.
Its been broken since October, something that apple changed, bummer