mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 09:47:13 +00:00
Add matter device serial number (#113878)
This commit is contained in:
parent
afa9517716
commit
c5f6925948
@ -185,10 +185,14 @@ class MatterAdapter:
|
||||
endpoint,
|
||||
)
|
||||
identifiers = {(DOMAIN, f"{ID_TYPE_DEVICE_ID}_{node_device_id}")}
|
||||
serial_number: str | None = None
|
||||
# if available, we also add the serialnumber as identifier
|
||||
if basic_info.serialNumber and "test" not in basic_info.serialNumber.lower():
|
||||
if (
|
||||
basic_info_serial_number := basic_info.serialNumber
|
||||
) and "test" not in basic_info_serial_number.lower():
|
||||
# prefix identifier with 'serial_' to be able to filter it
|
||||
identifiers.add((DOMAIN, f"{ID_TYPE_SERIAL}_{basic_info.serialNumber}"))
|
||||
identifiers.add((DOMAIN, f"{ID_TYPE_SERIAL}_{basic_info_serial_number}"))
|
||||
serial_number = basic_info_serial_number
|
||||
|
||||
model = (
|
||||
get_clean_name(basic_info.productName) or device_type.__name__
|
||||
@ -203,6 +207,7 @@ class MatterAdapter:
|
||||
sw_version=basic_info.softwareVersionString,
|
||||
manufacturer=basic_info.vendorName or endpoint.node.device_info.vendorName,
|
||||
model=model,
|
||||
serial_number=serial_number,
|
||||
via_device=(DOMAIN, bridge_device_id) if bridge_device_id else None,
|
||||
)
|
||||
|
||||
|
@ -56,6 +56,7 @@ async def test_device_registry_single_node_device(
|
||||
assert entry.model == "Mock Light"
|
||||
assert entry.hw_version == "v1.0"
|
||||
assert entry.sw_version == "v1.0"
|
||||
assert entry.serial_number == "12345678"
|
||||
|
||||
|
||||
# This tests needs to be adjusted to remove lingering tasks
|
||||
@ -84,6 +85,7 @@ async def test_device_registry_single_node_device_alt(
|
||||
|
||||
# test serial id NOT present as additional identifier
|
||||
assert (DOMAIN, "serial_TEST_SN") not in entry.identifiers
|
||||
assert entry.serial_number is None
|
||||
|
||||
|
||||
@pytest.mark.skip("Waiting for a new test fixture")
|
||||
|
Loading…
x
Reference in New Issue
Block a user