diff --git a/homeassistant/components/tradfri/coordinator.py b/homeassistant/components/tradfri/coordinator.py index 2600958a8c7..1f89de3d7aa 100644 --- a/homeassistant/components/tradfri/coordinator.py +++ b/homeassistant/components/tradfri/coordinator.py @@ -2,11 +2,10 @@ from __future__ import annotations -from collections.abc import Awaitable, Callable from datetime import timedelta -from typing import Any, cast +from typing import cast -from pytradfri.command import Command +from pytradfri.api.aiocoap_api import APIRequestProtocol from pytradfri.device import Device from pytradfri.error import RequestError from pytradfri.resource import ApiResource @@ -30,7 +29,7 @@ class TradfriDeviceDataUpdateCoordinator(DataUpdateCoordinator[Device]): hass: HomeAssistant, *, config_entry: ConfigEntry, - api: Callable[[Command | list[Command]], Awaitable[Any]], + api: APIRequestProtocol, device: Device, ) -> None: """Initialize device coordinator.""" diff --git a/homeassistant/components/tradfri/cover.py b/homeassistant/components/tradfri/cover.py index dd60e332e5c..978a806595c 100644 --- a/homeassistant/components/tradfri/cover.py +++ b/homeassistant/components/tradfri/cover.py @@ -2,10 +2,9 @@ from __future__ import annotations -from collections.abc import Awaitable, Callable from typing import Any, cast -from pytradfri.command import Command +from pytradfri.api.aiocoap_api import APIRequestProtocol from homeassistant.components.cover import ATTR_POSITION, CoverEntity from homeassistant.config_entries import ConfigEntry @@ -25,7 +24,7 @@ async def async_setup_entry( """Load Tradfri covers based on a config entry.""" gateway_id = config_entry.data[CONF_GATEWAY_ID] coordinator_data = hass.data[DOMAIN][config_entry.entry_id][COORDINATOR] - api: Callable[[Command | list[Command]], Awaitable[Any]] = coordinator_data[KEY_API] + api: APIRequestProtocol = coordinator_data[KEY_API] async_add_entities( TradfriCover( @@ -46,7 +45,7 @@ class TradfriCover(TradfriBaseEntity, CoverEntity): def __init__( self, device_coordinator: TradfriDeviceDataUpdateCoordinator, - api: Callable[[Command | list[Command]], Awaitable[Any]], + api: APIRequestProtocol, gateway_id: str, ) -> None: """Initialize a switch.""" diff --git a/homeassistant/components/tradfri/entity.py b/homeassistant/components/tradfri/entity.py index 4394e218cfc..f7ccf957179 100644 --- a/homeassistant/components/tradfri/entity.py +++ b/homeassistant/components/tradfri/entity.py @@ -3,10 +3,11 @@ from __future__ import annotations from abc import abstractmethod -from collections.abc import Awaitable, Callable, Coroutine +from collections.abc import Callable, Coroutine from functools import wraps from typing import Any, cast +from pytradfri.api.aiocoap_api import APIRequestProtocol from pytradfri.command import Command from pytradfri.device import Device from pytradfri.error import RequestError @@ -20,7 +21,7 @@ from .coordinator import TradfriDeviceDataUpdateCoordinator def handle_error( - func: Callable[[Command | list[Command]], Awaitable[Any]], + func: APIRequestProtocol, ) -> Callable[[Command | list[Command]], Coroutine[Any, Any, None]]: """Handle tradfri api call error.""" @@ -44,7 +45,7 @@ class TradfriBaseEntity(CoordinatorEntity[TradfriDeviceDataUpdateCoordinator]): self, device_coordinator: TradfriDeviceDataUpdateCoordinator, gateway_id: str, - api: Callable[[Command | list[Command]], Awaitable[Any]], + api: APIRequestProtocol, ) -> None: """Initialize a device.""" super().__init__(device_coordinator) diff --git a/homeassistant/components/tradfri/fan.py b/homeassistant/components/tradfri/fan.py index 1fb2833c316..c61cbc97dca 100644 --- a/homeassistant/components/tradfri/fan.py +++ b/homeassistant/components/tradfri/fan.py @@ -2,10 +2,9 @@ from __future__ import annotations -from collections.abc import Awaitable, Callable from typing import Any, cast -from pytradfri.command import Command +from pytradfri.api.aiocoap_api import APIRequestProtocol from homeassistant.components.fan import FanEntity, FanEntityFeature from homeassistant.config_entries import ConfigEntry @@ -38,7 +37,7 @@ async def async_setup_entry( """Load Tradfri switches based on a config entry.""" gateway_id = config_entry.data[CONF_GATEWAY_ID] coordinator_data = hass.data[DOMAIN][config_entry.entry_id][COORDINATOR] - api: Callable[[Command | list[Command]], Awaitable[Any]] = coordinator_data[KEY_API] + api: APIRequestProtocol = coordinator_data[KEY_API] async_add_entities( TradfriAirPurifierFan( @@ -73,7 +72,7 @@ class TradfriAirPurifierFan(TradfriBaseEntity, FanEntity): def __init__( self, device_coordinator: TradfriDeviceDataUpdateCoordinator, - api: Callable[[Command | list[Command]], Awaitable[Any]], + api: APIRequestProtocol, gateway_id: str, ) -> None: """Initialize a switch.""" diff --git a/homeassistant/components/tradfri/light.py b/homeassistant/components/tradfri/light.py index a77a1647815..b99e9c97082 100644 --- a/homeassistant/components/tradfri/light.py +++ b/homeassistant/components/tradfri/light.py @@ -2,10 +2,9 @@ from __future__ import annotations -from collections.abc import Awaitable, Callable from typing import Any, cast -from pytradfri.command import Command +from pytradfri.api.aiocoap_api import APIRequestProtocol from homeassistant.components.light import ( ATTR_BRIGHTNESS, @@ -35,7 +34,7 @@ async def async_setup_entry( """Load Tradfri lights based on a config entry.""" gateway_id = config_entry.data[CONF_GATEWAY_ID] coordinator_data = hass.data[DOMAIN][config_entry.entry_id][COORDINATOR] - api: Callable[[Command | list[Command]], Awaitable[Any]] = coordinator_data[KEY_API] + api: APIRequestProtocol = coordinator_data[KEY_API] async_add_entities( TradfriLight( @@ -58,7 +57,7 @@ class TradfriLight(TradfriBaseEntity, LightEntity): def __init__( self, device_coordinator: TradfriDeviceDataUpdateCoordinator, - api: Callable[[Command | list[Command]], Awaitable[Any]], + api: APIRequestProtocol, gateway_id: str, ) -> None: """Initialize a Light.""" diff --git a/homeassistant/components/tradfri/sensor.py b/homeassistant/components/tradfri/sensor.py index 7a15b272bd2..def5fa8c64d 100644 --- a/homeassistant/components/tradfri/sensor.py +++ b/homeassistant/components/tradfri/sensor.py @@ -2,11 +2,11 @@ from __future__ import annotations -from collections.abc import Awaitable, Callable +from collections.abc import Callable from dataclasses import dataclass from typing import Any, cast -from pytradfri.command import Command +from pytradfri.api.aiocoap_api import APIRequestProtocol from pytradfri.device import Device from homeassistant.components.sensor import ( @@ -133,7 +133,7 @@ async def async_setup_entry( """Set up a Tradfri config entry.""" gateway_id = config_entry.data[CONF_GATEWAY_ID] coordinator_data = hass.data[DOMAIN][config_entry.entry_id][COORDINATOR] - api: Callable[[Command | list[Command]], Awaitable[Any]] = coordinator_data[KEY_API] + api: APIRequestProtocol = coordinator_data[KEY_API] entities: list[TradfriSensor] = [] @@ -178,7 +178,7 @@ class TradfriSensor(TradfriBaseEntity, SensorEntity): def __init__( self, device_coordinator: TradfriDeviceDataUpdateCoordinator, - api: Callable[[Command | list[Command]], Awaitable[Any]], + api: APIRequestProtocol, gateway_id: str, description: TradfriSensorEntityDescription, ) -> None: diff --git a/homeassistant/components/tradfri/switch.py b/homeassistant/components/tradfri/switch.py index 4dc8bdc7e82..a7828deb15d 100644 --- a/homeassistant/components/tradfri/switch.py +++ b/homeassistant/components/tradfri/switch.py @@ -2,10 +2,9 @@ from __future__ import annotations -from collections.abc import Awaitable, Callable from typing import Any, cast -from pytradfri.command import Command +from pytradfri.api.aiocoap_api import APIRequestProtocol from homeassistant.components.switch import SwitchEntity from homeassistant.config_entries import ConfigEntry @@ -25,7 +24,7 @@ async def async_setup_entry( """Load Tradfri switches based on a config entry.""" gateway_id = config_entry.data[CONF_GATEWAY_ID] coordinator_data = hass.data[DOMAIN][config_entry.entry_id][COORDINATOR] - api: Callable[[Command | list[Command]], Awaitable[Any]] = coordinator_data[KEY_API] + api: APIRequestProtocol = coordinator_data[KEY_API] async_add_entities( TradfriSwitch( @@ -46,7 +45,7 @@ class TradfriSwitch(TradfriBaseEntity, SwitchEntity): def __init__( self, device_coordinator: TradfriDeviceDataUpdateCoordinator, - api: Callable[[Command | list[Command]], Awaitable[Any]], + api: APIRequestProtocol, gateway_id: str, ) -> None: """Initialize a switch."""