Home Assistant Unofficial Reference 2024.12.1
__init__.py
Go to the documentation of this file.
1 """Support for Amber Electric."""
2 
3 import amberelectric
4 
5 from homeassistant.config_entries import ConfigEntry
6 from homeassistant.const import CONF_API_TOKEN
7 from homeassistant.core import HomeAssistant
8 
9 from .const import CONF_SITE_ID, PLATFORMS
10 from .coordinator import AmberUpdateCoordinator
11 
12 type AmberConfigEntry = ConfigEntry[AmberUpdateCoordinator]
13 
14 
15 async def async_setup_entry(hass: HomeAssistant, entry: AmberConfigEntry) -> bool:
16  """Set up Amber Electric from a config entry."""
17  configuration = amberelectric.Configuration(access_token=entry.data[CONF_API_TOKEN])
18  api_client = amberelectric.ApiClient(configuration)
19  api_instance = amberelectric.AmberApi(api_client)
20  site_id = entry.data[CONF_SITE_ID]
21 
22  coordinator = AmberUpdateCoordinator(hass, api_instance, site_id)
23  await coordinator.async_config_entry_first_refresh()
24  entry.runtime_data = coordinator
25  await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
26  return True
27 
28 
29 async def async_unload_entry(hass: HomeAssistant, entry: AmberConfigEntry) -> bool:
30  """Unload a config entry."""
31  return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
bool async_unload_entry(HomeAssistant hass, AmberConfigEntry entry)
Definition: __init__.py:29
bool async_setup_entry(HomeAssistant hass, AmberConfigEntry entry)
Definition: __init__.py:15