Matter: add UniqueID attribute to BridgedDeviceBasicInformation cluster - #183
Merged
Tamas Jozsi (silabs-bozont) merged 1 commit intoJul 23, 2026
Merged
Conversation
Ludovic BOUÉ (lboue)
requested a review
from Tamas Jozsi (silabs-bozont)
as a code owner
July 5, 2026 11:40
Tamas Jozsi (silabs-bozont)
requested changes
Jul 21, 2026
Tamas Jozsi (silabs-bozont)
requested changes
Jul 22, 2026
Tamas Jozsi (silabs-bozont)
left a comment
Collaborator
There was a problem hiding this comment.
Thank you for the quick fix - could you please squash your new commit into the previous one (so that we don't have a broken state on one)? Then I think we're all set for merging.
UniqueID became a mandatory attribute in Matter 1.4 for the BridgedDeviceBasicInformation cluster. Its absence causes controllers such as Home Assistant to fail to create entities for bridged endpoints — the controller cannot stably identify a bridged device across re-pairings or bridge restarts, so it refuses to add it. Populate unique_id from getDeviceUniqueIdStr() at construction time, giving each bridged endpoint a stable hardware-derived identity. Expose SetUniqueID()/GetUniqueID() so sketches can override the value. Co-Authored-By: Drew McCalmont <drewm@mcfamily.us> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Ludovic BOUÉ (lboue)
force-pushed
the
UniqueID
branch
from
July 22, 2026 11:14
d425fdb to
de4c0d3
Compare
Contributor
Author
Done |
Tamas Jozsi (silabs-bozont)
approved these changes
Jul 22, 2026
Tamas Jozsi (silabs-bozont)
merged commit Jul 23, 2026
a98732c
into
SiliconLabsSoftware:main
5 checks passed
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Problem
UniqueIDbecame a mandatory attribute in Matter 1.4 for theBridgedDeviceBasicInformationcluster. Its absence causes controllers such as Home Assistant to fail to create entities for bridged endpoints — the controller cannot stably identify a bridged device across re-pairings or bridge restarts, so it refuses to add it.Changes
MatterDevice.hkChanged_UniqueID = 1u << 6to theChanged_tenum; updatekChanged_Lastto matchvoid SetUniqueID(const char* uniqueid)declarationinline char* GetUniqueID()getterchar unique_id[DeviceDescStrSize]protected memberMatterDevice.cppem_system.hunique_idfromSYSTEM_GetUnique()using the format"silabs-%016llx", giving each bridged endpoint a stable, hardware-derived identityDevice::SetUniqueID()implementation (mirrorsSetSerialNumber)UniqueID::Idread handler inHandleReadBridgedDeviceBasicAttributekChanged_UniqueIDblock inHandleDeviceStatusChangedto schedule reporting callbacksMatter.cppDECLARE_DYNAMIC_ATTRIBUTEforUniqueID::IdafterSerialNumberinbridgedDeviceBasicAttrsMatter.hbridgedDeviceBasicAttrsextern array size from7to8Note:
bridged_device_basic_information_cluster_revisionis left at4, matching the current Matter 1.4 spec revision for this cluster — revision 4 already covers makingUniqueIDmandatory, so no further bump is needed.Testing
Cherry-picked from #166 (verified there on an xiao_mg24 running a Matter bridge sketch; Home Assistant successfully discovered and created entities for all bridged endpoints).