diff --git a/homeassistant/components/lametric/entity.py b/homeassistant/components/lametric/entity.py index ca95539ae58a..d438d22d0f5f 100644 --- a/homeassistant/components/lametric/entity.py +++ b/homeassistant/components/lametric/entity.py @@ -29,6 +29,7 @@ class LaMetricEntity(CoordinatorEntity[LaMetricDataUpdateCoordinator]): connections=connections, identifiers={(DOMAIN, coordinator.data.serial_number)}, manufacturer="LaMetric Inc.", + model=coordinator.data.model_name, model_id=coordinator.data.model, name=coordinator.data.name, sw_version=coordinator.data.os_version, diff --git a/tests/components/lametric/snapshots/test_init.ambr b/tests/components/lametric/snapshots/test_init.ambr new file mode 100644 index 000000000000..f800c4f3847c --- /dev/null +++ b/tests/components/lametric/snapshots/test_init.ambr @@ -0,0 +1,77 @@ +# serializer version: 1 +# name: test_device_info[device-SA110405124500W00BS9] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entry_id': , + 'config_subentry_id': , + 'configuration_url': 'https://127.0.0.1/', + 'connections': set({ + tuple( + 'bluetooth', + 'aa:bb:cc:dd:ee:ee', + ), + tuple( + 'mac', + 'aa:bb:cc:dd:ee:ff', + ), + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'lametric', + 'SA110405124500W00BS9', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'LaMetric Inc.', + 'model': 'TIME', + 'model_id': 'LM 37X8', + 'name': "Frenck's LaMetric", + 'name_by_user': None, + 'serial_number': 'SA110405124500W00BS9', + 'sw_version': '2.2.2', + 'via_device_id': None, + }) +# --- +# name: test_device_info[device_sa5-SA52100000123TBNC] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entry_id': , + 'config_subentry_id': , + 'configuration_url': 'https://127.0.0.1/', + 'connections': set({ + tuple( + 'bluetooth', + 'aa:bb:cc:dd:ee:ff', + ), + tuple( + 'mac', + 'aa:bb:cc:dd:ee:ff', + ), + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'lametric', + 'SA52100000123TBNC', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'LaMetric Inc.', + 'model': 'SKY', + 'model_id': 'sa5', + 'name': "spyfly's LaMetric SKY", + 'name_by_user': None, + 'serial_number': 'SA52100000123TBNC', + 'sw_version': '3.0.13', + 'via_device_id': None, + }) +# --- diff --git a/tests/components/lametric/test_init.py b/tests/components/lametric/test_init.py index 2fd8219ea510..7c1ce9dd951e 100644 --- a/tests/components/lametric/test_init.py +++ b/tests/components/lametric/test_init.py @@ -8,14 +8,38 @@ from demetriek import ( LaMetricConnectionTimeoutError, ) import pytest +from syrupy.assertion import SnapshotAssertion from homeassistant.components.lametric.const import DOMAIN from homeassistant.config_entries import SOURCE_REAUTH, ConfigEntryState from homeassistant.core import HomeAssistant +from homeassistant.helpers import device_registry as dr from tests.common import MockConfigEntry +@pytest.mark.parametrize( + ("device_fixture", "serial_number"), + [ + ("device", "SA110405124500W00BS9"), + ("device_sa5", "SA52100000123TBNC"), + ], +) +async def test_device_info( + hass: HomeAssistant, + snapshot: SnapshotAssertion, + device_registry: dr.DeviceRegistry, + init_integration: MockConfigEntry, + serial_number: str, +) -> None: + """Test the device registry entry.""" + device_entry = device_registry.async_get_device_by_identifier( + (DOMAIN, serial_number), init_integration.entry_id + ) + assert device_entry is not None + assert device_entry == snapshot + + async def test_load_unload_config_entry( hass: HomeAssistant, mock_config_entry: MockConfigEntry,