1 """Roon (www.roonlabs.com) component."""
8 from .const
import CONF_ROON_NAME, DOMAIN
9 from .server
import RoonServer
11 PLATFORMS = [Platform.EVENT, Platform.MEDIA_PLAYER]
15 """Set up a roonserver from a config entry."""
16 hass.data.setdefault(DOMAIN, {})
19 name = entry.data.get(CONF_ROON_NAME, entry.data[CONF_HOST])
23 if not await roonserver.async_setup():
26 hass.data[DOMAIN][entry.entry_id] = roonserver
27 device_registry = dr.async_get(hass)
28 device_registry.async_get_or_create(
29 config_entry_id=entry.entry_id,
30 identifiers={(DOMAIN, entry.entry_id)},
31 manufacturer=
"Roonlabs",
32 name=f
"Roon Core ({name})",
36 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
42 """Unload a config entry."""
43 if not await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
46 roonserver = hass.data[DOMAIN].pop(entry.entry_id)
47 return await roonserver.async_reset()
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)
bool async_unload_entry(HomeAssistant hass, ConfigEntry entry)