From be94ce42a5447cbc018fe120e01cf865e114c2a2 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 23 Nov 2021 20:16:09 -0600 Subject: [PATCH] Prevent get_mac_address from blocking event loop in samsungtv config flow (#60246) --- homeassistant/components/samsungtv/config_flow.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/samsungtv/config_flow.py b/homeassistant/components/samsungtv/config_flow.py index f476d1dc87d..9c118ca1caa 100644 --- a/homeassistant/components/samsungtv/config_flow.py +++ b/homeassistant/components/samsungtv/config_flow.py @@ -1,6 +1,7 @@ """Config flow for Samsung TV.""" from __future__ import annotations +from functools import partial import socket from types import MappingProxyType from typing import Any @@ -167,7 +168,9 @@ class SamsungTVConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): self._udn = _strip_uuid(dev_info.get("udn", info["id"])) if mac := mac_from_device_info(info): self._mac = mac - elif mac := getmac.get_mac_address(ip=self._host): + elif mac := await self.hass.async_add_executor_job( + partial(getmac.get_mac_address, ip=self._host) + ): self._mac = mac self._device_info = info return True