diff --git a/homeassistant/components/bosch_shc/entity.py b/homeassistant/components/bosch_shc/entity.py index 06ce45cdb3afd1..e0e2963c340c8f 100644 --- a/homeassistant/components/bosch_shc/entity.py +++ b/homeassistant/components/bosch_shc/entity.py @@ -69,12 +69,7 @@ def __init__(self, device: SHCDevice, parent_id: str, entry_id: str) -> None: manufacturer=device.manufacturer, model=device.device_model, name=device.name, - via_device=( - DOMAIN, - device.parent_device_id - if device.parent_device_id is not None - else parent_id, - ), + via_device=(DOMAIN, device.root_device_id), ) super().__init__(device=device, parent_id=parent_id, entry_id=entry_id) diff --git a/homeassistant/components/togrill/coordinator.py b/homeassistant/components/togrill/coordinator.py index b79e4350e1e7c1..6aa06260178ed2 100644 --- a/homeassistant/components/togrill/coordinator.py +++ b/homeassistant/components/togrill/coordinator.py @@ -100,7 +100,7 @@ async def _connect_and_update_registry(self) -> Client: config_entry_id=config_entry.entry_id, connections={(CONNECTION_BLUETOOTH, self.address)}, name=config_entry.data[CONF_MODEL], - model=config_entry.data[CONF_MODEL], + model_id=config_entry.data[CONF_MODEL], sw_version=get_version_string(packet_a0), ) diff --git a/tests/components/togrill/snapshots/test_init.ambr b/tests/components/togrill/snapshots/test_init.ambr new file mode 100644 index 00000000000000..b461d103e73d25 --- /dev/null +++ b/tests/components/togrill/snapshots/test_init.ambr @@ -0,0 +1,32 @@ +# serializer version: 1 +# name: test_setup_device_present + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + tuple( + 'bluetooth', + '00000000-0000-0000-0000-000000000001', + ), + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + }), + 'labels': set({ + }), + 'manufacturer': None, + 'model': None, + 'model_id': 'Pro-05', + 'name': 'Pro-05', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': '0.0', + 'via_device_id': None, + }) +# --- diff --git a/tests/components/togrill/test_init.py b/tests/components/togrill/test_init.py index 24f19ba367e829..7f441817176c75 100644 --- a/tests/components/togrill/test_init.py +++ b/tests/components/togrill/test_init.py @@ -7,6 +7,7 @@ from homeassistant.config_entries import ConfigEntryState from homeassistant.core import HomeAssistant +from homeassistant.helpers import device_registry as dr from . import TOGRILL_SERVICE_INFO, setup_entry @@ -20,6 +21,7 @@ async def test_setup_device_present( mock_entry: MockConfigEntry, mock_client: Mock, mock_client_class: Mock, + device_registry: dr.DeviceRegistry, ) -> None: """Test that setup works with device present.""" @@ -28,6 +30,11 @@ async def test_setup_device_present( await setup_entry(hass, mock_entry, []) assert mock_entry.state is ConfigEntryState.LOADED + device = device_registry.async_get_device( + connections={(dr.CONNECTION_BLUETOOTH, TOGRILL_SERVICE_INFO.address)} + ) + assert device == snapshot + async def test_setup_device_not_present( hass: HomeAssistant,