diff --git a/homeassistant/components/aranet/sensor.py b/homeassistant/components/aranet/sensor.py index d7fbd0e4b3b..b5187cba1f4 100644 --- a/homeassistant/components/aranet/sensor.py +++ b/homeassistant/components/aranet/sensor.py @@ -22,6 +22,7 @@ from homeassistant.components.sensor import ( ) from homeassistant.const import ( ATTR_MANUFACTURER, + ATTR_MODEL, ATTR_NAME, ATTR_SW_VERSION, CONCENTRATION_PARTS_PER_MILLION, @@ -142,6 +143,7 @@ def _sensor_device_info_to_hass( if adv.readings and adv.readings.name: hass_device_info[ATTR_NAME] = adv.readings.name hass_device_info[ATTR_MANUFACTURER] = ARANET_MANUFACTURER_NAME + hass_device_info[ATTR_MODEL] = adv.readings.type.model if adv.manufacturer_data: hass_device_info[ATTR_SW_VERSION] = str(adv.manufacturer_data.version) return hass_device_info diff --git a/tests/components/aranet/test_sensor.py b/tests/components/aranet/test_sensor.py index 7bd00af4837..78a1d4aa9c9 100644 --- a/tests/components/aranet/test_sensor.py +++ b/tests/components/aranet/test_sensor.py @@ -6,6 +6,7 @@ from homeassistant.components.aranet.const import DOMAIN from homeassistant.components.sensor import ATTR_STATE_CLASS from homeassistant.const import ATTR_FRIENDLY_NAME, ATTR_UNIT_OF_MEASUREMENT from homeassistant.core import HomeAssistant +from homeassistant.helpers import device_registry as dr, entity_registry as er from . import ( DISABLED_INTEGRATIONS_SERVICE_INFO, @@ -20,7 +21,11 @@ from tests.components.bluetooth import inject_bluetooth_service_info @pytest.mark.usefixtures("entity_registry_enabled_by_default") -async def test_sensors_aranet_radiation(hass: HomeAssistant) -> None: +async def test_sensors_aranet_radiation( + hass: HomeAssistant, + device_registry: dr.DeviceRegistry, + entity_registry: er.EntityRegistry, +) -> None: """Test setting up creates the sensors for Aranet Radiation device.""" entry = MockConfigEntry( domain=DOMAIN, @@ -73,12 +78,24 @@ async def test_sensors_aranet_radiation(hass: HomeAssistant) -> None: assert interval_sensor_attrs[ATTR_UNIT_OF_MEASUREMENT] == "s" assert interval_sensor_attrs[ATTR_STATE_CLASS] == "measurement" + # Check device context for the battery sensor + entity = entity_registry.async_get("sensor.aranet_12345_battery") + device = device_registry.async_get(entity.device_id) + assert device.name == "Aranet☢ 12345" + assert device.model == "Aranet Radiation" + assert device.sw_version == "v1.4.38" + assert device.manufacturer == "SAF Tehnika" + assert await hass.config_entries.async_unload(entry.entry_id) await hass.async_block_till_done() @pytest.mark.usefixtures("entity_registry_enabled_by_default") -async def test_sensors_aranet2(hass: HomeAssistant) -> None: +async def test_sensors_aranet2( + hass: HomeAssistant, + device_registry: dr.DeviceRegistry, + entity_registry: er.EntityRegistry, +) -> None: """Test setting up creates the sensors for Aranet2 device.""" entry = MockConfigEntry( domain=DOMAIN, @@ -122,12 +139,24 @@ async def test_sensors_aranet2(hass: HomeAssistant) -> None: assert interval_sensor_attrs[ATTR_UNIT_OF_MEASUREMENT] == "s" assert interval_sensor_attrs[ATTR_STATE_CLASS] == "measurement" + # Check device context for the battery sensor + entity = entity_registry.async_get("sensor.aranet2_12345_battery") + device = device_registry.async_get(entity.device_id) + assert device.name == "Aranet2 12345" + assert device.model == "Aranet2" + assert device.sw_version == "v1.4.4" + assert device.manufacturer == "SAF Tehnika" + assert await hass.config_entries.async_unload(entry.entry_id) await hass.async_block_till_done() @pytest.mark.usefixtures("entity_registry_enabled_by_default") -async def test_sensors_aranet4(hass: HomeAssistant) -> None: +async def test_sensors_aranet4( + hass: HomeAssistant, + device_registry: dr.DeviceRegistry, + entity_registry: er.EntityRegistry, +) -> None: """Test setting up creates the sensors for Aranet4 device.""" entry = MockConfigEntry( domain=DOMAIN, @@ -185,12 +214,24 @@ async def test_sensors_aranet4(hass: HomeAssistant) -> None: assert interval_sensor_attrs[ATTR_UNIT_OF_MEASUREMENT] == "s" assert interval_sensor_attrs[ATTR_STATE_CLASS] == "measurement" + # Check device context for the battery sensor + entity = entity_registry.async_get("sensor.aranet4_12345_battery") + device = device_registry.async_get(entity.device_id) + assert device.name == "Aranet4 12345" + assert device.model == "Aranet4" + assert device.sw_version == "v1.2.0" + assert device.manufacturer == "SAF Tehnika" + assert await hass.config_entries.async_unload(entry.entry_id) await hass.async_block_till_done() @pytest.mark.usefixtures("entity_registry_enabled_by_default") -async def test_sensors_aranetrn(hass: HomeAssistant) -> None: +async def test_sensors_aranetrn( + hass: HomeAssistant, + device_registry: dr.DeviceRegistry, + entity_registry: er.EntityRegistry, +) -> None: """Test setting up creates the sensors for Aranet Radon device.""" entry = MockConfigEntry( domain=DOMAIN, @@ -250,6 +291,14 @@ async def test_sensors_aranetrn(hass: HomeAssistant) -> None: assert interval_sensor_attrs[ATTR_UNIT_OF_MEASUREMENT] == "s" assert interval_sensor_attrs[ATTR_STATE_CLASS] == "measurement" + # Check device context for the battery sensor + entity = entity_registry.async_get("sensor.aranetrn_12345_battery") + device = device_registry.async_get(entity.device_id) + assert device.name == "AranetRn+ 12345" + assert device.model == "Aranet Radon Plus" + assert device.sw_version == "v1.6.4" + assert device.manufacturer == "SAF Tehnika" + assert await hass.config_entries.async_unload(entry.entry_id) await hass.async_block_till_done()