Add Matter Binding cluster support with switch/light examples - #185
Open
Ludovic BOUÉ (lboue) wants to merge 2 commits into
Open
Add Matter Binding cluster support with switch/light examples#185Ludovic BOUÉ (lboue) wants to merge 2 commits into
Ludovic BOUÉ (lboue) wants to merge 2 commits into
Conversation
Ludovic BOUÉ (lboue)
marked this pull request as ready for review
July 22, 2026 13:36
Ludovic BOUÉ (lboue)
requested a review
from Tamas Jozsi (silabs-bozont)
as a code owner
July 22, 2026 13:36
2 tasks
Lets a Matter switch (opt-in via beginWithBinding()) be bound directly to another device, e.g. a light, and control it without a hub relaying every command - closes SiliconLabsSoftware#101. Adds MatterBindingManager to serve the Binding cluster's list attribute and dispatch bound OnOff commands over CASE/group sessions, built entirely from SDK pieces already available (BindingTable, CASESessionManager, CommandSender) since the official bindings cluster server/BindingManager aren't vendored. Plain begin() and the existing matter_switch/matter_lightbulb examples are untouched; matter_switch_binding and matter_lightbulb_binding demonstrate the new opt-in path. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Re-run uncrustify with package/uncrustify.cfg to match the CI check; whitespace/indentation only, no logic changes.
Ludovic BOUÉ (lboue)
force-pushed
the
Matter-Binding
branch
from
July 31, 2026 13:06
8e660d1 to
9fffbfb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bindingcluster #101 - adds opt-in support for the standard Matter Binding cluster onMatterSwitch(beginWithBinding()), so a switch can be bound directly to another device (e.g. a light) and control it without a hub relaying every command.MatterBindingManager, which serves the Binding cluster's list attribute and dispatches bound OnOff commands over CASE (unicast) or group sessions - built entirely from SDK pieces already available in this repo's vendored SDK/precompiled libs (chip::BindingTable,chip::CASESessionManager,chip::app::CommandSender), since the officialbindingscluster server plugin andBindingManageraren't vendored.begin()and the existingmatter_switch/matter_lightbulbexamples are untouched (verified viaarduino-cli compilethat the plainmatter_switchbinary is unchanged byte-for-byte for its non-binding code paths - only a 136-byte flash delta from the new opt-in method existing).matter_switch_bindingand its companionmatter_lightbulb_binding(a plain lightbulb - no special code needed on that side).Test plan
arduino-cli compileonnano_matterformatter_switch.ino(regression check, unchanged) - 932496 bytes flash / 140088 bytes RAMarduino-cli compileonnano_matterformatter_switch_binding.ino- 932632 bytes flash / 140088 bytes RAMarduino-cli compileonnano_matterformatter_lightbulb_binding.ino- 925988 bytes flash / 140092 bytes RAMmatter_switch_bindingdevice to amatter_lightbulb_bindingdevice via a Matter controller and confirm button presses toggle the light directly🤖 Generated with Claude Code