Update aioairzone to v0.4.0 (#70280)

This commit is contained in:
Álvaro Fernández Rojas 2022-04-19 17:03:13 +02:00 committed by GitHub
parent ba4ca3e38e
commit 5729209d5d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 36 additions and 21 deletions

View File

@ -3,7 +3,6 @@ from __future__ import annotations
from typing import Any from typing import Any
from aioairzone.common import ConnectionOptions
from aioairzone.const import ( from aioairzone.const import (
AZD_ID, AZD_ID,
AZD_NAME, AZD_NAME,
@ -13,7 +12,7 @@ from aioairzone.const import (
AZD_ZONES, AZD_ZONES,
DEFAULT_SYSTEM_ID, DEFAULT_SYSTEM_ID,
) )
from aioairzone.localapi import AirzoneLocalApi from aioairzone.localapi import AirzoneLocalApi, ConnectionOptions
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, CONF_ID, CONF_PORT, Platform from homeassistant.const import CONF_HOST, CONF_ID, CONF_PORT, Platform

View File

@ -3,10 +3,9 @@ from __future__ import annotations
from typing import Any from typing import Any
from aioairzone.common import ConnectionOptions
from aioairzone.const import DEFAULT_PORT, DEFAULT_SYSTEM_ID from aioairzone.const import DEFAULT_PORT, DEFAULT_SYSTEM_ID
from aioairzone.exceptions import AirzoneError, InvalidSystem from aioairzone.exceptions import AirzoneError, InvalidSystem
from aioairzone.localapi import AirzoneLocalApi from aioairzone.localapi import AirzoneLocalApi, ConnectionOptions
import voluptuous as vol import voluptuous as vol
from homeassistant import config_entries from homeassistant import config_entries
@ -62,7 +61,7 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
) )
try: try:
await airzone.validate_airzone() await airzone.validate()
except InvalidSystem: except InvalidSystem:
data_schema = SYSTEM_ID_SCHEMA data_schema = SYSTEM_ID_SCHEMA
errors["base"] = "invalid_system_id" errors["base"] = "invalid_system_id"

View File

@ -36,7 +36,7 @@ class AirzoneUpdateCoordinator(DataUpdateCoordinator):
"""Update data via library.""" """Update data via library."""
async with async_timeout.timeout(AIOAIRZONE_DEVICE_TIMEOUT_SEC): async with async_timeout.timeout(AIOAIRZONE_DEVICE_TIMEOUT_SEC):
try: try:
await self.airzone.update_airzone() await self.airzone.update()
except AirzoneError as error: except AirzoneError as error:
raise UpdateFailed(error) from error raise UpdateFailed(error) from error
return self.airzone.data() return self.airzone.data()

View File

@ -3,7 +3,7 @@
"name": "Airzone", "name": "Airzone",
"config_flow": true, "config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/airzone", "documentation": "https://www.home-assistant.io/integrations/airzone",
"requirements": ["aioairzone==0.3.8"], "requirements": ["aioairzone==0.4.0"],
"codeowners": ["@Noltari"], "codeowners": ["@Noltari"],
"iot_class": "local_polling", "iot_class": "local_polling",
"loggers": ["aioairzone"] "loggers": ["aioairzone"]

View File

@ -110,7 +110,7 @@ aio_geojson_nsw_rfs_incidents==0.4
aio_georss_gdacs==0.7 aio_georss_gdacs==0.7
# homeassistant.components.airzone # homeassistant.components.airzone
aioairzone==0.3.8 aioairzone==0.4.0
# homeassistant.components.ambient_station # homeassistant.components.ambient_station
aioambient==2021.11.0 aioambient==2021.11.0

View File

@ -94,7 +94,7 @@ aio_geojson_nsw_rfs_incidents==0.4
aio_georss_gdacs==0.7 aio_georss_gdacs==0.7
# homeassistant.components.airzone # homeassistant.components.airzone
aioairzone==0.3.8 aioairzone==0.4.0
# homeassistant.components.ambient_station # homeassistant.components.ambient_station
aioambient==2021.11.0 aioambient==2021.11.0

View File

@ -121,23 +121,19 @@ async def test_form_duplicated_id(hass: HomeAssistant) -> None:
entry = MockConfigEntry(domain=DOMAIN, data=CONFIG) entry = MockConfigEntry(domain=DOMAIN, data=CONFIG)
entry.add_to_hass(hass) entry.add_to_hass(hass)
with patch( result = await hass.config_entries.flow.async_init(
"homeassistant.components.airzone.AirzoneLocalApi.get_hvac", DOMAIN, context={"source": SOURCE_USER}, data=CONFIG
return_value=HVAC_MOCK, )
):
result = await hass.config_entries.flow.async_init(
DOMAIN, context={"source": SOURCE_USER}, data=CONFIG
)
assert result["type"] == "abort" assert result["type"] == "abort"
assert result["reason"] == "already_configured" assert result["reason"] == "already_configured"
async def test_connection_error(hass: HomeAssistant): async def test_connection_error(hass: HomeAssistant):
"""Test connection to host error.""" """Test connection to host error."""
with patch( with patch(
"homeassistant.components.airzone.AirzoneLocalApi.validate_airzone", "homeassistant.components.airzone.AirzoneLocalApi.validate",
side_effect=AirzoneError, side_effect=AirzoneError,
): ):
result = await hass.config_entries.flow.async_init( result = await hass.config_entries.flow.async_init(

View File

@ -2,7 +2,7 @@
from unittest.mock import patch from unittest.mock import patch
from aioairzone.exceptions import AirzoneError from aioairzone.exceptions import AirzoneError, InvalidMethod, SystemOutOfRange
from homeassistant.components.airzone.const import DOMAIN from homeassistant.components.airzone.const import DOMAIN
from homeassistant.components.airzone.coordinator import SCAN_INTERVAL from homeassistant.components.airzone.coordinator import SCAN_INTERVAL
@ -24,7 +24,13 @@ async def test_coordinator_client_connector_error(hass: HomeAssistant) -> None:
with patch( with patch(
"homeassistant.components.airzone.AirzoneLocalApi.get_hvac", "homeassistant.components.airzone.AirzoneLocalApi.get_hvac",
return_value=HVAC_MOCK, return_value=HVAC_MOCK,
) as mock_hvac: ) as mock_hvac, patch(
"homeassistant.components.airzone.AirzoneLocalApi.get_hvac_systems",
side_effect=SystemOutOfRange,
), patch(
"homeassistant.components.airzone.AirzoneLocalApi.get_webserver",
side_effect=InvalidMethod,
):
await hass.config_entries.async_setup(entry.entry_id) await hass.config_entries.async_setup(entry.entry_id)
await hass.async_block_till_done() await hass.async_block_till_done()
mock_hvac.assert_called_once() mock_hvac.assert_called_once()

View File

@ -2,6 +2,8 @@
from unittest.mock import patch from unittest.mock import patch
from aioairzone.exceptions import InvalidMethod, SystemOutOfRange
from homeassistant.components.airzone.const import DOMAIN from homeassistant.components.airzone.const import DOMAIN
from homeassistant.config_entries import ConfigEntryState from homeassistant.config_entries import ConfigEntryState
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
@ -22,6 +24,12 @@ async def test_unload_entry(hass: HomeAssistant) -> None:
with patch( with patch(
"homeassistant.components.airzone.AirzoneLocalApi.get_hvac", "homeassistant.components.airzone.AirzoneLocalApi.get_hvac",
return_value=HVAC_MOCK, return_value=HVAC_MOCK,
), patch(
"homeassistant.components.airzone.AirzoneLocalApi.get_hvac_systems",
side_effect=SystemOutOfRange,
), patch(
"homeassistant.components.airzone.AirzoneLocalApi.get_webserver",
side_effect=InvalidMethod,
): ):
assert await hass.config_entries.async_setup(config_entry.entry_id) assert await hass.config_entries.async_setup(config_entry.entry_id)
await hass.async_block_till_done() await hass.async_block_till_done()

View File

@ -25,6 +25,7 @@ from aioairzone.const import (
API_UNITS, API_UNITS,
API_ZONE_ID, API_ZONE_ID,
) )
from aioairzone.exceptions import InvalidMethod, SystemOutOfRange
from homeassistant.components.airzone import DOMAIN from homeassistant.components.airzone import DOMAIN
from homeassistant.const import CONF_HOST, CONF_ID, CONF_PORT from homeassistant.const import CONF_HOST, CONF_ID, CONF_PORT
@ -171,6 +172,12 @@ async def async_init_integration(
with patch( with patch(
"homeassistant.components.airzone.AirzoneLocalApi.get_hvac", "homeassistant.components.airzone.AirzoneLocalApi.get_hvac",
return_value=HVAC_MOCK, return_value=HVAC_MOCK,
), patch(
"homeassistant.components.airzone.AirzoneLocalApi.get_hvac_systems",
side_effect=SystemOutOfRange,
), patch(
"homeassistant.components.airzone.AirzoneLocalApi.get_webserver",
side_effect=InvalidMethod,
): ):
await hass.config_entries.async_setup(entry.entry_id) await hass.config_entries.async_setup(entry.entry_id)
await hass.async_block_till_done() await hass.async_block_till_done()