11"""Tradfri DataUpdateCoordinator."""
22
3- from collections .abc import Callable
43from dataclasses import dataclass , field
54from datetime import timedelta
6- from typing import Any , override
5+ from typing import cast , override
76
87from pytradfri import Gateway
9- from pytradfri .api .aiocoap_api import APIFactory
10- from pytradfri .command import Command
8+ from pytradfri .api .aiocoap_api import APIFactory , APIRequestProtocol
119from pytradfri .device import Device
1210from pytradfri .error import RequestError
11+ from pytradfri .resource import ApiResource
1312
1413from homeassistant .config_entries import ConfigEntry
1514from homeassistant .core import HomeAssistant , callback
@@ -28,7 +27,7 @@ class TradfriData:
2827
2928 factory : APIFactory
3029 gateway : Gateway
31- api : Callable [[ Command | list [ Command ]], Any ]
30+ api : APIRequestProtocol
3231 coordinator_list : list [TradfriDeviceDataUpdateCoordinator ] = field (
3332 default_factory = list
3433 )
@@ -43,7 +42,7 @@ def __init__(
4342 self ,
4443 hass : HomeAssistant ,
4544 config_entry : TradfriConfigEntry ,
46- api : Callable [[ Command | list [ Command ]], Any ] ,
45+ api : APIRequestProtocol ,
4746 device : Device ,
4847 ) -> None :
4948 """Initialize device coordinator."""
@@ -67,9 +66,9 @@ async def set_hub_available(self, available: bool) -> None:
6766 await self .async_request_refresh ()
6867
6968 @callback
70- def _observe_update (self , device : Device ) -> None :
69+ def _observe_update (self , device : ApiResource ) -> None :
7170 """Update the coordinator for a device when a change is detected."""
72- self .async_set_updated_data (data = device )
71+ self .async_set_updated_data (data = cast ( Device , device ) )
7372
7473 @callback
7574 def _exception_callback (self , exc : Exception ) -> None :
0 commit comments