Add separate ozone sensor for climacell (#51182)

This commit is contained in:
Raman Gupta 2021-05-28 17:24:01 -04:00 committed by GitHub
parent 39c94e8daa
commit 19c16e079f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions

View file

@ -128,6 +128,11 @@ CC_ATTR_POLLEN_GRASS = "grassIndex"
CC_ATTR_FIRE_INDEX = "fireIndex"
CC_SENSOR_TYPES = [
{
ATTR_FIELD: CC_ATTR_OZONE,
ATTR_NAME: "Ozone",
CONF_UNIT_OF_MEASUREMENT: CONCENTRATION_PARTS_PER_BILLION,
},
{
ATTR_FIELD: CC_ATTR_PARTICULATE_MATTER_25,
ATTR_NAME: "Particulate Matter < 2.5 μm",
@ -262,6 +267,11 @@ CC_V3_ATTR_POLLEN_GRASS = "pollen_grass"
CC_V3_ATTR_FIRE_INDEX = "fire_index"
CC_V3_SENSOR_TYPES = [
{
ATTR_FIELD: CC_V3_ATTR_OZONE,
ATTR_NAME: "Ozone",
CONF_UNIT_OF_MEASUREMENT: CONCENTRATION_PARTS_PER_BILLION,
},
{
ATTR_FIELD: CC_V3_ATTR_PARTICULATE_MATTER_25,
ATTR_NAME: "Particulate Matter < 2.5 μm",

View file

@ -26,6 +26,7 @@ from tests.common import MockConfigEntry
_LOGGER = logging.getLogger(__name__)
CC_SENSOR_ENTITY_ID = "sensor.climacell_{}"
O3 = "ozone"
CO = "carbon_monoxide"
NO2 = "nitrogen_dioxide"
SO2 = "sulfur_dioxide"
@ -72,6 +73,7 @@ async def _setup(hass: HomeAssistant, config: dict[str, Any]) -> State:
assert await hass.config_entries.async_setup(config_entry.entry_id)
await hass.async_block_till_done()
for entity_name in (
O3,
CO,
NO2,
SO2,
@ -90,7 +92,7 @@ async def _setup(hass: HomeAssistant, config: dict[str, Any]) -> State:
):
_enable_entity(hass, CC_SENSOR_ENTITY_ID.format(entity_name))
await hass.async_block_till_done()
assert len(hass.states.async_entity_ids(SENSOR_DOMAIN)) == 15
assert len(hass.states.async_entity_ids(SENSOR_DOMAIN)) == 16
def check_sensor_state(hass: HomeAssistant, entity_name: str, value: str):
@ -107,6 +109,7 @@ async def test_v3_sensor(
) -> None:
"""Test v3 sensor data."""
await _setup(hass, API_V3_ENTRY_DATA)
check_sensor_state(hass, O3, "52.625")
check_sensor_state(hass, CO, "0.875")
check_sensor_state(hass, NO2, "14.1875")
check_sensor_state(hass, SO2, "2")
@ -130,6 +133,7 @@ async def test_v4_sensor(
) -> None:
"""Test v4 sensor data."""
await _setup(hass, API_V4_ENTRY_DATA)
check_sensor_state(hass, O3, "46.53")
check_sensor_state(hass, CO, "0.63")
check_sensor_state(hass, NO2, "10.67")
check_sensor_state(hass, SO2, "1.65")