-
-
Notifications
You must be signed in to change notification settings - Fork 7.6k
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
Add IRK instructions for android #37117
Conversation
✅ Deploy Preview for home-assistant-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
📝 WalkthroughWalkthroughThe pull request introduces a new section titled "On Windows / For Android" to the documentation for integrating private BLE devices into Home Assistant. This section provides instructions on obtaining the Identity Resolving Key (IRK) from rooted Android devices and using Wireshark. It details two methods: one for accessing a configuration file on a rooted Android device and another for capturing Bluetooth logs with Wireshark, thus expanding the guidance for users across different platforms. Changes
Sequence DiagramsequenceDiagram
participant User
participant AndroidDevice
participant Wireshark
participant HomeAssistant
alt Method 1: Rooted Android Device
User->>AndroidDevice: Access configuration file
AndroidDevice-->>User: Retrieve IRK
else Method 2: Wireshark Log Analysis
User->>AndroidDevice: Enable Bluetooth debugging
User->>AndroidDevice: Re-pair device
User->>Wireshark: Capture Bluetooth logs
Wireshark-->>User: Extract IRK
end
User->>HomeAssistant: Configure Private BLE Device with IRK
Tip 🌐 Web search-backed reviews and chat
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (1)
source/_integrations/private_ble_device.markdown (1)
55-58
: Fix formatting and enhance clarity.
- Add periods to the abbreviation
- Consider adding a note about the importance of byte order conversion
Apply these changes:
6. In the generated `scanwatch.zip` file, locate and extract `FS\data\misc\bluetooth\logs\btsnoop_hci.log` 7. Open `btsnoop_hci.log` in [Wireshark](https://www.wireshark.org/download.html) and search for `btsmp.id_resolving_key` 8. Select one of the frames and expand the "Bluetooth Security Manager Protocol". Either the sending or receiving device IRK will be visible in the hex dump. -9. Reverse the value displayed. e.g if it is `763af6c7f7d94ad6c262158e2320544e`, the IRK to use would be: `4e5420238e1562c2d64ad9f7c7f63a76` +9. Reverse the value displayed. e.g., if it is `763af6c7f7d94ad6c262158e2320544e`, the IRK to use would be: `4e5420238e1562c2d64ad9f7c7f63a76`. This byte order conversion is crucial for the IRK to work correctly.🧰 Tools
🪛 LanguageTool
[uncategorized] ~57-~57: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...x dump. 9. Reverse the value displayed. e.g if it is `763af6c7f7d94ad6c262158e23205...(E_G)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
source/_integrations/private_ble_device.markdown
(1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/private_ble_device.markdown
[uncategorized] ~50-~50: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...s. 2. Ensure a second bluetooth device (e.g smart watch or earbuds) is unpaired 3. ...
(E_G)
[grammar] ~50-~50: This is normally spelled as one word.
Context: .... Ensure a second bluetooth device (e.g smart watch or earbuds) is unpaired 3. Disable and ...
(SMART_COMPOUNDS)
[uncategorized] ~57-~57: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...x dump. 9. Reverse the value displayed. e.g if it is `763af6c7f7d94ad6c262158e23205...
(E_G)
🪛 GitHub Actions: home-assistant.io Test
source/_integrations/private_ble_device.markdown
[error] 50-50: Incorrect usage of the term: "bluetooth", use "Bluetooth" instead
[error] 51-51: Incorrect usage of the term: "bluetooth", use "Bluetooth" instead
🔇 Additional comments (1)
source/_integrations/private_ble_device.markdown (1)
43-46
: LGTM! Clear and accurate instructions for rooted Android devices.The explanation of IRK location and the byte order conversion is well-documented with a helpful example.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (4)
source/_integrations/private_ble_device.markdown (4)
43-44
: Update section title to accurately reflect content.The section title mentions Windows but only contains Android-specific instructions. Consider renaming to "On Android" or "For Android Devices" for clarity.
-### On Windows / For Android +### For Android Devices
45-45
: Enhance rooted Android instructions with additional context.Consider the following improvements:
- Add a security warning about device rooting
- Format the file path as inline code
- Add explanatory links for technical terms (IRK, LTK)
-If you have a rooted Android phone, the IRK (and LTKs) can be viewed in the file `/data/misc/bluedroid/bt_config.conf`. +{% details "Using a rooted Android device (Advanced)" %} + +**Warning**: Rooting your Android device can compromise its security and void your warranty. Proceed with caution. + +On a rooted Android phone, the IRK (Identity Resolving Key) and LTKs (Long Term Keys) can be viewed in the file `\`/data/misc/bluedroid/bt_config.conf\``. +{% enddetails %}
57-57
: Fix abbreviation formatting.Add missing period in the abbreviation.
-9. Reverse the value displayed. e.g if it is `763af6c7f7d94ad6c262158e2320544e` +9. Reverse the value displayed. e.g., if it is `763af6c7f7d94ad6c262158e2320544e`🧰 Tools
🪛 LanguageTool
[uncategorized] ~57-~57: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...x dump. 9. Reverse the value displayed. e.g if it is `763af6c7f7d94ad6c262158e23205...(E_G)
47-58
: Enhance Wireshark instructions with additional context.The instructions are technically accurate but could benefit from:
- A note about potential exposure of sensitive Bluetooth data in bug reports
- Clarification that this method works for both rooted and non-rooted devices
- An explanation of why byte order reversal is necessary
Alternatively, the IRK of an Android phone and/or secondary device can be obtained using Wireshark: + +{% note %} +This method works for both rooted and non-rooted Android devices but requires enabling USB debugging. Be aware that the generated bug report may contain sensitive information. +{% endnote %} 1. On the Android phone, enable "USB Debugging" and "Enable Bluetooth HCI snoop log" options in developer settings.🧰 Tools
🪛 LanguageTool
[grammar] ~50-~50: This is normally spelled as one word.
Context: ...Ensure a second Bluetooth device (e.g., smart watch or earbuds) is unpaired 3. Disable and ...(SMART_COMPOUNDS)
[uncategorized] ~57-~57: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...x dump. 9. Reverse the value displayed. e.g if it is `763af6c7f7d94ad6c262158e23205...(E_G)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
source/_integrations/private_ble_device.markdown
(1 hunks)
🧰 Additional context used
🪛 LanguageTool
source/_integrations/private_ble_device.markdown
[grammar] ~50-~50: This is normally spelled as one word.
Context: ...Ensure a second Bluetooth device (e.g., smart watch or earbuds) is unpaired 3. Disable and ...
(SMART_COMPOUNDS)
[uncategorized] ~57-~57: The abbreviation “e.g.” (= for example) requires two periods.
Context: ...x dump. 9. Reverse the value displayed. e.g if it is `763af6c7f7d94ad6c262158e23205...
(E_G)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Redirect rules - home-assistant-docs
- GitHub Check: Header rules - home-assistant-docs
- GitHub Check: Pages changed - home-assistant-docs
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @smhc 👍
../Frenck
Proposed change
Type of change
current
branch).current
branch).next
branch).next
branch).Additional information
Checklist
current
branch.next
branch.Summary by CodeRabbit