TL;DR: Feature request for detecting the proximity of proprietary Bluetooth LE trackers like the AirTag, Tile, Chipolo, or the newly launched Android “Find My Device” range of products.
I would very much appreciate the ability to track if family members or guests are at home or not by using a simple device that can be easily shared with a guest or an elderly (i.e. not using the HA companion app) and which we already own anyway.
These could be used to arm the alarm when everyone left the house, turn off the heating, the lights and so on.
These days devices like the AirTag, Chipolo, Tile and now even an Android “Find My” equivalent are increasingly popular, so it would make sense if we could double their use as an arrival/presence sensor using the onboard Bluetooth of the Raspberry Pi for example.
There is now a standard for these BLE devices for which both Apple and Google have partnered to create, so hopefully building additional functionality around that should be easy enough and not risk being broken by future software updates.
As I understand it, the thing that makes detecting these devices difficult is the the fact that they change their MAC address regularly for privacy reasons, but the payload they broadcast contains a consistent UUID which makes tracking them possible.
There’s also a security related component: determining if new AirTags or other trackers are near my house, which is what I’d like to do (and then some cross-correlation i.e. if there’s a device chilling out on my car I don’t know about).
I use this script that I wrote, and have been using it for months now, it works very reliably and is pretty straightforward. I use it with some cheap Joyway beacons off AliExpress.
Bear in mind that Tiles don’t broadcast once paired with a phone, so that’s not going to be useful. I don’t know about Airtags either.
It relies on MAC addresses, which works fine for this use case- it does my lights and heating, and sets our alarm when we leave. Sadly, I can’t work out any decent way of verifying its identity securely (cryptographic rotating signals seem to be a proprietary device only thing), so I don’t let it disarm my alarm. We both have one on our keys, and it’s never once falsely set on us.
I’ve got it on three RPI Model Bs around the house.
These Bluetooth BLE trackers (Apple Find My/AirTag, Google Find My Device) change their mac address frequently, at least once every 24h, in order to prevent unauthorised monitoring for privacy reasons.
At least in the case of the AirTags, I remember reading that if you obtain the private encryption key used to pair the device, you can then decode the info that they broadcast.