Presence detection with an iPhone

Has anyone considered using a Bluetooth name request, addressed to the burned in MAC address for presence detection using an iPhone?

A search shows that the usual response to questions about iPhones is to install a generic beacon app.

I’ve been using the Andrew Freyer “Monitor” system for presence detection for some time. It’s not bad, but Monitor has some issues and it doesn’t seem to be supported any more. OpenMQTTGateway is working really well for me with my dumb “Nut” brand bluetooth beacons, but Apple’s anonymous MAC addresses stop it detecting the iPhone. “Monitor” gets around this problem without requiring a special beacon app installed on the iPhone - the catch is that you have to manually tell Monitor the burned in MAC address of each phone that you want to use for presence detection. If OpenMQTTGateway could do this, it could neatly replace a bunch of Raspberry Pi devices with cheaper and more reliable ESP32s.

Here’s a quote from the Monitor documentation:
https://github.com/andrewjfreyer/monitor

Issuing a name request to the same private mac address every few seconds is a reliable - albeit rudimentary - way of detecting whether that device is "present " (it responds to the name request) or "absent " (no response to the name request is received).

Hi @Shred

While OpenMQTTGateway has not got this feature yet, we have started implementing exactly this in Theengs Gateway, with the ability to use Apple Watch, iPhone and iPad presence detection, with an added security feature of an unlocked property, which allows certain security related automations like opening gates, garage doors and even door locks automatically only when the Apple device is detected as present and it’s been worn/unlocked by its authorised user.

Currently this is only fully implemented in the development version of Theengs Gateway as we’re still finishing off some last touches for the auto discovery as well, but once this work has been done there will be a new release of Theengs Gateway.

As Theengs Gateway is able to receive and decode undecoded messages from OpenMQTTGateway (with the esp32dev-ble-mqtt-undecoded binary) it is possibly to have several ESP32s dotted around your home with OpenMQTTGateway to have a good cover of reception, and only one central Theengs Gateway, on a Raspberry Pi for example, for the decoding of the Apple Watch, iPhone or iPad messages.

Any other devices with randomly changing Bluetooth MAC addresses can obviously also be tracked for presence detection.

If, how and when we might be porting this to OpenMQTTGateway is also being evaluated currently.

1 Like

Thanks DigiH.

That sounds like a really positive development.

I’ve found OpenMQTTGateway really easy to get going. I just dug an old / unused ESP32 board out of my junk box, flashed the firmware on to it and away it went. Home Assistant picked everything up automatically. Truly a “next > next > next > job done” experience.

2 Likes