impressionyang
|
e7a34282a3
|
fix: config_flow.py 缺少 _LOGGER 定义
添加 logging 导入和 _LOGGER 定义
|
2026-04-16 17:33:32 +08:00 |
|
impressionyang
|
b61d99c2e0
|
feat: 实现 HCI 网关协议支持 E104-BT12USP
1. 新建 hci_gateway.py - HCI 协议实现
- HCI 命令包构建和解析
- 支持配网扫描、配置密钥等操作
- 支持 Mesh 消息发送
2. 更新 serial_reader.py
- 集成 HciGateway
- 使用 HCI 协议解析数据(而非 AT 命令)
3. 更新 provisioning.py
- 使用 HCI 协议发送扫描命令
- 移除 AT+PROV=SCAN 命令
原因:E104-BT12USP 网关使用 HCI 固件,不是 AT 命令固件
|
2026-04-16 17:24:28 +08:00 |
|
impressionyang
|
93778ef861
|
fix: 改进串口写入错误日志
1. 移除 write_command 中的 try-catch,让错误向上抛出
2. 在 write 方法中添加更详细的错误日志
3. 直接调用 _serial.write() 而不是先检查 is_connected
|
2026-04-16 17:14:22 +08:00 |
|
impressionyang
|
b4643fa408
|
feat: 添加调试日志用于排查扫描问题
1. provisioning.py: 添加 start_scanning 调用日志
2. config_flow.py: 添加 coordinator 调用日志
3. serial_reader.py: 添加命令发送和接收的原始数据日志
|
2026-04-16 16:25:06 +08:00 |
|
impressionyang
|
1af5333792
|
fix: 修复阻塞事件循环的警告
将 serial.tools.list_ports.comports() 和串口验证移到线程池执行
避免阻塞 HA 事件循环,消除 asyncio_blocking_operations 警告
|
2026-04-16 16:08:57 +08:00 |
|
impressionyang
|
cbb36d7300
|
fix: 添加实际的扫描命令发送
start_scanning() 方法现在会发送 AT+PROV=SCAN 命令到网关
之前只设置了状态但没有发送实际扫描命令,导致扫描不到设备
|
2026-04-16 16:02:02 +08:00 |
|
impressionyang
|
13e2b36a0c
|
fix: 允许在 scanning 状态重新开始扫描
修复重复点击扫描按钮时的错误,现在会重置扫描状态而不是报错
|
2026-04-16 15:35:23 +08:00 |
|
impressionyang
|
23f671fa62
|
fix: 修复 Lovelace 卡片加载错误
问题:Custom element not found: sigmesh-gateway-panel
修复内容:
1. sigmesh-gateway-panel.js:
- 添加 window.customCards 注册
- 添加卡片元数据(name, description, preview)
- 更新使用说明
2. hacs.json:
- 添加 frontend.extra_module_url 配置
- 添加 category: integration
3. 新增 deploy.sh 部署脚本:
- 自动复制集成文件和 Lovelace 卡片
- 设置正确权限
- 提示用户配置 frontend
4. README.md:
- 添加部署脚本使用说明
- 添加常见问题排查(卡片加载错误)
- 区分手动部署和 HACS 安装两种方式
部署步骤:
1. chmod +x deploy.sh && ./deploy.sh
2. 在 configuration.yaml 添加 frontend.extra_module_url
3. ha core restart
4. 清除浏览器缓存后添加卡片
|
2026-04-16 14:26:00 +08:00 |
|
impressionyang
|
e140dd81c4
|
fix: 修复 Lovelace 卡片和过时常量警告
修复 1: Lovelace 卡片配置错误
- 重写 sigmesh-gateway-panel.js 遵循 HA 卡片规范
- 添加 setConfig 方法
- 添加 getCardSize 方法
- 添加静态方法 (getStubConfig, getConfigElement)
- 使用 ha-card 包装器和 shadow DOM
- 修复 hass 设置和渲染逻辑
修复 2: 过时常量警告
- light.py: 将 ATTR_COLOR_TEMP 替换为 ATTR_COLOR_TEMP_KELVIN
- 修复 HA Core 2026.1 兼容性警告
部署步骤:
1. cp custom_components/sigmesh_gateway/sigmesh-gateway-panel.js ~/.homeassistant/www/community/sigmesh_gateway/
2. cp -r custom_components/sigmesh_gateway ~/.homeassistant/custom_components/
3. ha core restart
|
2026-04-16 14:13:22 +08:00 |
|
impressionyang
|
04e942992b
|
fix: 修复 OptionsFlow 配置表单显示问题
问题:集成配置选项面板中字体不显示
修复内容:
- 移除 vol.Coerce 包装器,直接使用 int/bool 类型
- 添加错误处理和显示
- 修复 self._hass 为 self.hass (OptionsFlow 中通过属性访问)
- 添加实际操作调用(扫描、配网、绑定、分组)
- 添加错误时返回上一步的逻辑
修改的方法:
- async_step_poll_config: 简化类型定义
- async_step_prov_action: 添加错误处理
- async_step_start_scan: 添加实际调用和错误处理
- async_step_stop_prov: 添加实际调用和错误处理
- async_step_bind_appkey: 添加实际调用和错误处理
- async_step_add_to_group: 添加实际调用和错误处理
- async_step_remove_from_group: 添加实际调用和错误处理
|
2026-04-16 13:51:37 +08:00 |
|
impressionyang
|
4c3eb62dfb
|
feat: 实现完整的 Web UI 配网管理功能
新增 Web UI 组件:
- web_ui.py: RESTful API 端点(状态、扫描、配网、分组、设备)
- sigmesh-gateway-panel.js: Lovelace Dashboard 自定义卡片
- 设备扫描和发现
- 配网操作(开始/停止/绑定 App Key)
- 分组管理(添加/移除)
- 实时状态监控
配置更新:
- __init__.py: 集成 Web UI 和服务注册
- const.py: 添加服务常量定义
- services.py: 保留服务调用用于向后兼容
- README.md: 添加 Web UI 配置说明
- docs/UI 使用指南.md: 详细的 UI 使用文档
使用方式:
1. 配置 frontend.extra_module_url 加载 JS 面板
2. 在 Lovelace Dashboard 添加 custom:sigmesh-gateway-panel 卡片
3. 通过 UI 完成所有配网和分组操作
API 端点:
- GET /api/sigmesh_gateway/status - 获取配网状态
- POST /api/sigmesh_gateway/scan - 开始扫描
- POST /api/sigmesh_gateway/provisioning - 配网操作
- POST /api/sigmesh_gateway/group - 分组管理
- GET /api/sigmesh_gateway/devices - 设备列表
|
2026-04-16 13:41:28 +08:00 |
|
impressionyang
|
d21e7f1b3f
|
feat: 添加配网和分组管理功能
新增功能:
- 配网管理模块 (provisioning.py): 支持设备扫描、配网、超时处理
- 配网配置步骤: UI 配置流程增加配网参数配置(Network Key, App Key 等)
- 分组管理:支持 SIG 分组和 VENDOR 分组的加入/删除操作
- HA 服务调用:7 个配网和分组相关的服务
文件变更:
- const.py: 添加配网相关常量(CONF_NETWORK_KEY, PROV_TIMEOUT 等)
- config_flow.py: 增加 prov_config 配置步骤和 OptionsFlow 菜单
- provisioning.py: 新建配网管理器(ProvisioningManager 类)
- coordinator.py: 集成配网管理器,添加配网状态管理方法
- services.py: 新建服务定义和注册
- services.yaml: HA 服务定义文件
- __init__.py: 集成服务注册和卸载
- PRD.md: 更新服务调用接口和配置参数文档
配网功能说明:
- 首次使用需配置 Network Key, App Key, Network ID, IV Index
- 配网超时时间:180 秒
- 组地址范围:0xC000 - 0xCFFF
- 支持 SIG 标准分组和 VENDOR 自定义分组
|
2026-04-16 12:05:13 +08:00 |
|
impressionyang
|
4031747635
|
fix: 添加缺失的 callback 导入
- 在 config_flow.py 中添加 `from homeassistant.core import callback`
- 修复 "Invalid handler specified" 错误
|
2026-04-16 09:55:08 +08:00 |
|
impressionyang
|
311cfbbe7e
|
fix: 修复平台文件和 OptionsFlow 错误
修复内容:
1. 所有平台文件添加 coordinator.data None 检查
- sensor.py, binary_sensor.py, switch.py, light.py, device_tracker.py
2. 修复 async_get_options_flow 签名
- 改为实例方法,移除 config_entry 参数
- 移除 @staticmethod 装饰器
3. OptionsFlow 添加正确的 __init__ 方法
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-16 09:48:00 +08:00 |
|
impressionyang
|
19774a4a9f
|
fix: 修复平台加载和 OptionsFlow 错误
主要修复:
1. 将平台文件从 platforms/ 移到集成根目录
- sensor.py, binary_sensor.py, switch.py, light.py, device_tracker.py
2. 修复 OptionsFlow config_entry 属性错误
- 移除手动设置的 config_entry
3. 添加集成图标 icons/icon.png
4. manifest.json 添加 integration_type: device
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-16 09:39:35 +08:00 |
|
impressionyang
|
472fec4a70
|
fix: 修复 coordinator.py 导入错误
问题:MeshMessageEvent 和 ProvDeviceEvent 定义在 serial_reader.py
但 coordinator.py 错误地从 protocol_parser.py 导入
修复:
- 从 protocol_parser 导入移除这两个类
- 改为从 serial_reader 导入
- 移除 _setup_callbacks 中多余的内部导入
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-15 19:09:40 +08:00 |
|
impressionyang
|
e905410ed7
|
fix: 修复 manifest.json 依赖错误
问题:bleak-mesh 包不存在导致 500 错误
解决:
- 移除不存在的 bleak-mesh 依赖
- 使用 pyserial-asyncio-fast 替代 pyserial-asyncio(HA 推荐)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-15 19:03:15 +08:00 |
|
impressionyang
|
66b86e3b74
|
fix: 修复 config_flow.py 类型注解错误
- 将 dict[str, any] 改为 dict[str, Any]
- 添加 typing.Any 导入
这会导致 500 Internal Server Error
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-15 18:49:18 +08:00 |
|
impressionyang
|
6a66c9b474
|
初始提交:SigMesh Gateway HACS 集成
项目结构:
- custom_components/sigmesh_gateway/ - Home Assistant 集成
- serial_reader.py - 串口读取器
- protocol_parser.py - 协议解析器
- coordinator.py - 数据协调器
- platforms/ - 传感器/开关/灯光/设备追踪实体
文档:
- PRD.md - 产品需求文档
- README.md - 用户使用指南
- 可行性分析.md - 技术可行性分析
- 参数配置表.md - 配置参数记录
- 调试检查清单.md - 问题排查指南
功能特性:
- 串口通信 (115200 波特率)
- Bluetooth Mesh 协议解析
- 支持 200+ 设备接入
- UI 配置界面
- 多平台实体支持
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-04-15 18:20:48 +08:00 |
|