core/tests/components/airzone/util.py

165 lines
4.8 KiB
Python

"""Tests for the Airzone integration."""
from unittest.mock import patch
from aioairzone.const import (
API_AIR_DEMAND,
API_COLD_STAGE,
API_COLD_STAGES,
API_DATA,
API_ERRORS,
API_FLOOR_DEMAND,
API_HEAT_STAGE,
API_HEAT_STAGES,
API_HUMIDITY,
API_MAX_TEMP,
API_MIN_TEMP,
API_MODE,
API_MODES,
API_NAME,
API_ON,
API_ROOM_TEMP,
API_SET_POINT,
API_SYSTEM_ID,
API_SYSTEMS,
API_UNITS,
API_ZONE_ID,
)
from homeassistant.components.airzone import DOMAIN
from homeassistant.const import CONF_HOST, CONF_PORT
from homeassistant.core import HomeAssistant
from tests.common import MockConfigEntry
CONFIG = {
CONF_HOST: "192.168.1.100",
CONF_PORT: 3000,
}
HVAC_MOCK = {
API_SYSTEMS: [
{
API_DATA: [
{
API_SYSTEM_ID: 1,
API_ZONE_ID: 1,
API_NAME: "Salon",
API_ON: 0,
API_MAX_TEMP: 30,
API_MIN_TEMP: 15,
API_SET_POINT: 19.1,
API_ROOM_TEMP: 19.6,
API_MODES: [1, 4, 2, 3, 5],
API_MODE: 3,
API_COLD_STAGES: 1,
API_COLD_STAGE: 1,
API_HEAT_STAGES: 1,
API_HEAT_STAGE: 1,
API_HUMIDITY: 34,
API_UNITS: 0,
API_ERRORS: [],
API_AIR_DEMAND: 0,
API_FLOOR_DEMAND: 0,
},
{
API_SYSTEM_ID: 1,
API_ZONE_ID: 2,
API_NAME: "Dorm Ppal",
API_ON: 1,
API_MAX_TEMP: 30,
API_MIN_TEMP: 15,
API_SET_POINT: 19.2,
API_ROOM_TEMP: 21.1,
API_MODE: 3,
API_COLD_STAGES: 1,
API_COLD_STAGE: 1,
API_HEAT_STAGES: 1,
API_HEAT_STAGE: 1,
API_HUMIDITY: 39,
API_UNITS: 0,
API_ERRORS: [],
API_AIR_DEMAND: 1,
API_FLOOR_DEMAND: 0,
},
{
API_SYSTEM_ID: 1,
API_ZONE_ID: 3,
API_NAME: "Dorm #1",
API_ON: 1,
API_MAX_TEMP: 30,
API_MIN_TEMP: 15,
API_SET_POINT: 19.3,
API_ROOM_TEMP: 20.8,
API_MODE: 3,
API_COLD_STAGES: 1,
API_COLD_STAGE: 1,
API_HEAT_STAGES: 1,
API_HEAT_STAGE: 1,
API_HUMIDITY: 35,
API_UNITS: 0,
API_ERRORS: [],
API_AIR_DEMAND: 0,
API_FLOOR_DEMAND: 0,
},
{
API_SYSTEM_ID: 1,
API_ZONE_ID: 4,
API_NAME: "Despacho",
API_ON: 0,
API_MAX_TEMP: 86,
API_MIN_TEMP: 59,
API_SET_POINT: 66.92,
API_ROOM_TEMP: 70.16,
API_MODE: 3,
API_COLD_STAGES: 1,
API_COLD_STAGE: 1,
API_HEAT_STAGES: 1,
API_HEAT_STAGE: 1,
API_HUMIDITY: 36,
API_UNITS: 1,
API_ERRORS: [],
API_AIR_DEMAND: 0,
API_FLOOR_DEMAND: 0,
},
{
API_SYSTEM_ID: 1,
API_ZONE_ID: 5,
API_NAME: "Dorm #2",
API_ON: 0,
API_MAX_TEMP: 30,
API_MIN_TEMP: 15,
API_SET_POINT: 19.5,
API_ROOM_TEMP: 20.5,
API_MODE: 3,
API_COLD_STAGES: 1,
API_COLD_STAGE: 1,
API_HEAT_STAGES: 1,
API_HEAT_STAGE: 1,
API_HUMIDITY: 40,
API_UNITS: 0,
API_ERRORS: [],
API_AIR_DEMAND: 0,
API_FLOOR_DEMAND: 0,
},
]
}
]
}
async def async_init_integration(
hass: HomeAssistant,
):
"""Set up the Airzone integration in Home Assistant."""
entry = MockConfigEntry(domain=DOMAIN, data=CONFIG)
entry.add_to_hass(hass)
with patch(
"homeassistant.components.airzone.AirzoneLocalApi.get_hvac",
return_value=HVAC_MOCK,
):
await hass.config_entries.async_setup(entry.entry_id)
await hass.async_block_till_done()