1 """DataUpdateCoordinator for the Sensibo integration."""
3 from __future__
import annotations
5 from datetime
import timedelta
6 from typing
import TYPE_CHECKING
8 from pysensibo
import SensiboClient
9 from pysensibo.exceptions
import AuthenticationError, SensiboError
10 from pysensibo.model
import SensiboData
19 from .const
import DEFAULT_SCAN_INTERVAL, DOMAIN, LOGGER, TIMEOUT
22 from .
import SensiboConfigEntry
24 REQUEST_REFRESH_DELAY = 0.35
28 """A Sensibo Data Update Coordinator."""
30 config_entry: SensiboConfigEntry
32 def __init__(self, hass: HomeAssistant) ->
None:
33 """Initialize the Sensibo coordinator."""
38 update_interval=
timedelta(seconds=DEFAULT_SCAN_INTERVAL),
42 hass, LOGGER, cooldown=REQUEST_REFRESH_DELAY, immediate=
False
52 """Fetch data from Sensibo."""
54 data = await self.
clientclient.async_get_devices_data()
55 except AuthenticationError
as error:
56 raise ConfigEntryAuthFailed
from error
57 except SensiboError
as error:
58 raise UpdateFailed
from error
SensiboData _async_update_data(self)
None __init__(self, HomeAssistant hass)
aiohttp.ClientSession async_get_clientsession(HomeAssistant hass, bool verify_ssl=True, socket.AddressFamily family=socket.AF_UNSPEC, ssl_util.SSLCipherList ssl_cipher=ssl_util.SSLCipherList.PYTHON_DEFAULT)