From 9665bc61f2dfb876a5bc1d70efedbe0c776fa2a0 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Fri, 21 Apr 2023 13:41:22 +0200 Subject: [PATCH] Fix lingering timer in usb (#91800) --- homeassistant/components/usb/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/homeassistant/components/usb/__init__.py b/homeassistant/components/usb/__init__.py index 3a05da085d8..c6a18a27b42 100644 --- a/homeassistant/components/usb/__init__.py +++ b/homeassistant/components/usb/__init__.py @@ -205,11 +205,17 @@ class USBDiscovery: """Set up USB Discovery.""" await self._async_start_monitor() self.hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STARTED, self.async_start) + self.hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STOP, self.async_stop) async def async_start(self, event: Event) -> None: """Start USB Discovery and run a manual scan.""" await self._async_scan_serial() + async def async_stop(self, event: Event) -> None: + """Stop USB Discovery.""" + if self._request_debouncer: + await self._request_debouncer.async_shutdown() + async def _async_start_monitor(self) -> None: """Start monitoring hardware with pyudev.""" if not sys.platform.startswith("linux"):