mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Tag Aranet diagnostic entities appropriately (#95218)
This commit is contained in:
parent
e4eb7e4796
commit
1dc9c77a3e
@ -25,6 +25,7 @@ from homeassistant.const import (
|
|||||||
ATTR_SW_VERSION,
|
ATTR_SW_VERSION,
|
||||||
CONCENTRATION_PARTS_PER_MILLION,
|
CONCENTRATION_PARTS_PER_MILLION,
|
||||||
PERCENTAGE,
|
PERCENTAGE,
|
||||||
|
EntityCategory,
|
||||||
UnitOfPressure,
|
UnitOfPressure,
|
||||||
UnitOfTemperature,
|
UnitOfTemperature,
|
||||||
UnitOfTime,
|
UnitOfTime,
|
||||||
@ -81,6 +82,7 @@ SENSOR_DESCRIPTIONS = {
|
|||||||
device_class=SensorDeviceClass.BATTERY,
|
device_class=SensorDeviceClass.BATTERY,
|
||||||
native_unit_of_measurement=PERCENTAGE,
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
state_class=SensorStateClass.MEASUREMENT,
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
),
|
),
|
||||||
"interval": AranetSensorEntityDescription(
|
"interval": AranetSensorEntityDescription(
|
||||||
key="update_interval",
|
key="update_interval",
|
||||||
@ -90,6 +92,7 @@ SENSOR_DESCRIPTIONS = {
|
|||||||
state_class=SensorStateClass.MEASUREMENT,
|
state_class=SensorStateClass.MEASUREMENT,
|
||||||
# The interval setting is not a generally useful entity for most users.
|
# The interval setting is not a generally useful entity for most users.
|
||||||
entity_registry_enabled_default=False,
|
entity_registry_enabled_default=False,
|
||||||
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,9 @@ from tests.common import MockConfigEntry
|
|||||||
from tests.components.bluetooth import inject_bluetooth_service_info
|
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."""
|
"""Test setting up creates the sensors."""
|
||||||
entry = MockConfigEntry(
|
entry = MockConfigEntry(
|
||||||
domain=DOMAIN,
|
domain=DOMAIN,
|
||||||
@ -24,7 +26,7 @@ async def test_sensors(hass: HomeAssistant) -> None:
|
|||||||
assert len(hass.states.async_all("sensor")) == 0
|
assert len(hass.states.async_all("sensor")) == 0
|
||||||
inject_bluetooth_service_info(hass, VALID_DATA_SERVICE_INFO)
|
inject_bluetooth_service_info(hass, VALID_DATA_SERVICE_INFO)
|
||||||
await hass.async_block_till_done()
|
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 = hass.states.get("sensor.aranet4_12345_battery")
|
||||||
batt_sensor_attrs = batt_sensor.attributes
|
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_UNIT_OF_MEASUREMENT] == "hPa"
|
||||||
assert press_sensor_attrs[ATTR_STATE_CLASS] == "measurement"
|
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)
|
assert await hass.config_entries.async_unload(entry.entry_id)
|
||||||
await hass.async_block_till_done()
|
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."""
|
"""Test disabling smart home integration marks entities as unavailable."""
|
||||||
entry = MockConfigEntry(
|
entry = MockConfigEntry(
|
||||||
domain=DOMAIN,
|
domain=DOMAIN,
|
||||||
@ -79,7 +90,7 @@ async def test_smart_home_integration_disabled(hass: HomeAssistant) -> None:
|
|||||||
assert len(hass.states.async_all("sensor")) == 0
|
assert len(hass.states.async_all("sensor")) == 0
|
||||||
inject_bluetooth_service_info(hass, DISABLED_INTEGRATIONS_SERVICE_INFO)
|
inject_bluetooth_service_info(hass, DISABLED_INTEGRATIONS_SERVICE_INFO)
|
||||||
await hass.async_block_till_done()
|
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 = hass.states.get("sensor.aranet4_12345_battery")
|
||||||
assert batt_sensor.state == "unavailable"
|
assert batt_sensor.state == "unavailable"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user