Home Assistant Unofficial Reference 2024.12.1
__init__.py
Go to the documentation of this file.
1 """The Nord Pool component."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.config_entries import ConfigEntry
6 from homeassistant.core import HomeAssistant
7 from homeassistant.exceptions import ConfigEntryNotReady
8 from homeassistant.util import dt as dt_util
9 
10 from .const import DOMAIN, PLATFORMS
11 from .coordinator import NordPoolDataUpdateCoordinator
12 
13 type NordPoolConfigEntry = ConfigEntry[NordPoolDataUpdateCoordinator]
14 
15 
16 async def async_setup_entry(hass: HomeAssistant, entry: NordPoolConfigEntry) -> bool:
17  """Set up Nord Pool from a config entry."""
18 
19  coordinator = NordPoolDataUpdateCoordinator(hass, entry)
20  await coordinator.fetch_data(dt_util.utcnow())
21  if not coordinator.last_update_success:
22  raise ConfigEntryNotReady(
23  translation_domain=DOMAIN,
24  translation_key="initial_update_failed",
25  translation_placeholders={"error": str(coordinator.last_exception)},
26  )
27  entry.runtime_data = coordinator
28 
29  await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
30 
31  return True
32 
33 
34 async def async_unload_entry(hass: HomeAssistant, entry: NordPoolConfigEntry) -> bool:
35  """Unload Nord Pool config entry."""
36  return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
bool async_unload_entry(HomeAssistant hass, NordPoolConfigEntry entry)
Definition: __init__.py:34
bool async_setup_entry(HomeAssistant hass, NordPoolConfigEntry entry)
Definition: __init__.py:16