dalehumby / ESPHome-Apple-Watch-detection

ESPHome BLE Apple Watch presence detection
MIT License
328 stars 16 forks source link

Airtag? #8

Open dereitz opened 3 years ago

dereitz commented 3 years ago

Would you happen to know if a similar trick could be used to detect the presence of an Airtag? I only have one.

Thanks in advance!

sct1000 commented 3 years ago

Airtag detection might be possible, based on the reverse-engineering here:

Byte # Value Description
0 0x1E Advertising data length: 31 (the maximum allowed)
1 0xFF Advertising data type: Manufacturer Specific Data
2-3 0x004C Apple’s company identifier
4 0x12 Apple payload type to indicate a FindMy network broadcast
5 0x19 Apple payload length (31 - 6 = 25 = 0x19)
6 0x10 Status byte
7-29 Varies EC P-224 public key used by FindMy network. Changes daily
30 0-3 Upper 2 bits of first byte of ECC public key
31 Varies Crypto counter value? Changes every 15 minutes to a random value
gretel commented 2 years ago

my dog wants this :)

dereitz commented 2 years ago

my dog wants this :)

exact same reason I wanted this! :)

dalehumby commented 2 years ago

I think if you only have 1 Airtag, (or at least don't want to differentiate between tags if you have multiple) then this could be possible. The problem is I don't have an Airtag so can't test.

If anyone has Airtags and can help me test, and is familiar with blescan on Linux/Raspberry Pi we can see if this is viable.


It's a bit janky, but have you considered having 2 tags on your dogs collar?

  1. Airtag, for when the dog is wandering around the neighbourhood (or beyond.)
  2. Generic BLE tag (eg TrackR Pixel) where you can detect the rssi/presence using ESP32 + ESPHome devices around the house, for when your dog is on your property.
meistermolli commented 1 year ago

hi, is there something new? Maybe I can help .. but I need your help. Maybe Teamview? Have Esp32 mini / Many Airtags.

Thanks