mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Add ATTR_MODEL to DeviceInfo for Aranet (#134307)
* add ATTR_MODEL to DeviceInfo * add tests for device context * Upstream change type.name --> type.model * fix test to represent model names
This commit is contained in:
parent
32b7b5aa66
commit
f0a1a6c2ad
@ -22,6 +22,7 @@ from homeassistant.components.sensor import (
|
|||||||
)
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
ATTR_MANUFACTURER,
|
ATTR_MANUFACTURER,
|
||||||
|
ATTR_MODEL,
|
||||||
ATTR_NAME,
|
ATTR_NAME,
|
||||||
ATTR_SW_VERSION,
|
ATTR_SW_VERSION,
|
||||||
CONCENTRATION_PARTS_PER_MILLION,
|
CONCENTRATION_PARTS_PER_MILLION,
|
||||||
@ -142,6 +143,7 @@ def _sensor_device_info_to_hass(
|
|||||||
if adv.readings and adv.readings.name:
|
if adv.readings and adv.readings.name:
|
||||||
hass_device_info[ATTR_NAME] = adv.readings.name
|
hass_device_info[ATTR_NAME] = adv.readings.name
|
||||||
hass_device_info[ATTR_MANUFACTURER] = ARANET_MANUFACTURER_NAME
|
hass_device_info[ATTR_MANUFACTURER] = ARANET_MANUFACTURER_NAME
|
||||||
|
hass_device_info[ATTR_MODEL] = adv.readings.type.model
|
||||||
if adv.manufacturer_data:
|
if adv.manufacturer_data:
|
||||||
hass_device_info[ATTR_SW_VERSION] = str(adv.manufacturer_data.version)
|
hass_device_info[ATTR_SW_VERSION] = str(adv.manufacturer_data.version)
|
||||||
return hass_device_info
|
return hass_device_info
|
||||||
|
@ -6,6 +6,7 @@ from homeassistant.components.aranet.const import DOMAIN
|
|||||||
from homeassistant.components.sensor import ATTR_STATE_CLASS
|
from homeassistant.components.sensor import ATTR_STATE_CLASS
|
||||||
from homeassistant.const import ATTR_FRIENDLY_NAME, ATTR_UNIT_OF_MEASUREMENT
|
from homeassistant.const import ATTR_FRIENDLY_NAME, ATTR_UNIT_OF_MEASUREMENT
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
|
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
||||||
|
|
||||||
from . import (
|
from . import (
|
||||||
DISABLED_INTEGRATIONS_SERVICE_INFO,
|
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")
|
@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."""
|
"""Test setting up creates the sensors for Aranet Radiation device."""
|
||||||
entry = MockConfigEntry(
|
entry = MockConfigEntry(
|
||||||
domain=DOMAIN,
|
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_UNIT_OF_MEASUREMENT] == "s"
|
||||||
assert interval_sensor_attrs[ATTR_STATE_CLASS] == "measurement"
|
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)
|
assert await hass.config_entries.async_unload(entry.entry_id)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
|
@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."""
|
"""Test setting up creates the sensors for Aranet2 device."""
|
||||||
entry = MockConfigEntry(
|
entry = MockConfigEntry(
|
||||||
domain=DOMAIN,
|
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_UNIT_OF_MEASUREMENT] == "s"
|
||||||
assert interval_sensor_attrs[ATTR_STATE_CLASS] == "measurement"
|
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)
|
assert await hass.config_entries.async_unload(entry.entry_id)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
|
@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."""
|
"""Test setting up creates the sensors for Aranet4 device."""
|
||||||
entry = MockConfigEntry(
|
entry = MockConfigEntry(
|
||||||
domain=DOMAIN,
|
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_UNIT_OF_MEASUREMENT] == "s"
|
||||||
assert interval_sensor_attrs[ATTR_STATE_CLASS] == "measurement"
|
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)
|
assert await hass.config_entries.async_unload(entry.entry_id)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("entity_registry_enabled_by_default")
|
@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."""
|
"""Test setting up creates the sensors for Aranet Radon device."""
|
||||||
entry = MockConfigEntry(
|
entry = MockConfigEntry(
|
||||||
domain=DOMAIN,
|
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_UNIT_OF_MEASUREMENT] == "s"
|
||||||
assert interval_sensor_attrs[ATTR_STATE_CLASS] == "measurement"
|
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)
|
assert await hass.config_entries.async_unload(entry.entry_id)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user