Fix module check in _async_get_flow_handler (#99509)
We should have been checking for the module in hass.data[DATA_COMPONENTS] and not hass.config.components as the check was ineffective if there were no existing integrations instances for the domain which is the case for discovery or when the integration is ignoredpull/99741/head
parent
423e8fbde3
commit
2bc08d1fcc
|
@ -2055,7 +2055,9 @@ async def _async_get_flow_handler(
|
|||
"""Get a flow handler for specified domain."""
|
||||
|
||||
# First check if there is a handler registered for the domain
|
||||
if domain in hass.config.components and (handler := HANDLERS.get(domain)):
|
||||
if loader.is_component_module_loaded(hass, f"{domain}.config_flow") and (
|
||||
handler := HANDLERS.get(domain)
|
||||
):
|
||||
return handler
|
||||
|
||||
await _load_integration(hass, domain, hass_config)
|
||||
|
|
|
@ -1162,3 +1162,8 @@ def _lookup_path(hass: HomeAssistant) -> list[str]:
|
|||
if hass.config.safe_mode:
|
||||
return [PACKAGE_BUILTIN]
|
||||
return [PACKAGE_CUSTOM_COMPONENTS, PACKAGE_BUILTIN]
|
||||
|
||||
|
||||
def is_component_module_loaded(hass: HomeAssistant, module: str) -> bool:
|
||||
"""Test if a component module is loaded."""
|
||||
return module in hass.data[DATA_COMPONENTS]
|
||||
|
|
Loading…
Reference in New Issue