From bc36578adaeec8bf115b39741d4437ab7a294d5f Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Tue, 2 Dec 2025 16:52:09 +0100 Subject: [PATCH] Add mac address to SFR Box device registry entries (#157752) --- homeassistant/components/sfr_box/__init__.py | 3 +- .../components/sfr_box/quality_scale.yaml | 4 +-- .../sfr_box/snapshots/test_init.ambr | 33 +++++++++++++++++++ tests/components/sfr_box/test_init.py | 2 +- 4 files changed, 37 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/sfr_box/__init__.py b/homeassistant/components/sfr_box/__init__.py index b9e97175ed5..89962f0dda9 100644 --- a/homeassistant/components/sfr_box/__init__.py +++ b/homeassistant/components/sfr_box/__init__.py @@ -65,9 +65,10 @@ async def async_setup_entry(hass: HomeAssistant, entry: SFRConfigEntry) -> bool: device_registry = dr.async_get(hass) device_registry.async_get_or_create( config_entry_id=entry.entry_id, + connections={(dr.CONNECTION_NETWORK_MAC, system_info.mac_addr)}, identifiers={(DOMAIN, system_info.mac_addr)}, name="SFR Box", - model=system_info.product_id, + model=None, model_id=system_info.product_id, sw_version=system_info.version_mainfirmware, configuration_url=f"http://{entry.data[CONF_HOST]}", diff --git a/homeassistant/components/sfr_box/quality_scale.yaml b/homeassistant/components/sfr_box/quality_scale.yaml index 77e55981c6f..4f80001b540 100644 --- a/homeassistant/components/sfr_box/quality_scale.yaml +++ b/homeassistant/components/sfr_box/quality_scale.yaml @@ -42,9 +42,7 @@ rules: ## Gold entity-translations: done entity-device-class: done - devices: - status: todo - comment: MAC address can be set to the connections + devices: done entity-category: done entity-disabled-by-default: done discovery: diff --git a/tests/components/sfr_box/snapshots/test_init.ambr b/tests/components/sfr_box/snapshots/test_init.ambr index 0819e80b09d..fc136e73dd1 100644 --- a/tests/components/sfr_box/snapshots/test_init.ambr +++ b/tests/components/sfr_box/snapshots/test_init.ambr @@ -1,5 +1,38 @@ # serializer version: 1 # name: test_device_registry list([ + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': 'http://192.168.0.1', + 'connections': set({ + tuple( + 'mac', + 'e4:5d:51:00:11:22', + ), + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'sfr_box', + 'e4:5d:51:00:11:22', + ), + }), + 'labels': set({ + }), + 'manufacturer': None, + 'model': None, + 'model_id': 'NB6VAC-FXC-r0', + 'name': 'SFR Box', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': 'NB6VAC-MAIN-R4.0.44k', + 'via_device_id': None, + }), ]) # --- diff --git a/tests/components/sfr_box/test_init.py b/tests/components/sfr_box/test_init.py index 9ade9c41b4d..2274c4076cb 100644 --- a/tests/components/sfr_box/test_init.py +++ b/tests/components/sfr_box/test_init.py @@ -82,7 +82,7 @@ async def test_setup_entry_invalid_auth( assert config_entry_with_auth.state is ConfigEntryState.SETUP_ERROR -@patch("homeassistant.components.sfr_box.PLATFORMS", []) +@pytest.mark.usefixtures("system_get_info", "dsl_get_info", "wan_get_info") async def test_device_registry( hass: HomeAssistant, config_entry: ConfigEntry,