Giter Club home page Giter Club logo

Comments (31)

DTTerastar avatar DTTerastar commented on June 15, 2024 2

If you watch in the terminal after 15 minutes all your apple devices will change their mac address. I am working on supporting the home assistant app that adds an id to your iphone: https://apps.apple.com/us/app/room-assistant/id1538642237?ign-itsct=apps_box_link&ign-itscg=30200

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

I include in the fingerprint everything I know to not be random. If you get the same fingerprint then it's either untrackable, or we need to look in more depth to find something else to add to the fingerprint. With apple as focused on privacy as they are, we are lucky, we can deduce this much info from the advertisements.

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

https://sciendo.com/article/10.2478/popets-2019-0057

This mentions we can connect to the GATT service and ask for the model string. That would help you right?

from espresense.

RutgerDiehard avatar RutgerDiehard commented on June 15, 2024

https://sciendo.com/article/10.2478/popets-2019-0057

This mentions we can connect to the GATT service and ask for the model string. That would help you right?

Yes, this looks to be the solution. Great find! Is this easy to add? I wonder if there would be a small performance hit with the GATT query.

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

Well I have 7 esp 32s, if every single one of them made this query it would be a mess. So I think we're in distributed computing territory now. The ESP's need to talk to each other and have only one of them do the query...

from espresense.

brianlaucis avatar brianlaucis commented on June 15, 2024

Same issue two separate Iphone's with the name fingerprint ID.

from espresense.

ee02217 avatar ee02217 commented on June 15, 2024

I think I have the same issue. As you can see in the image below, on the left side, the person with the phone, was away from home (very very far away, and I live in a 5th floor, so signal was not captured from the street), but it still received some location updates (incorrectly):
image

I can now clearly identify that this is picking two different devices. While the known device is stationary, it is picking up signal of some other device.

from espresense.

Tokn59 avatar Tokn59 commented on June 15, 2024

GREAT project but same issue with the iPhone ID's .. It does show different MAC addresses in the Terminal though .. couldn't we use the MAC address iso the Apple ID: ? also .. the MAC addresses shown in the Terminal are NOT the same as on the iPhones ??? I do not recognise any of them on my Apple devices or are they in a different format ?

from espresense.

RutgerDiehard avatar RutgerDiehard commented on June 15, 2024

If you watch in the terminal after 15 minutes all your apple devices will change their mac address. I am working on supporting the home assistant app that adds an id to your iphone: https://apps.apple.com/us/app/room-assistant/id1538642237?ign-itsct=apps_box_link&ign-itscg=30200

That's great news @DTTerastar! I'm quite keen to work around this issue as I thought I could fix it by simply getting rid of the iPhone 8 Plus (I've just got an iPhone 13 Pro Max, so my daughter will have my old 11 Pro Max and the 8 Plus would be the "emergency phone"). Unfortunately, it seems Apple fully backs up and restores ALL configuration onto a new phone - including the elements that ESPresense uses to make up the Bluetooth ID. So now my new iPhone 13 Pro Max has the same ID as the 11 Pro Max. Million dollar question is, do you have an ETA for Room-Assistant app support?

from espresense.

corgan2222 avatar corgan2222 commented on June 15, 2024

If you watch in the terminal after 15 minutes all your apple devices will change their mac address. I am working on supporting the home assistant app that adds an id to your iphone: https://apps.apple.com/us/app/room-assistant/id1538642237?ign-itsct=apps_box_link&ign-itscg=30200

That's fantastic!

from espresense.

martinrosenauer avatar martinrosenauer commented on June 15, 2024

Great project, thanks!

Wondering, wouldn’t it be possible to take the same approach with Apple devices as Andrew Freyer’s monitor.sh script does ? (It works well).. https://github.com/andrewjfreyer/monitor

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

I think that uses classic bluetooth. With BTLE I can get 3 position updates a second for certain devices, classic bluetooth is much slower and uses more battery. Monitor is very clever about how often it probes for device. The ESP32 also isn't great at classic bluetooth in general, but it is a possibility for hard to fingerprint devices...

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

2.0.0 is out with this feature. You must turn on Query for it to happen. It's not 100% reliable yet, please help test it!

from espresense.

ivanvach avatar ivanvach commented on June 15, 2024

Tested O.K. with 2 iPhones. Somewhat weird numbers but I believe it is beyond your control

iPhone12 - reported as apple:1006:10-8-iphone13-2
iPhone11 - reported as apple:1006:10-8-iphone12-3

Without the Query active they both would be reported as

apple:1006:10-8

There are no other iPhones around so there is no explanation why suffixes -2 and -3 not -1. Also iPhone12 shows as iphone13 and iphone11 as iphone12. Furthermore each phone has it's own name in the iPhone settings. Yet in the MQTT JSON the name is iphone.

"name":"iPhone"

Regardless none of the above is crucial to the performance of ESPresence. You did a very good job. Thanks.

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

iPhone12 = iPhone13,2. that's just apples wacky "model" numbering. All i do it it kebab it so the , becomes -.
https://www.theserverside.com/definition/Kebab-case#:~:text=Kebab%20case%20%2D%2D%20or%20kebab,between%20words%20with%20a%20dash.&text=The%20term%20comes%20from%20the,together%20on%20a%20shish%20kebab.

from espresense.

Tokn59 avatar Tokn59 commented on June 15, 2024

Just installed the latest build (2.0) .. Thank you !! I see 2 different iPhones now which is correct but the MAC addresses do not match.

Sample :

12:51:22.814 -> 0 New | MAC: 66396e8036d3, ID: apple:1006:10-6
12:53:18.705 -> 0 New | MAC: 7a86b131eff6, ID: apple:1006:10-12
12:53:18.705 -> 0 New | MAC: 7a86b131eff6, ID: apple:1006:10-12
12:55:51.388 -> �[31m1 Del | MAC: 65a0f5b16ba3, ID: apple:1005:9-12

What is the meaning of "Del" btw ?

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

Turn on the "Query" feature to ask the phones what model number they are to see if that makes the fingerprint unique.

Del is the opposite of New. It means we haven't seen this mac for 300 seconds so were stopping tracking it. Once it comes back it'll be a New. We keep a bunch of filters (to reduce rssi noise) per mac so we can't keep all macs in memory.

from espresense.

Tokn59 avatar Tokn59 commented on June 15, 2024

Hi, thank you for the quick response .. I have it already on. Am I missing something ?

image

from espresense.

Tokn59 avatar Tokn59 commented on June 15, 2024

This is the result :

image

from espresense.

Tokn59 avatar Tokn59 commented on June 15, 2024

Some of my devices are Apple Airtags. Interesting article about changing their ID's can be found here : https://adamcatley.com/AirTag

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

Install https://apps.apple.com/us/app/room-assistant/id1538642237?ign-itsct=apps_box_link&ign-itscg=30200 you'll then see the uuid shown in the app.

from espresense.

Tokn59 avatar Tokn59 commented on June 15, 2024

Great ! Thanks man. Now the device ID as shown in the App is "seen" by the beacon. Strange thing is I have 2 iphones, one broadcasts and is seen by the beacon and the other one not. Not sure why ...

Thank You ! Curious to seen how reliable this can all work in practice !

from espresense.

Tokn59 avatar Tokn59 commented on June 15, 2024

Also iPad Mini 4 doesn't show up .... Only my iPhone 8+ running IOS 15.x

from espresense.

Tokn59 avatar Tokn59 commented on June 15, 2024

Hi, I successfully installed the room-assistant integration in Home Assistant via MQTT. First conclusion is that indeed the iPad Mini does not update regularly (has been doing it once or twice) Calibration does seem to work relatively well ! Great job man !!!

image

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

I've never used the room assistant integration. I haven't designed things to be compatible. Just the app so far.

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

Do you mean mqtt_room?

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

In order for the device to send nearby info it needs to be added to iCloud with at least 2 other devices. Is your iPad Mini added to iCloud?

from espresense.

Tokn59 avatar Tokn59 commented on June 15, 2024

In order for the device to send nearby info it needs to be added to iCloud with at least 2 other devices. Is your iPad Mini added to iCloud?

That was the issue ! I recently changed my Apple ID password but wasn't sync'ed withe the iPad yet .. Now works perfectly. BIG thanks !

from espresense.

Tokn59 avatar Tokn59 commented on June 15, 2024

Do you mean mqtt_room?

I use both now in Home Assistant. mqtt_room for the Apple Airtags (not working well, ID's change constantly) and the normal sensor MQTT for the roomassistant MQTT messages

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

Yeah, Airtags have too much privacy baked in to actually fully track them. BUT, we can at least "count" the number of them in a room w/ an additional app (still need to write that!).

from espresense.

DTTerastar avatar DTTerastar commented on June 15, 2024

I'm going to close this since it's largely fixed with the room assistant app support, but specific issues w/ getting the new fingerprints to work can be opened as separate issues.

from espresense.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.