From c87609e89ebc3beb1f01f190a1474882ec2255f3 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 14 Sep 2022 11:21:39 +0200 Subject: [PATCH] Replace asyncio.wait_for with async_timeout in baf - Avoids creating tasks when we do not need them --- homeassistant/components/baf/__init__.py | 4 +++- homeassistant/components/baf/config_flow.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/baf/__init__.py b/homeassistant/components/baf/__init__.py index 7e80341deab9e6..c9e51c79b823a2 100644 --- a/homeassistant/components/baf/__init__.py +++ b/homeassistant/components/baf/__init__.py @@ -5,6 +5,7 @@ from aiobafi6 import Device, Service from aiobafi6.discovery import PORT +import async_timeout from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_IP_ADDRESS, Platform @@ -34,7 +35,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: run_future = device.async_run() try: - await asyncio.wait_for(device.async_wait_available(), timeout=RUN_TIMEOUT) + async with async_timeout.timeout(RUN_TIMEOUT): + await device.async_wait_available() except asyncio.TimeoutError as ex: run_future.cancel() raise ConfigEntryNotReady(f"Timed out connecting to {ip_address}") from ex diff --git a/homeassistant/components/baf/config_flow.py b/homeassistant/components/baf/config_flow.py index 2326d30937b2c1..3f37df1b70ad00 100644 --- a/homeassistant/components/baf/config_flow.py +++ b/homeassistant/components/baf/config_flow.py @@ -7,6 +7,7 @@ from aiobafi6 import Device, Service from aiobafi6.discovery import PORT +import async_timeout import voluptuous as vol from homeassistant import config_entries @@ -26,7 +27,8 @@ async def async_try_connect(ip_address: str) -> Device: device = Device(Service(ip_addresses=[ip_address], port=PORT)) run_future = device.async_run() try: - await asyncio.wait_for(device.async_wait_available(), timeout=RUN_TIMEOUT) + async with async_timeout.timeout(RUN_TIMEOUT): + await device.async_wait_available() except asyncio.TimeoutError as ex: raise CannotConnect from ex finally: