Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enrolling iPhone 15 Pro doesn't work #1181

Open
Coder84619 opened this issue Jan 5, 2024 · 37 comments
Open

Enrolling iPhone 15 Pro doesn't work #1181

Coder84619 opened this issue Jan 5, 2024 · 37 comments
Labels
bug Something isn't working

Comments

@Coder84619
Copy link

Describe the bug

I have an iPhone 15 Pro on iOS 17.2.1, and running ESPresence 3.3.1. I click Enroll in ESPresence, and I only get a 'regular' Bluetooth pairing prompt in iOS, not a "secure" prompt. After I tap Pair in iOS, I do NOT see ANY resulting device listed in ESPresence.

Version

3.3.1

Active scan enabled

No response

Include filter

No response

Exclude filter

No response

Query filter

No response

Firmware flavor

No response

Device (be specific)

iPhone 15 Pro, iOS 17.2.1

Logs

No response

Screenshots

No response

@Coder84619 Coder84619 added the bug Something isn't working label Jan 5, 2024
@adolfonovo
Copy link

Same here . Following

@meetbryce
Copy link

From my iPhone it looks like the pairing is successful but ESPresense doesn't seem to recognise or acknowledge it in any way. The modal stays up until it times out.

Screenshot 2024-01-11 at 13 37 05

@adolfonovo
Copy link

From my iPhone it looks like the pairing is successful but ESPresense doesn't seem to recognise or acknowledge it in any way. The modal stays up until it times out.

Screenshot 2024-01-11 at 13 37 05

Yes! Same behavior. I also tried with the Apple Watch with out success

@meetbryce
Copy link

@adolfonovo I was able to get it working by following the instructions here under Lookup Method (requires a Mac)

I figured out which one it was based on Date Modified matching the date I got my phone.

Screenshot 2024-01-11 at 14 13 50

Then I had to set up the sensor definition as shown below based on what I found here:

- platform: mqtt_room
    name: "Bryce iPhone BLE"
    device_id: "irk:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    state_topic: "espresense/devices/irk:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    timeout: 5
    away_timeout: 180

@Coder84619
Copy link
Author

Coder84619 commented Jan 11, 2024

Yes one can use a Mac. But then in the ESpresence screen it's not listed under devices with a friendly name. And the Mac method only works for devices in the same icloud account. It won't work for friends/family devices. So it needs to be fixed.

@meetbryce
Copy link

Good to know! That's going to be become a problem for me in a few hours then when I try to add a 2nd device with a separate iCloud =(

@adolfonovo
Copy link

Thans for the info…. And what do you think could be the reason? iOS 17? ESPresense bug?
I guess the first one because i tried the enroll feature with an android device and works perfectly

@Coder84619
Copy link
Author

@adolfonovo But I don't think Android phones use the randomized BT MACs with IRKs? I have no clue where the bug is, but it's clearly broken.

@meetbryce
Copy link

I wasn't able to connect an iPhone 14 Pro though the UI, so I suspect it's iOS 17 related.

@adolfonovo
Copy link

I wasn't able to connect an iPhone 14 Pro though the UI, so I suspect it's iOS 17 related.

Yes, almost certainly. Let's hope the developers can overcome that block.

@meetbryce
Copy link

The workaround I shared above worked fine though, even with a different iCloud account. They just had to use their mac to get the irk for me.

@Coder84619
Copy link
Author

@meetbryce But I don't see a way to configure a device name? So the enrolled devices list blank, even if the IRKs are used to decode the MACs.

@dauer1205
Copy link

Same issue with iphone 14 pro on ios 17.3

@Cyberbeni
Copy link

Cyberbeni commented Feb 27, 2024

I've connected to ESPresense with the nRF Connect app that was mentioned in the original PR and it seems that it properly paired with my phone. (Although I had to also restart ESPresense because it went back to using the "apple:100x:..." id after like half a minute the first time)

edit: It is also possible to manually add a name for an irk, just use MQTT Explorer to publish a retained message to espresense/settings/irk:hexnumber/config with the following format:

{
  "id": "some_device_name",
  "name": "Some Device Name"
}

edit2: might have just gotten lucky with the enrollment. tried to replicate multiple times with no success.

@Cyberbeni
Copy link

Did anyone try this method for getting the irk? https://community.home-assistant.io/t/guide-getting-the-irk-for-iphone-and-apple-watch-without-macos-maybe-also-other-devices/623694

The code seems a bit different, so it might work.

@jtowe1
Copy link

jtowe1 commented Mar 1, 2024

i'm having the same problem, the countdown stops. It looks like the websocket is disconnecting

image

@Cyberbeni
Copy link

Did anyone try this method for getting the irk? https://community.home-assistant.io/t/guide-getting-the-irk-for-iphone-and-apple-watch-without-macos-maybe-also-other-devices/623694

The code seems a bit different, so it might work.

I had time to try this out and it worked 2 out of 2 times with iOS 17.3.1 devices.

FYI @DTTerastar

@DrShivang
Copy link

+1 Iphone 13 Pro with IOS 16.5.1, the enrol popup times out with nothing in messages too

@bzumik1
Copy link

bzumik1 commented Apr 10, 2024

Same issue here as well.

@luzik
Copy link

luzik commented Apr 19, 2024

Yeah Enrollment do not work with IOS 17.4.1 - iPhone 12 here and Apple Watch

@bzumik1
Copy link

bzumik1 commented Apr 19, 2024

Did someone had a chance to test it on earlier version of iOS? Is it really issue with the latest SW.

@jtowe1
Copy link

jtowe1 commented Apr 19, 2024

I got a different esp board and it worked.

@luzik
Copy link

luzik commented Apr 19, 2024

I am using esp32-s3-devkitc-1

@jtowe1
Copy link

jtowe1 commented Apr 19, 2024

The one I had the problem with was a

LILYGO T-Display-S3 ESP32-S3 1.9 inch ST7789 LCD Display TTGO Development Board

The one that works for me is

ESP-WROOM-32 ESP32 ESP-32S Development Board 2.4GHz Dual-Mode WiFi + Bluetooth Dual Cores Microcontroller Processor Integrated with Antenna RF AMP Filter AP STA Compatible with Arduino IDE (3PCS)

I haven't done a lot research but there's something different about the S3 boards

@bzumik1
Copy link

bzumik1 commented May 5, 2024

I am having issue on esp32 c3 super mini.

@WilliamBradshaw
Copy link

Also having the same issue on a esp32 c3 super mini

@trollix
Copy link

trollix commented May 15, 2024

Same Issue here with iphone 15

screenshot_1625

@tunip
Copy link

tunip commented May 25, 2024

Same issue on M5Stack C3U (esp32c3).

@labrunning
Copy link

I'm also having problems enrolling my iPhone.

Beacon: iPhone 15 Plus, iOS Version 17.4.1
Base Station: EST-ESP32-S3-DevKit with ESP32-S3-WROOM-1-N8R8 (x 3)
ESPresense Version: v3.3.2

The ESPresence beacons are working as I would expect, and with a considerable amount of testing I can get the name of my phone as an id (i.e. apple:iphone15-5) but I'm concerned this is not going to be permanent. I don't have a MAC to get an irk.

@tunip
Copy link

tunip commented May 28, 2024

@labrunning you can use temporary a "standard" esp32 (not a s3 or c3) for pairing your iPhone to get the IRK. Afterwards you can switch it off and/or remove the temporary ESP32 again.

@labrunning
Copy link

labrunning commented May 28, 2024

@tunip like these? https://shop.everythingsmart.io/products/est-esp32-devkit-esp32-development-kit I bought the other ones which were slightly more expensive because it expressly said they were ideal for ESPresence, turns out this isn't actually the case. I also struggled to find any kind of enclosure for them that I could buy, so I may just switch to the regular ESP32s and see if I can find another project for the S3s.

@tunip
Copy link

tunip commented May 28, 2024

@labrunning yes, the ESP32-WROOM-32 based ones would work fine with ESPresense and for pairing with your iPhone. Hopefully the "pairing bug" with the S3/C3 devices are fixed in the future. After pairing, you can continue to use your ESP32-S3 device, as this is only a one-off task and the S3/C3 devices otherwise work great.

@labrunning
Copy link

@tunip thanks I will give that a try.

@labrunning
Copy link

I flashed espresence on to a "standard" ESP32 today and managed to successfully enrol my IPhone. I now have an irk number which is making things much easier. Thanks for the help.

@Tuinslak
Copy link

Tuinslak commented Jun 5, 2024

ESP32-WROOM-32

this is only a one-off task and the S3/C3 devices otherwise work great.

Hey -- so that I understand correctly (as a new user; as I haven't been able to get any further): the pairing only has to happen once (on one device) across the entire network of ESPresence? It's not something that needs to be done on every individual board? Is it a manual process of copying the IRK across devices, or is automatic?

@tunip
Copy link

tunip commented Jun 5, 2024

Hey -- so that I understand correctly (as a new user; as I haven't been able to get any further): the pairing only has to happen once (on one device) across the entire network of ESPresence? It's not something that needs to be done on every individual board? Is it a manual process of copying the IRK across devices, or is automatic?

You are right. Pairing only has to happen once on one device across the entire network of ESPresense. It is only to get the IRK from your iPhone/iPad which is "stored" on your MQTT Broker. Each ESPresense node can then "read" this information via MQTT.

@lachi3
Copy link

lachi3 commented Jun 10, 2024

This may have already been solved above. But i have an old iPad that isn't on iOS 17, and i'm still getting the same result.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests