I’ve just added some Ikea DUBBELKISEL devices (Matter over Thread) along with a ZBT-1 to my HAOS instance.
Annoyingly, it would appear that two of the DUBBELKISEL report the same serial number which means their entities are combined into a single device despite being separate nodes.
Tweaking the if on ln:216 of adapter.py in Matter with list of duplicate serial numbers so it falls back to node_device_id only seems to work - obviously adding the code to make this an editable UI field would be better than hard coding.
# if available, we also add the serial number as identifier
if (
(basic_info_serial_number := basic_info.serialNumber)
and "test" not in basic_info_serial_number.lower()
and basic_info_serial_number not in {"Serial1", "Serial2", "etc"}
# some bridges report their own serial number for the devices they bridge,
# which would make the identifier resolve to the bridge's device
and not (
isinstance(basic_info, clusters.BridgedDeviceBasicInformation)
and basic_info_serial_number == endpoint.node.device_info.serialNumber
)
):
Are there any better solutions to this? Is it worth trying to create a PR with some kind of UI element control…?