1 """The Tami4Edge integration."""
3 from __future__
import annotations
5 from Tami4EdgeAPI
import Tami4EdgeAPI, exceptions
12 from .const
import API, CONF_REFRESH_TOKEN, COORDINATOR, DOMAIN
13 from .coordinator
import Tami4EdgeCoordinator
15 PLATFORMS: list[Platform] = [Platform.BUTTON, Platform.SENSOR]
19 """Set up tami4 from a config entry."""
20 refresh_token = entry.data.get(CONF_REFRESH_TOKEN)
23 api = await hass.async_add_executor_job(Tami4EdgeAPI, refresh_token)
24 except exceptions.RefreshTokenExpiredException
as ex:
26 except exceptions.TokenRefreshFailedException
as ex:
30 await coordinator.async_config_entry_first_refresh()
32 hass.data.setdefault(DOMAIN, {})[entry.entry_id] = {
34 COORDINATOR: coordinator,
37 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
43 """Unload a config entry."""
44 if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
45 hass.data[DOMAIN].pop(entry.entry_id)
bool async_unload_entry(HomeAssistant hass, ConfigEntry entry)
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)