From 4249d17c1bb8d0ebbeb099deff4e3c6f6cad53d4 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 1 Mar 2024 17:16:01 -1000 Subject: [PATCH] Reduce ESPHome reconnect time (#112001) Use eager tasks to request device_info and entities which avoids waiting one event loop to send the requests to the device --- homeassistant/components/esphome/manager.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/esphome/manager.py b/homeassistant/components/esphome/manager.py index bd01bea8795..2cbb0494ecf 100644 --- a/homeassistant/components/esphome/manager.py +++ b/homeassistant/components/esphome/manager.py @@ -50,6 +50,7 @@ from homeassistant.helpers.issue_registry import ( from homeassistant.helpers.service import async_set_service_schema from homeassistant.helpers.template import Template from homeassistant.helpers.typing import EventType +from homeassistant.util.async_ import create_eager_task from .bluetooth import async_connect_scanner from .const import ( @@ -390,8 +391,8 @@ class ESPHomeManager: stored_device_name = entry.data.get(CONF_DEVICE_NAME) unique_id_is_mac_address = unique_id and ":" in unique_id results = await asyncio.gather( - cli.device_info(), - cli.list_entities_services(), + create_eager_task(cli.device_info()), + create_eager_task(cli.list_entities_services()), ) device_info: EsphomeDeviceInfo = results[0]