Fix custom components not working with integration descriptions (#80686)
This commit is contained in:
parent
e510dd64f1
commit
5cb8749ae3
1 changed files with 8 additions and 5 deletions
|
@ -264,11 +264,9 @@ async def async_get_integration_descriptions(
|
|||
core_flows: dict[str, Any] = json_loads(flow)
|
||||
custom_integrations = await async_get_custom_components(hass)
|
||||
custom_flows: dict[str, Any] = {
|
||||
"device": {},
|
||||
"integration": {},
|
||||
"hardware": {},
|
||||
"helper": {},
|
||||
"hub": {},
|
||||
"service": {},
|
||||
}
|
||||
|
||||
for integration in custom_integrations.values():
|
||||
|
@ -276,20 +274,25 @@ async def async_get_integration_descriptions(
|
|||
if integration.integration_type in ("entity", "system"):
|
||||
continue
|
||||
|
||||
for integration_type in ("device", "hardware", "helper", "hub", "service"):
|
||||
for integration_type in ("integration", "hardware", "helper"):
|
||||
if integration.domain not in core_flows[integration_type]:
|
||||
continue
|
||||
del core_flows[integration_type][integration.domain]
|
||||
if integration.domain in core_flows["translated_name"]:
|
||||
core_flows["translated_name"].remove(integration.domain)
|
||||
|
||||
if integration.integration_type in ("hardware", "helper"):
|
||||
integration_key: str = integration.integration_type
|
||||
else:
|
||||
integration_key = "integration"
|
||||
|
||||
metadata = {
|
||||
"config_flow": integration.config_flow,
|
||||
"integration_type": integration.integration_type,
|
||||
"iot_class": integration.iot_class,
|
||||
"name": integration.name,
|
||||
}
|
||||
custom_flows[integration.integration_type][integration.domain] = metadata
|
||||
custom_flows[integration_key][integration.domain] = metadata
|
||||
|
||||
return {"core": core_flows, "custom": custom_flows}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue