1 """The PurpleAir integration."""
3 from __future__
import annotations
9 from .const
import DOMAIN
10 from .coordinator
import PurpleAirDataUpdateCoordinator
12 PLATFORMS = [Platform.SENSOR]
16 """Set up PurpleAir from a config entry."""
18 await coordinator.async_config_entry_first_refresh()
19 hass.data.setdefault(DOMAIN, {})[entry.entry_id] = coordinator
21 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
23 entry.async_on_unload(entry.add_update_listener(async_handle_entry_update))
29 """Handle an options update."""
30 await hass.config_entries.async_reload(entry.entry_id)
34 """Unload a config entry."""
35 if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
36 hass.data[DOMAIN].pop(entry.entry_id)
bool async_unload_entry(HomeAssistant hass, ConfigEntry entry)
None async_handle_entry_update(HomeAssistant hass, ConfigEntry entry)
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)