mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Add Airzone Low Battery Binary Sensor (#69022)
* airzone: binary_sensor: add Low Battery This binary sensor is only applicable for Radio Thermostats. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com> * airzone: use BinarySensorDeviceClass Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
parent
6dc44863c4
commit
a29265e725
@ -7,6 +7,7 @@ from typing import Any, Final
|
||||
|
||||
from aioairzone.const import (
|
||||
AZD_AIR_DEMAND,
|
||||
AZD_BATTERY_LOW,
|
||||
AZD_ERRORS,
|
||||
AZD_FLOOR_DEMAND,
|
||||
AZD_NAME,
|
||||
@ -42,6 +43,11 @@ ZONE_BINARY_SENSOR_TYPES: Final[tuple[AirzoneBinarySensorEntityDescription, ...]
|
||||
key=AZD_AIR_DEMAND,
|
||||
name="Air Demand",
|
||||
),
|
||||
AirzoneBinarySensorEntityDescription(
|
||||
device_class=BinarySensorDeviceClass.BATTERY,
|
||||
key=AZD_BATTERY_LOW,
|
||||
name="Battery Low",
|
||||
),
|
||||
AirzoneBinarySensorEntityDescription(
|
||||
device_class=BinarySensorDeviceClass.RUNNING,
|
||||
key=AZD_FLOOR_DEMAND,
|
||||
|
@ -1,5 +1,7 @@
|
||||
"""The sensor tests for the Airzone platform."""
|
||||
|
||||
from aioairzone.const import API_ERROR_LOW_BATTERY
|
||||
|
||||
from homeassistant.const import STATE_OFF, STATE_ON
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
||||
@ -14,15 +16,22 @@ async def test_airzone_create_binary_sensors(hass: HomeAssistant) -> None:
|
||||
state = hass.states.get("binary_sensor.despacho_air_demand")
|
||||
assert state.state == STATE_OFF
|
||||
|
||||
state = hass.states.get("binary_sensor.despacho_battery_low")
|
||||
assert state.state == STATE_ON
|
||||
|
||||
state = hass.states.get("binary_sensor.despacho_floor_demand")
|
||||
assert state is None
|
||||
|
||||
state = hass.states.get("binary_sensor.despacho_problem")
|
||||
assert state.state == STATE_OFF
|
||||
assert state.state == STATE_ON
|
||||
assert state.attributes.get("errors") == [API_ERROR_LOW_BATTERY]
|
||||
|
||||
state = hass.states.get("binary_sensor.dorm_1_air_demand")
|
||||
assert state.state == STATE_OFF
|
||||
|
||||
state = hass.states.get("binary_sensor.dorm_1_battery_low")
|
||||
assert state.state == STATE_OFF
|
||||
|
||||
state = hass.states.get("binary_sensor.dorm_1_floor_demand")
|
||||
assert state.state == STATE_OFF
|
||||
|
||||
@ -32,6 +41,9 @@ async def test_airzone_create_binary_sensors(hass: HomeAssistant) -> None:
|
||||
state = hass.states.get("binary_sensor.dorm_2_air_demand")
|
||||
assert state.state == STATE_OFF
|
||||
|
||||
state = hass.states.get("binary_sensor.dorm_2_battery_low")
|
||||
assert state.state == STATE_OFF
|
||||
|
||||
state = hass.states.get("binary_sensor.dorm_2_floor_demand")
|
||||
assert state is None
|
||||
|
||||
@ -41,6 +53,9 @@ async def test_airzone_create_binary_sensors(hass: HomeAssistant) -> None:
|
||||
state = hass.states.get("binary_sensor.dorm_ppal_air_demand")
|
||||
assert state.state == STATE_ON
|
||||
|
||||
state = hass.states.get("binary_sensor.dorm_ppal_battery_low")
|
||||
assert state.state == STATE_OFF
|
||||
|
||||
state = hass.states.get("binary_sensor.dorm_ppal_floor_demand")
|
||||
assert state.state == STATE_ON
|
||||
|
||||
@ -50,6 +65,9 @@ async def test_airzone_create_binary_sensors(hass: HomeAssistant) -> None:
|
||||
state = hass.states.get("binary_sensor.salon_air_demand")
|
||||
assert state.state == STATE_OFF
|
||||
|
||||
state = hass.states.get("binary_sensor.salon_battery_low")
|
||||
assert state is None
|
||||
|
||||
state = hass.states.get("binary_sensor.salon_floor_demand")
|
||||
assert state is None
|
||||
|
||||
|
@ -22,6 +22,9 @@ from aioairzone.const import (
|
||||
API_SET_POINT,
|
||||
API_SYSTEM_ID,
|
||||
API_SYSTEMS,
|
||||
API_THERMOS_FIRMWARE,
|
||||
API_THERMOS_RADIO,
|
||||
API_THERMOS_TYPE,
|
||||
API_UNITS,
|
||||
API_ZONE_ID,
|
||||
)
|
||||
@ -58,6 +61,9 @@ HVAC_MOCK = {
|
||||
API_SYSTEM_ID: 1,
|
||||
API_ZONE_ID: 1,
|
||||
API_NAME: "Salon",
|
||||
API_THERMOS_TYPE: 2,
|
||||
API_THERMOS_FIRMWARE: "3.51",
|
||||
API_THERMOS_RADIO: 0,
|
||||
API_ON: 0,
|
||||
API_MAX_TEMP: 30,
|
||||
API_MIN_TEMP: 15,
|
||||
@ -79,6 +85,9 @@ HVAC_MOCK = {
|
||||
API_SYSTEM_ID: 1,
|
||||
API_ZONE_ID: 2,
|
||||
API_NAME: "Dorm Ppal",
|
||||
API_THERMOS_TYPE: 4,
|
||||
API_THERMOS_FIRMWARE: "3.33",
|
||||
API_THERMOS_RADIO: 1,
|
||||
API_ON: 1,
|
||||
API_MAX_TEMP: 30,
|
||||
API_MIN_TEMP: 15,
|
||||
@ -99,6 +108,9 @@ HVAC_MOCK = {
|
||||
API_SYSTEM_ID: 1,
|
||||
API_ZONE_ID: 3,
|
||||
API_NAME: "Dorm #1",
|
||||
API_THERMOS_TYPE: 4,
|
||||
API_THERMOS_FIRMWARE: "3.33",
|
||||
API_THERMOS_RADIO: 1,
|
||||
API_ON: 1,
|
||||
API_MAX_TEMP: 30,
|
||||
API_MIN_TEMP: 15,
|
||||
@ -119,6 +131,9 @@ HVAC_MOCK = {
|
||||
API_SYSTEM_ID: 1,
|
||||
API_ZONE_ID: 4,
|
||||
API_NAME: "Despacho",
|
||||
API_THERMOS_TYPE: 4,
|
||||
API_THERMOS_FIRMWARE: "3.33",
|
||||
API_THERMOS_RADIO: 1,
|
||||
API_ON: 0,
|
||||
API_MAX_TEMP: 86,
|
||||
API_MIN_TEMP: 59,
|
||||
@ -131,7 +146,11 @@ HVAC_MOCK = {
|
||||
API_HEAT_STAGE: 1,
|
||||
API_HUMIDITY: 36,
|
||||
API_UNITS: 1,
|
||||
API_ERRORS: [],
|
||||
API_ERRORS: [
|
||||
{
|
||||
"Zone": "Low battery",
|
||||
},
|
||||
],
|
||||
API_AIR_DEMAND: 0,
|
||||
API_FLOOR_DEMAND: 0,
|
||||
},
|
||||
@ -139,6 +158,9 @@ HVAC_MOCK = {
|
||||
API_SYSTEM_ID: 1,
|
||||
API_ZONE_ID: 5,
|
||||
API_NAME: "Dorm #2",
|
||||
API_THERMOS_TYPE: 4,
|
||||
API_THERMOS_FIRMWARE: "3.33",
|
||||
API_THERMOS_RADIO: 1,
|
||||
API_ON: 0,
|
||||
API_MAX_TEMP: 30,
|
||||
API_MIN_TEMP: 15,
|
||||
|
Loading…
x
Reference in New Issue
Block a user