fix: 等待 HCI 网关初始化后再扫描

在 start_scanning 中检查并等待 HCI 网关初始化
This commit is contained in:
impressionyang 2026-04-16 20:00:49 +08:00
parent e007735197
commit 8fa6198d38

View File

@ -144,17 +144,22 @@ class ProvisioningManager:
_LOGGER.warning("无法开始扫描,当前状态:%s", self._state.value) _LOGGER.warning("无法开始扫描,当前状态:%s", self._state.value)
return return
# 确保 HCI 网关已初始化
if not self.serial_reader.hci:
_LOGGER.warning("HCI 网关未初始化,等待...")
# 等待 HCI 网关初始化
await asyncio.sleep(0.5)
if not self.serial_reader.hci:
_LOGGER.error("HCI 网关仍未初始化,无法扫描")
self._set_state(ProvState.PROV_FAILED)
return
self._set_state(ProvState.SCANNING) self._set_state(ProvState.SCANNING)
self._devices = {} self._devices = {}
self._scan_result = [] self._scan_result = []
# 使用 HCI 协议发送扫描命令 # 使用 HCI 协议发送扫描命令
try: try:
if not self.serial_reader.hci:
_LOGGER.error("HCI 网关未初始化")
self._set_state(ProvState.PROV_FAILED)
return
_LOGGER.debug("发送 HCI 扫描命令") _LOGGER.debug("发送 HCI 扫描命令")
result = await self.serial_reader.hci.start_scanning() result = await self.serial_reader.hci.start_scanning()
if result: if result: