Try to Track iBeacons!

Hello!
I just bought myself a SparkFun ESP32 Thing and have been playing with ESPHome.
Very, very cool. Thank you every who contributes to this project.

I want to track bluetooth beacons, I’m going to put one on my Dog’s Collar so that when he’s in the room with the motion sensor, he doesn’t trip it.

But I’ve realiesd the beacons I want to track are iBeacons (they’re XY Find It 3 dongles). Their BT MAC changes all the time, but they always broadcast a consistent UUID.

I currently use a single HappyBubbles to track them, and it works great. I’m hoping to do same with ESPHome.

First of all, I realised the current stable version doesn’t support this. It supports broadcasting of iBeacons, but not tracking them.
So I did some digging and of course I’m not the only one to request this, and in fact I found this lovely PR right here where a great person has already commited the changes!

Sow now I’m running the dev version by following the instructions here and that’s working fine.

This, of course, is where I fall down though!
In Happy Bubbles, the UUID I track look like this: 08885dd0111b11e491910800200c9a66_2406_dc64

The commit above needs a 16, 32 or 128bit UUID. But I have no idea how to find that, or to extract it from the iBeacon UUID I get from Happy Bubbles.

If I try to paste that exact string into my yaml it gives me an error. If I try just putting the first 8 characters in “08885dd0” it accepts it, but of course doesn’t find my beacon.

So yea… I’m a bit stuck! I’m wondering if anyone:

a) Has this working at all (Given it’s dev, it’s unlikely)
b) Knows how to get a 16, 32 or 128bit UUID from what Happy Bubbles sees above.

Many thanks!!

Try the first 32 chars (which is 128 bit) or the last 32 chars.

This page https://support.kontakt.io/hc/en-gb/articles/201620741-iBeacon-Parameters-UUID-Major-and-Minor suggests that iBeacons only ever have a 32 bit UUID.

Perhaps the 2406 and dc64 are major & minor numbers? They are 0-65535 or 0-FFFF.

Thanks @nickrout

I actually found how to get a proper ID, using a BT tracker app on my phone.
Turns out it’s: 08885DD0-111B-11E4-9191-0900200C9A66

But, alas, I can’t get it to “see” my beacon. So I’ll have to keep testing.

Really really appreciate the reply though, thank you!!

Edit: Duh yes, you’re right, those are the major and minor numbers!!! Thank you for pointing this out.

1 Like

The hyphens shouldn’t make a difference, but they might.

Can’t think of anything else, except to watch the logs carefully, and bump up the logging level.

Thanks @nickrout. I’ve tried without the hyphens but the validator doesn’t accept it then.
I actually logged a github issue here and it was pointed out to me the BT UUID I was using was wrong - you can get the service_uuid by putting things into extreme debug mode.

So I did that and yes, I got a new service_uuid. But even putting that in doesn’t work.

I will keep tracking it via github.