1 """Coordinator for Fujitsu HVAC integration."""
5 from ayla_iot_unofficial
import AylaApi, AylaAuthError
6 from ayla_iot_unofficial.fujitsu_hvac
import FujitsuHVAC
12 from .const
import API_REFRESH
14 _LOGGER = logging.getLogger(__name__)
18 """Coordinator for Fujitsu HVAC integration."""
20 def __init__(self, hass: HomeAssistant, api: AylaApi) ->
None:
21 """Initialize coordinator for Fujitsu HVAC integration."""
25 name=
"Fujitsu HVAC data",
26 update_interval=API_REFRESH,
32 await self.
apiapi.async_sign_in()
33 except AylaAuthError
as e:
37 """Fetch data from api endpoint."""
40 if self.
apiapi.token_expired:
41 await self.
apiapi.async_sign_in()
43 if self.
apiapi.token_expiring_soon:
44 await self.
apiapi.async_refresh_auth()
47 except AylaAuthError
as e:
50 if not listening_entities:
51 devices = [dev
for dev
in devices
if isinstance(dev, FujitsuHVAC)]
54 dev
for dev
in devices
if dev.device_serial_number
in listening_entities
59 await dev.async_update()
60 except AylaAuthError
as e:
63 return {d.device_serial_number: d
for d
in devices}
dict[str, FujitsuHVAC] _async_update_data(self)
None __init__(self, HomeAssistant hass, AylaApi api)
Generator[Any] async_contexts(self)
Generator[ProtectAdoptableDeviceModel] async_get_devices(Bootstrap bootstrap, Iterable[ModelType] model_type)