diff --git a/homeassistant/bootstrap.py b/homeassistant/bootstrap.py index cc15b03bcc0..cd6082d6abc 100644 --- a/homeassistant/bootstrap.py +++ b/homeassistant/bootstrap.py @@ -886,6 +886,14 @@ async def _async_set_up_integrations( if domain_group: stage_2_domains -= domain_group _LOGGER.info("Setting up %s: %s", name, domain_group) + to_be_loaded = domain_group.copy() + to_be_loaded.update( + dep + for domain in domain_group + if (integration := integration_cache.get(domain)) is not None + for dep in integration.all_dependencies + ) + async_set_domains_to_be_loaded(hass, to_be_loaded) await async_setup_multi_components(hass, domain_group, config) # Enables after dependencies when setting up stage 1 domains diff --git a/tests/test_bootstrap.py b/tests/test_bootstrap.py index eec24a69344..a4453849b5e 100644 --- a/tests/test_bootstrap.py +++ b/tests/test_bootstrap.py @@ -379,6 +379,8 @@ async def test_setup_frontend_before_recorder(hass: HomeAssistant) -> None: assert "frontend" in hass.config.components assert "normal_integration" in hass.config.components assert "recorder" in hass.config.components + assert "http" in hass.config.components + assert order == [ "http", "frontend",