layout | title | permalink | parent |
---|---|---|---|
page |
Apple |
/beacons/apple |
Beacons |
Apple devices emit various BTLE continuity messages, often identified by the fingerprint apple:100?:*-*
. In households with multiple iPhones, the nearby info may collide, leading to duplicate fingerprints. To resolve this, you can obtain the remote IRK (Identity Resolving Key) from your iOS (iPhone, iPad) or Watch OS (Apple Watch) device. While adding the IRK to the Known BLE identity resolving keys
section of the ESPresense configuration is an option, using the Enroll
feature is recommended as it's easier and syncs automatically to all ESPresense nodes. Note: ESPresense version 3.0 or higher is required!**
- Navigate to the ESPresense devices page in your browser:
http://<ip>/ui/#/devices
. - Enter a name for your device in the name field and click the
Enroll
button. - On your iPhone or iPad, go to
Settings
->Bluetooth
. You'll see a newESPresense
device. - Tap on the bluetooth device named
ESPresense
and accept the request to pair securely. - The Enroll prompt should stop automatically, indicating the key has been obtained and added to the MQTT topic
espresense/settings
.
- Download and install the Bluetooth Terminal app from the Apple App Store on an iOS device, ensure it installed on your watch as well.
- Navigate to the ESPresense devices page in your browser:
http://<ip>/ui/#/devices
. - Enter a name for your device in the name field and click the
Enroll
button. - Launch the
BluetoothLE
App on your Apple Watch (included as part of iOS Bluetooth Terminal app). - Tap on the bluetooth device named
ESPresense
and accept the request to pair securely. - The Enroll prompt should stop automatically, indicating the key has been obtained and added to the MQTT topic
espresense/settings
.
If you're having trouble, please note: you will see ESPresense in the native settings, but it will refuse to securely pair. It's imperative to follow the steps under the 'Apple Watch (using Bluetooth Terminal App)' section above to ensure a successful pairing via the app. Secure pairing is the key to us getting an IRK!
This method can be used for any iOS/iPadOS/Watch OS device:
-
On MacOS, ensure you are logged in with the iCloud ID associated with your device.
-
Launch the Keychain Access application.
-
In the left sidebar, click on iCloud.
-
In the upper right search bar, type
bluetooth
. -
A series of GUIDs will appear with the application password type.
-
Open each GUID to find the one associated with your Apple Watch. The Account field should display your watch's GUID in the format:
Public: XX:XX:XX:XX:XX:XX
. -
Click on Show password.
-
Type your MacOS password twice and copy the contents.
-
Paste the contents in the form below and click 'Decode' to convert this into an IRK.
{% include irk_decode.html %}
-
Add the output (which should be 32 characters) to the 'Known BLE identity resolving keys' section of the ESPresence configuration.
-
In your HASS configuration, add the same string with 'irk:' prefixed, e.g., "irk:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".
-
Click 'Save' in the ESPresense UI, then 'Restart Device'.