Skip to content

matter_server: add ble_proxy option#4617

Merged
balloob merged 4 commits into
home-assistant:masterfrom
Apollon77:matter-ble-proxy
May 21, 2026
Merged

matter_server: add ble_proxy option#4617
balloob merged 4 commits into
home-assistant:masterfrom
Apollon77:matter-ble-proxy

Conversation

@Apollon77
Copy link
Copy Markdown
Contributor

@Apollon77 Apollon77 commented May 19, 2026

Proposed change

Add a `ble_proxy` boolean option to the Matter Server add-on. When
enabled, the add-on starts the matter-server with `--ble-proxy`
instead of the local-adapter `--bluetooth-adapter` flag. The
matter-server then exposes a `/ble` WebSocket endpoint that Home
Assistant's Matter integration connects to and bridges through HA's
bluetooth component (including ESPHome BLE proxies).

This is the add-on side of a three-repo change:

The two BLE-related options are mutually exclusive at the
matter-server level — `--ble-proxy` takes precedence if both are
set, with a warning logged. The add-on docs note the conflict.

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing add-on)
  • Breaking change

Test plan

  • Add-on builds successfully with the new `ble_proxy` option.
  • Setting `ble_proxy: true` passes `--ble-proxy` to the
    matter-server start command (verified in `s6-rc.d/.../run`).
  • End-to-end commissioning of a Matter device over BLE through
    HA's bluetooth integration, with matter-server in `--ble-proxy`
    mode.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Added ble_proxy configuration option (v8.5.0) to expose Matter Server's BLE proxy endpoint for Home Assistant's Matter integration. Requires Home Assistant 2026.06+ and Beta Matter Server ≥ 0.7.1. This setting is mutually exclusive with Bluetooth Adapter ID.

Adds a new `ble_proxy` boolean option that passes `--ble-proxy` to
the matter server, enabling BLE commissioning through Home Assistant's
bluetooth component (including ESPHome BLE proxies) via WebSocket.

When enabled, the matter server exposes a /ble WebSocket endpoint that
the HA matter integration connects to for proxying BLE operations.

This is separate from `bluetooth_adapter_id` which configures a local
HCI adapter directly. Both options are mutually exclusive at the server
level (--ble-proxy takes precedence with a warning).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Apollon77 added 3 commits May 20, 2026 13:10
Add `ble_proxy` add-on option that maps to the Matter Server's `--ble-proxy`
flag. Lets the Home Assistant Matter integration drive BLE commissioning
through HA's bluetooth stack (incl. ESPHome BLE proxies) instead of
requiring a Bluetooth adapter on the add-on host. Only available with the
Beta Matter Server (>= 0.7.1, JavaScript-based) and mutually exclusive
with `bluetooth_adapter_id`.
…uirement

- Ignore `bluetooth_adapter_id` with a warning when `ble_proxy` is set
  (the two CLI flags are mutually exclusive at the Matter Server, but
  this also avoids passing both from the add-on side).
- Mention the Home Assistant 2026.06 requirement in the option description
  and CHANGELOG (the Matter integration's BLE proxy support lands there).
…not add-on

The 8.5.0 add-on works fine without 2026.06; only the BLE proxy feature
needs the HA Matter integration support that lands there.
@Apollon77 Apollon77 marked this pull request as ready for review May 21, 2026 12:17
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 21, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b3dfeade-19f9-4275-b351-b21ec6c6d84f

📥 Commits

Reviewing files that changed from the base of the PR and between 1c1a052 and a856ced.

📒 Files selected for processing (4)
  • matter_server/CHANGELOG.md
  • matter_server/config.yaml
  • matter_server/rootfs/etc/s6-overlay/s6-rc.d/matter-server/run
  • matter_server/translations/en.yaml

📝 Walkthrough

Walkthrough

This pull request introduces a new ble_proxy configuration option for the Matter Server add-on that exposes the server's BLE proxy endpoint for Home Assistant's Matter integration. The option is optional, requires specific Home Assistant (2026.06+) and Beta Matter Server (≥0.7.1) versions, and is mutually exclusive with the local bluetooth_adapter_id setting.

Changes

BLE Proxy Feature

Layer / File(s) Summary
Configuration schema and user-facing labels
matter_server/config.yaml, matter_server/translations/en.yaml
Version field bumped to 8.5.0, new optional ble_proxy boolean schema field added, and translated configuration labels describe the option with version requirements and mutual exclusivity with Bluetooth Adapter ID.
Startup script conditional handling
matter_server/rootfs/etc/s6-overlay/s6-rc.d/matter-server/run
Script checks for ble_proxy and appends --ble-proxy argument when enabled, warns if bluetooth_adapter_id is also set, and preserves existing --bluetooth-adapter logic when ble_proxy is not enabled.
Release documentation
matter_server/CHANGELOG.md
Changelog entry for 8.5.0 documents the new ble_proxy option, its Home Assistant integration purpose, required versions, and exclusivity with bluetooth_adapter_id.

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and concisely summarizes the main change: adding a new ble_proxy option to the Matter Server add-on configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@balloob balloob merged commit b4adbd5 into home-assistant:master May 21, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants