Home Assistant Unofficial Reference 2024.12.1
coordinator.py
Go to the documentation of this file.
1 """Coordinator for GogoGate2 component."""
2 
3 from __future__ import annotations
4 
5 from collections.abc import Awaitable, Callable
6 from datetime import timedelta
7 import logging
8 
9 from ismartgate import AbstractGateApi, GogoGate2InfoResponse, ISmartGateInfoResponse
10 
11 from homeassistant.core import HomeAssistant
12 from homeassistant.helpers.debounce import Debouncer
13 from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
14 
15 
17  DataUpdateCoordinator[GogoGate2InfoResponse | ISmartGateInfoResponse]
18 ):
19  """Manages polling for state changes from the device."""
20 
21  def __init__(
22  self,
23  hass: HomeAssistant,
24  logger: logging.Logger,
25  api: AbstractGateApi,
26  *,
27  name: str,
28  update_interval: timedelta,
29  update_method: Callable[
30  [], Awaitable[GogoGate2InfoResponse | ISmartGateInfoResponse]
31  ]
32  | None = None,
33  request_refresh_debouncer: Debouncer | None = None,
34  ) -> None:
35  """Initialize the data update coordinator."""
36  DataUpdateCoordinator.__init__(
37  self,
38  hass,
39  logger,
40  name=name,
41  update_interval=update_interval,
42  update_method=update_method,
43  request_refresh_debouncer=request_refresh_debouncer,
44  )
45  self.apiapi = api
None __init__(self, HomeAssistant hass, logging.Logger logger, AbstractGateApi api, *str name, timedelta update_interval, Callable[[], Awaitable[GogoGate2InfoResponse|ISmartGateInfoResponse]]|None update_method=None, Debouncer|None request_refresh_debouncer=None)
Definition: coordinator.py:34