diff --git a/homeassistant/components/homekit/__init__.py b/homeassistant/components/homekit/__init__.py index d5a6202ea27..d3ad8c702fa 100644 --- a/homeassistant/components/homekit/__init__.py +++ b/homeassistant/components/homekit/__init__.py @@ -597,7 +597,9 @@ class HomeKit: await self._async_shutdown_accessory(acc) if new_acc := self._async_create_single_accessory([state]): self.driver.accessory = new_acc - self.hass.async_add_job(new_acc.run) + self.hass.async_create_task( + new_acc.run(), f"HomeKit Bridge Accessory: {new_acc.entity_id}" + ) await self.async_config_changed() async def async_reset_accessories_in_bridge_mode( @@ -637,7 +639,9 @@ class HomeKit: await asyncio.sleep(_HOMEKIT_CONFIG_UPDATE_TIME) for state in new: if acc := self.add_bridge_accessory(state): - self.hass.async_add_job(acc.run) + self.hass.async_create_task( + acc.run(), f"HomeKit Bridge Accessory: {acc.entity_id}" + ) await self.async_config_changed() async def async_config_changed(self) -> None: diff --git a/tests/components/homekit/test_homekit.py b/tests/components/homekit/test_homekit.py index a6dbdbebdd4..94885722151 100644 --- a/tests/components/homekit/test_homekit.py +++ b/tests/components/homekit/test_homekit.py @@ -815,14 +815,10 @@ async def test_homekit_reset_accessories( homekit = _mock_homekit(hass, entry, HOMEKIT_MODE_BRIDGE) with patch(f"{PATH_HOMEKIT}.HomeKit", return_value=homekit), patch( - "pyhap.accessory.Bridge.add_accessory" - ) as mock_add_accessory, patch( "pyhap.accessory_driver.AccessoryDriver.config_changed" - ), patch( - "pyhap.accessory_driver.AccessoryDriver.async_start" - ), patch( + ), patch("pyhap.accessory_driver.AccessoryDriver.async_start"), patch( f"{PATH_HOMEKIT}.accessories.HomeAccessory.run" - ), patch.object( + ) as mock_run_accessory, patch.object( homekit_base, "_HOMEKIT_CONFIG_UPDATE_TIME", 0 ): await async_init_entry(hass, entry) @@ -837,8 +833,9 @@ async def test_homekit_reset_accessories( blocking=True, ) await hass.async_block_till_done() + await hass.async_block_till_done() - assert mock_add_accessory.called + assert mock_run_accessory.called homekit.status = STATUS_READY await homekit.async_stop()