Home Assistant Unofficial Reference 2024.12.1
__init__.py
Go to the documentation of this file.
1 """The lastfm component."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.config_entries import ConfigEntry
6 from homeassistant.core import HomeAssistant
7 
8 from .const import DOMAIN, PLATFORMS
9 from .coordinator import LastFMDataUpdateCoordinator
10 
11 
12 async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
13  """Set up lastfm from a config entry."""
14 
15  coordinator = LastFMDataUpdateCoordinator(hass)
16  await coordinator.async_config_entry_first_refresh()
17  hass.data.setdefault(DOMAIN, {})[entry.entry_id] = coordinator
18 
19  await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
20  entry.async_on_unload(entry.add_update_listener(update_listener))
21 
22  return True
23 
24 
25 async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
26  """Unload lastfm config entry."""
27 
28  return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
29 
30 
31 async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None:
32  """Handle options update."""
33  await hass.config_entries.async_reload(entry.entry_id)
None update_listener(HomeAssistant hass, ConfigEntry entry)
Definition: __init__.py:31
bool async_unload_entry(HomeAssistant hass, ConfigEntry entry)
Definition: __init__.py:25
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)
Definition: __init__.py:12