home-assistant / addons

:heavy_plus_sign: Docker add-ons for Home Assistant
https://home-assistant.io/hassio/
Apache License 2.0
1.57k stars 1.52k forks source link

openthread-border-router: Bump firmwares, flasher, and OTBR to latest versions #3808

Closed puddly closed 1 week ago

puddly commented 1 month ago

@agners I've also bumped OTBR itself. It looks like dhcpcd is now installed and prefix delegation is in use, probably for Thread 1.4. Is this something we want to disable?

Summary by CodeRabbit

Release Notes for Version 2.12.0

puddly commented 1 month ago

I've set DHCPV6_PD_REF=0 in this PR for now to at least get it building. Untested.

agners commented 1 month ago

It looks like dhcpcd is now installed and prefix delegation is in use, probably for Thread 1.4. Is this something we want to disable?

What do yo mean by "dhcpcd is now installed"? With this change? We don't really use the regular installation script with the add-on, so I don't think that gets installed just like that no?

Afaik, dhcpcd was an option since a while.

Hm, Apple BRs use PD addresses already since a while, even with Thread 1.3. Not sure if this is directly related to 1.4.

puddly commented 1 month ago

so I don't think that gets installed just like that no?

It's installed by bootstrap, which we run: https://github.com/openthread/ot-br-posix/blob/580cafc150946bc418aa6790a416bd2c951bae24/script/bootstrap#L110-L121

agners commented 1 month ago

It's installed by bootstrap, which we run: https://github.com/openthread/ot-br-posix/blob/580cafc150946bc418aa6790a416bd2c951bae24/script/bootstrap#L110-L121

Hm, I see that changed just recently with https://github.com/openthread/ot-br-posix/commit/3b145fa40ffec3eb49b535093d6388d5c7331d1b. We could opt-out of PD at this point, which might make sense.

I think there are two things we need to decide here: a) Do we want to update to Thread 1.4 (e.g. set OT_THREAD_VERSION=1.4) b) Do we want to enable IPv6 PD by default

I tend to say no to b). For a) I am a bit less certain. I'll check what setting Thread version to 1.4 exactly entails.

puddly commented 1 week ago

I've reverted the advertised Thread version back to 1.3 and included the OTBR coprocessor version API patch.

coderabbitai[bot] commented 1 week ago
📝 Walkthrough
📝 Walkthrough ## Walkthrough The changes in this pull request include updates to the OpenThread Border Router (OTBR) components, with a new version entry for 2.12.0 added to the changelog, reflecting various enhancements and fixes. The Dockerfile introduces a new environment variable, while the build configuration files update specific version numbers for the OTBR and the Universal Silabs Flasher. Additionally, firmware version strings in scripts have been updated for specific devices, and new parameters have been added to a discovery script to enhance information sent to Home Assistant. ## Changes | File Path | Change Summary | |---------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------| | `openthread_border_router/CHANGELOG.md` | Added new version entry `## 2.12.0`, detailing updates and fixes including firmware and log enhancements. | | `openthread_border_router/Dockerfile` | Added new environment variable: `ENV DHCPV6_PD_REF 0`. | | `openthread_border_router/build.yaml` | Updated `OTBR_VERSION` from `ff7227ea9a2dc0e50f92ab93bd5c9a29e82fe793` to `b041fa52daaa4dfbf6aa4665d8925c1be0350ca5` and `UNIVERSAL_SILABS_FLASHER` from `0.0.22` to `0.0.25`. | | `openthread_border_router/config.yaml` | Updated version from `2.11.1` to `2.12.0`. | | `openthread_border_router/rootfs/etc/s6-overlay/scripts/universal-silabs-flasher-up` | Updated firmware version strings for Home Assistant Yellow and Nabu Casa USB devices. | | `openthread_border_router/rootfs/etc/s6-overlay/scripts/otbr-agent-rest-discovery.sh` | Added new fields `device` and `firmware` to the JSON object for OTBR discovery. | ## Sequence Diagram(s) ```mermaid sequenceDiagram participant User participant OTBR participant HomeAssistant User->>OTBR: Request device discovery OTBR->>OTBR: Retrieve configuration OTBR->>OTBR: Get firmware version OTBR->>HomeAssistant: Send discovery information (device, firmware) HomeAssistant-->>OTBR: Acknowledge discovery ```

📜 Recent review details **Configuration used: CodeRabbit UI** **Review profile: CHILL**
📥 Commits Reviewing files that changed from the base of the PR and between d4d12ca8f18ff556a6ff33a96418501311a8ae77 and bc15777527e0e398e482e4a0f28ded15dd9b2776.
📒 Files selected for processing (1) * `openthread_border_router/CHANGELOG.md` (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
openthread_border_router/CHANGELOG.md (6) Pattern `*/**(html|markdown|md)`: - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted. - Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness. - In step-by-step instructions, front the location phrase in the instructional sentence. - In step-by-step instructions, front the 'goal' in the instructional sentence. - In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence. - do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner' --- Pattern `*/**(html|markdown|md)`: - Use bold to mark UI strings. - If "" are used to mark UI strings, replace them by bold. --- Pattern `*/**(html|markdown|md)`: - Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if" --- Pattern `*/**(html|markdown|md)`: - Use sentence-style capitalization also in headings. --- Pattern `*/**(html|markdown|md)`: do not comment on HTML used for icons --- Pattern `*/**(html|markdown|md)`: Avoid flagging inline HTML for embedding videos in future reviews for this repository.
🔇 Additional comments (1)
openthread_border_router/CHANGELOG.md (1) `6-6`: **Verify the OTBR POSIX version commit hash and timestamp** Let's verify that the OTBR POSIX version commit hash and timestamp are accurate.
✅ Verification successful **OTBR POSIX version commit hash and timestamp are accurate** ✓ The commit hash `b041fa52daa` in the changelog corresponds to a real commit in the ot-br-posix repository with timestamp "2024-11-14T16:18:28Z", which matches the changelog entry's timestamp "2024-11-14 08:18:28 -0800" (both represent the same moment in different time zones).
🏁 Scripts executed The following scripts were executed for the analysis: Script: ```shell #!/bin/bash # Description: Verify the OTBR POSIX version commit hash and timestamp # Test: Search for the commit hash in the repository gh api repos/openthread/ot-br-posix/commits/b041fa52daa --jq '.commit.committer.date' || echo "Commit not found" ``` Length of output: 106

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?

❤️ Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
🪧 Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit , please review it.` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` 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) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` or `@coderabbitai title` anywhere in the PR title to generate the title automatically. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit. - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.