impress_sig_mesh_hacs/问题修复记录.md
impressionyang 9637c7f39d docs: 更新问题修复记录 - 添加导入错误修复
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 19:10:28 +08:00

2.1 KiB
Raw Blame History

问题修复记录

2026-04-15: 修复配置向导 500 错误

问题描述

添加集成时出现 500 Internal Server Error

根本原因

  1. 类型注解错误config_flow.py 使用了小写 any 而非 Any
  2. 依赖包不存在manifest.json 中引用了不存在的 bleak-mesh>=0.2.0
  3. 导入错误coordinator.py 从错误的模块导入 MeshMessageEventProvDeviceEvent

错误日志

错误 1: 依赖包不存在

homeassistant.requirements.RequirementsNotFound:
Requirements for sigmesh_gateway not found: ['bleak-mesh>=0.2.0'].

错误 2: 导入错误

Error occurred loading flow for integration sigmesh_gateway:
cannot import name 'MeshMessageEvent' from 'custom_components.sigmesh_gateway.protocol_parser'

解决方案

修复 1: config_flow.py 类型注解

+ from typing import Any

- async def async_step_user(self, user_input: dict[str, any] | None = None) -> FlowResult:
+ async def async_step_user(self, user_input: dict[str, Any] | None = None) -> FlowResult:

修复 2: manifest.json 依赖

- "requirements": ["pyserial-asyncio==0.6", "bleak-mesh>=0.2.0"],
+ "requirements": ["pyserial-asyncio-fast>=0.6"],

修复 3: coordinator.py 导入

from .protocol_parser import (
    DeviceManager,
    DeviceState,
-   MeshMessageEvent,
    ParsedMeshMessage,
-   ProvDeviceEvent,
    ProtocolParser,
)
+ from .serial_reader import (
+     MeshMessageEvent,
+     ProvDeviceEvent,
+     SerialReader,
+ )

提交记录

Commit 说明
472fec4 fix: 修复 coordinator.py 导入错误
e905410 fix: 修复 manifest.json 依赖错误
66b86e3 fix: 修复 config_flow.py 类型注解错误

部署步骤

# 复制更新后的集成文件
cp -r /home/ubuntu/workspace/cherry-studio/enginneer/impress_sig_mesh_hacs/custom_components/sigmesh_gateway \
      <HA 配置目录>/custom_components/

# 重启 Home Assistant
ha core restart

验证

重启后,在 HA UI 中重新尝试添加集成,应能正常显示配置表单。