diff --git a/homeassistant/components/comelit/coordinator.py b/homeassistant/components/comelit/coordinator.py index a569a397c85..b3be3a47825 100644 --- a/homeassistant/components/comelit/coordinator.py +++ b/homeassistant/components/comelit/coordinator.py @@ -2,18 +2,19 @@ from abc import abstractmethod from datetime import timedelta -from typing import TypedDict, TypeVar, cast +from typing import TypeVar -from aiocomelit import ( +from aiocomelit.api import ( + AlarmDataObject, + ComelitCommonApi, ComeliteSerialBridgeApi, ComelitSerialBridgeObject, ComelitVedoApi, ComelitVedoAreaObject, ComelitVedoZoneObject, - exceptions, ) -from aiocomelit.api import ComelitCommonApi -from aiocomelit.const import ALARM_AREAS, ALARM_ZONES, BRIDGE, VEDO +from aiocomelit.const import BRIDGE, VEDO +from aiocomelit.exceptions import CannotAuthenticate, CannotConnect, CannotRetrieveData from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant @@ -26,13 +27,6 @@ from .const import _LOGGER, DOMAIN type ComelitConfigEntry = ConfigEntry[ComelitBaseCoordinator] -class AlarmDataObject(TypedDict): - """TypedDict for Alarm data objects.""" - - alarm_areas: dict[int, ComelitVedoAreaObject] - alarm_zones: dict[int, ComelitVedoZoneObject] - - T = TypeVar( "T", bound=dict[str, dict[int, ComelitSerialBridgeObject]] | AlarmDataObject, @@ -100,9 +94,9 @@ class ComelitBaseCoordinator(DataUpdateCoordinator[T]): try: await self.api.login() return await self._async_update_system_data() - except (exceptions.CannotConnect, exceptions.CannotRetrieveData) as err: + except (CannotConnect, CannotRetrieveData) as err: raise UpdateFailed(repr(err)) from err - except exceptions.CannotAuthenticate as err: + except CannotAuthenticate as err: raise ConfigEntryAuthFailed from err @abstractmethod @@ -159,9 +153,4 @@ class ComelitVedoSystem(ComelitBaseCoordinator[AlarmDataObject]): self, ) -> AlarmDataObject: """Specific method for updating data.""" - data = await self.api.get_all_areas_and_zones() - - return AlarmDataObject( - alarm_areas=cast(dict[int, ComelitVedoAreaObject], data[ALARM_AREAS]), - alarm_zones=cast(dict[int, ComelitVedoZoneObject], data[ALARM_ZONES]), - ) + return await self.api.get_all_areas_and_zones() diff --git a/homeassistant/components/comelit/manifest.json b/homeassistant/components/comelit/manifest.json index 20d481e9a5b..8836af4e8dd 100644 --- a/homeassistant/components/comelit/manifest.json +++ b/homeassistant/components/comelit/manifest.json @@ -7,5 +7,5 @@ "integration_type": "hub", "iot_class": "local_polling", "loggers": ["aiocomelit"], - "requirements": ["aiocomelit==0.11.1"] + "requirements": ["aiocomelit==0.11.2"] } diff --git a/requirements_all.txt b/requirements_all.txt index a82ae4d16e2..cc9761d0137 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -213,7 +213,7 @@ aiobafi6==0.9.0 aiobotocore==2.13.1 # homeassistant.components.comelit -aiocomelit==0.11.1 +aiocomelit==0.11.2 # homeassistant.components.dhcp aiodhcpwatcher==1.1.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index b3eff2acd7f..0c9f5a29b3b 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -201,7 +201,7 @@ aiobafi6==0.9.0 aiobotocore==2.13.1 # homeassistant.components.comelit -aiocomelit==0.11.1 +aiocomelit==0.11.2 # homeassistant.components.dhcp aiodhcpwatcher==1.1.1 diff --git a/tests/components/comelit/const.py b/tests/components/comelit/const.py index 20324765a0b..f353ec97628 100644 --- a/tests/components/comelit/const.py +++ b/tests/components/comelit/const.py @@ -1,13 +1,12 @@ """Common stuff for Comelit SimpleHome tests.""" -from aiocomelit import ( +from aiocomelit.api import ( + AlarmDataObject, ComelitSerialBridgeObject, ComelitVedoAreaObject, ComelitVedoZoneObject, ) from aiocomelit.const import ( - ALARM_AREAS, - ALARM_ZONES, CLIMATE, COVER, IRRIGATION, @@ -64,8 +63,8 @@ BRIDGE_DEVICE_QUERY = { SCENARIO: {}, } -VEDO_DEVICE_QUERY = { - ALARM_AREAS: { +VEDO_DEVICE_QUERY = AlarmDataObject( + alarm_areas={ 0: ComelitVedoAreaObject( index=0, name="Area0", @@ -82,7 +81,7 @@ VEDO_DEVICE_QUERY = { human_status=AlarmAreaState.UNKNOWN, ) }, - ALARM_ZONES: { + alarm_zones={ 0: ComelitVedoZoneObject( index=0, name="Zone0", @@ -91,4 +90,4 @@ VEDO_DEVICE_QUERY = { human_status=AlarmZoneState.REST, ) }, -} +)