async def _setup_domains(hass: HomeAssistant, entry: ConfigEntry):
    (await asyncio.gather(*[hass.config_entries.async_forward_entry_setup(entry, domain) for domain in DOMAINS]))
    gw: Gateway3 = hass.data[DOMAIN][entry.entry_id]
    gw.start()
    entry.async_on_unload(hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STOP, gw.stop))
async def _setup_domains(hass: HomeAssistant, entry: ConfigEntry):
    (await asyncio.gather(*[hass.config_entries.async_forward_entry_setup(entry, domain) for domain in DOMAINS]))
    gw: Gateway3 = hass.data[DOMAIN][entry.entry_id]
    gw.start()
    entry.async_on_unload(hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STOP, gw.stop))