From 711f320af8a7085c34842b8a2abcc18f86aef79e Mon Sep 17 00:00:00 2001 From: Tomasz Duda Date: Sat, 25 Jan 2025 12:14:56 +0100 Subject: [PATCH] load external component to get get_download_types --- esphome/dashboard/web_server.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/esphome/dashboard/web_server.py b/esphome/dashboard/web_server.py index 67712da9b6..ac19f5f079 100644 --- a/esphome/dashboard/web_server.py +++ b/esphome/dashboard/web_server.py @@ -51,7 +51,7 @@ from .util.text import friendly_name_slugify if TYPE_CHECKING: from requests import Response - +import voluptuous as vol _LOGGER = logging.getLogger(__name__) @@ -599,6 +599,19 @@ class DownloadListRequestHandler(BaseHandler): self.send_error(404) return + config = yaml_util.load_yaml(settings.rel_path(configuration)) + + if const.CONF_EXTERNAL_COMPONENTS in config: + from esphome.components.external_components import ( + do_external_components_pass, + ) + + try: + do_external_components_pass(config) + except vol.Invalid: + self.send_error(404) + return + from esphome.components.esp32 import VARIANTS as ESP32_VARIANTS downloads = []