1 """Provides the Fully Kiosk Browser DataUpdateCoordinator."""
4 from typing
import Any, cast
6 from fullykiosk
import FullyKiosk
7 from fullykiosk.exceptions
import FullyKioskError
15 from .const
import DEFAULT_PORT, LOGGER, UPDATE_INTERVAL
19 """Define an object to hold Fully Kiosk Browser data."""
21 def __init__(self, hass: HomeAssistant, entry: ConfigEntry) ->
None:
23 self.
use_ssluse_ssl = entry.data.get(CONF_SSL,
False)
26 entry.data[CONF_HOST],
28 entry.data[CONF_PASSWORD],
30 verify_ssl=entry.data.get(CONF_VERIFY_SSL,
False),
35 name=entry.data[CONF_HOST],
36 update_interval=UPDATE_INTERVAL,
40 """Update data via library."""
42 async
with asyncio.timeout(15):
44 result = await asyncio.gather(
45 self.
fullyfully.getDeviceInfo(), self.
fullyfully.getSettings()
48 result[0][
"settings"] = result[1]
49 return cast(dict[str, Any], result[0])
50 except FullyKioskError
as error:
dict[str, Any] _async_update_data(self)
None __init__(self, HomeAssistant hass, ConfigEntry entry)
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)