diff --git a/homeassistant/components/homekit_controller/connection.py b/homeassistant/components/homekit_controller/connection.py index 66552978e8d..b91203004ad 100644 --- a/homeassistant/components/homekit_controller/connection.py +++ b/homeassistant/components/homekit_controller/connection.py @@ -197,13 +197,19 @@ class HKDevice: self._subscribe_timer() self._subscribe_timer = None - async def _async_subscribe(self, _now: datetime) -> None: + @callback + def _async_subscribe(self, _now: datetime) -> None: """Subscribe to characteristics.""" self._subscribe_timer = None if self._pending_subscribes: subscribes = self._pending_subscribes.copy() self._pending_subscribes.clear() - await self.pairing.subscribe(subscribes) + self.config_entry.async_create_task( + self.hass, + self.pairing.subscribe(subscribes), + name=f"hkc subscriptions {self.unique_id}", + eager_start=True, + ) def remove_watchable_characteristics( self, characteristics: list[tuple[int, int]]