Add Airzone Cloud Air Quality zone binary sensors (#106573)

* airzone_cloud: add Air Quality binary sensor

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: binary_sensor: rename Air Quality

Add "active" to indicate status.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
Álvaro Fernández Rojas 2024-02-24 14:41:12 +01:00 committed by GitHub
parent d3d6870c04
commit 766596abdc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 18 additions and 0 deletions

View file

@ -7,6 +7,7 @@ from typing import Any, Final
from aioairzone_cloud.const import ( from aioairzone_cloud.const import (
AZD_ACTIVE, AZD_ACTIVE,
AZD_AIDOOS, AZD_AIDOOS,
AZD_AQ_ACTIVE,
AZD_ERRORS, AZD_ERRORS,
AZD_PROBLEMS, AZD_PROBLEMS,
AZD_SYSTEMS, AZD_SYSTEMS,
@ -76,6 +77,10 @@ ZONE_BINARY_SENSOR_TYPES: Final[tuple[AirzoneBinarySensorEntityDescription, ...]
device_class=BinarySensorDeviceClass.RUNNING, device_class=BinarySensorDeviceClass.RUNNING,
key=AZD_ACTIVE, key=AZD_ACTIVE,
), ),
AirzoneBinarySensorEntityDescription(
key=AZD_AQ_ACTIVE,
translation_key="air_quality_active",
),
AirzoneBinarySensorEntityDescription( AirzoneBinarySensorEntityDescription(
attributes={ attributes={
"warnings": AZD_WARNINGS, "warnings": AZD_WARNINGS,

View file

@ -15,5 +15,12 @@
} }
} }
} }
},
"entity": {
"binary_sensor": {
"air_quality_active": {
"name": "Air Quality active"
}
}
} }
} }

View file

@ -41,6 +41,9 @@ async def test_airzone_create_binary_sensors(hass: HomeAssistant) -> None:
assert state.attributes.get("warnings") is None assert state.attributes.get("warnings") is None
# Zones # Zones
state = hass.states.get("binary_sensor.dormitorio_air_quality_active")
assert state.state == STATE_OFF
state = hass.states.get("binary_sensor.dormitorio_problem") state = hass.states.get("binary_sensor.dormitorio_problem")
assert state.state == STATE_OFF assert state.state == STATE_OFF
assert state.attributes.get("warnings") is None assert state.attributes.get("warnings") is None
@ -48,6 +51,9 @@ async def test_airzone_create_binary_sensors(hass: HomeAssistant) -> None:
state = hass.states.get("binary_sensor.dormitorio_running") state = hass.states.get("binary_sensor.dormitorio_running")
assert state.state == STATE_OFF assert state.state == STATE_OFF
state = hass.states.get("binary_sensor.salon_air_quality_active")
assert state.state == STATE_OFF
state = hass.states.get("binary_sensor.salon_problem") state = hass.states.get("binary_sensor.salon_problem")
assert state.state == STATE_OFF assert state.state == STATE_OFF
assert state.attributes.get("warnings") is None assert state.attributes.get("warnings") is None