From 1dc9c77a3e4afa11d10333906fb60af5daccd1e2 Mon Sep 17 00:00:00 2001 From: aschmitz <29508+aschmitz@users.noreply.github.com> Date: Tue, 27 Jun 2023 11:56:46 -0500 Subject: [PATCH] Tag Aranet diagnostic entities appropriately (#95218) --- homeassistant/components/aranet/sensor.py | 3 +++ tests/components/aranet/test_sensor.py | 19 +++++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/aranet/sensor.py b/homeassistant/components/aranet/sensor.py index 90448b9c89d..5c223940915 100644 --- a/homeassistant/components/aranet/sensor.py +++ b/homeassistant/components/aranet/sensor.py @@ -25,6 +25,7 @@ from homeassistant.const import ( ATTR_SW_VERSION, CONCENTRATION_PARTS_PER_MILLION, PERCENTAGE, + EntityCategory, UnitOfPressure, UnitOfTemperature, UnitOfTime, @@ -81,6 +82,7 @@ SENSOR_DESCRIPTIONS = { device_class=SensorDeviceClass.BATTERY, native_unit_of_measurement=PERCENTAGE, state_class=SensorStateClass.MEASUREMENT, + entity_category=EntityCategory.DIAGNOSTIC, ), "interval": AranetSensorEntityDescription( key="update_interval", @@ -90,6 +92,7 @@ SENSOR_DESCRIPTIONS = { state_class=SensorStateClass.MEASUREMENT, # The interval setting is not a generally useful entity for most users. entity_registry_enabled_default=False, + entity_category=EntityCategory.DIAGNOSTIC, ), } diff --git a/tests/components/aranet/test_sensor.py b/tests/components/aranet/test_sensor.py index 3de7267f130..7d531bf6111 100644 --- a/tests/components/aranet/test_sensor.py +++ b/tests/components/aranet/test_sensor.py @@ -10,7 +10,9 @@ from tests.common import MockConfigEntry from tests.components.bluetooth import inject_bluetooth_service_info -async def test_sensors(hass: HomeAssistant) -> None: +async def test_sensors( + hass: HomeAssistant, entity_registry_enabled_by_default: None +) -> None: """Test setting up creates the sensors.""" entry = MockConfigEntry( domain=DOMAIN, @@ -24,7 +26,7 @@ async def test_sensors(hass: HomeAssistant) -> None: assert len(hass.states.async_all("sensor")) == 0 inject_bluetooth_service_info(hass, VALID_DATA_SERVICE_INFO) await hass.async_block_till_done() - assert len(hass.states.async_all("sensor")) == 5 + assert len(hass.states.async_all("sensor")) == 6 batt_sensor = hass.states.get("sensor.aranet4_12345_battery") batt_sensor_attrs = batt_sensor.attributes @@ -61,11 +63,20 @@ async def test_sensors(hass: HomeAssistant) -> None: assert press_sensor_attrs[ATTR_UNIT_OF_MEASUREMENT] == "hPa" assert press_sensor_attrs[ATTR_STATE_CLASS] == "measurement" + interval_sensor = hass.states.get("sensor.aranet4_12345_update_interval") + interval_sensor_attrs = interval_sensor.attributes + assert interval_sensor.state == "300" + assert interval_sensor_attrs[ATTR_FRIENDLY_NAME] == "Aranet4 12345 Update Interval" + assert interval_sensor_attrs[ATTR_UNIT_OF_MEASUREMENT] == "s" + assert interval_sensor_attrs[ATTR_STATE_CLASS] == "measurement" + assert await hass.config_entries.async_unload(entry.entry_id) await hass.async_block_till_done() -async def test_smart_home_integration_disabled(hass: HomeAssistant) -> None: +async def test_smart_home_integration_disabled( + hass: HomeAssistant, entity_registry_enabled_by_default: None +) -> None: """Test disabling smart home integration marks entities as unavailable.""" entry = MockConfigEntry( domain=DOMAIN, @@ -79,7 +90,7 @@ async def test_smart_home_integration_disabled(hass: HomeAssistant) -> None: assert len(hass.states.async_all("sensor")) == 0 inject_bluetooth_service_info(hass, DISABLED_INTEGRATIONS_SERVICE_INFO) await hass.async_block_till_done() - assert len(hass.states.async_all("sensor")) == 5 + assert len(hass.states.async_all("sensor")) == 6 batt_sensor = hass.states.get("sensor.aranet4_12345_battery") assert batt_sensor.state == "unavailable"