多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

小米Home Assistant集成浴霸模式控制丢失:原因、5步修复与验收方法

小米Home Assistant集成浴霸模式控制丢失:原因、5步修复与验收方法 小米Home Assistant集成浴霸模式控制丢失原因、5步修复与验收方法【免费下载链接】ha_xiaomi_homeXiaomi Home Integration for Home Assistant项目地址: https://gitcode.com/GitHub_Trending/ha/ha_xiaomi_homeTL;DR问题、影响与修复成本问题小米 Home Assistant 集成ha_xiaomi_homeXiaomi Home Integration更新后奥普aupu、易来yeelink浴霸在 HA 中的模式控制实体消失设备下只剩灯光开关无法再切换换气、暖风、干燥等模式。触发版本v0.2.2 起。该版本修改了浴霸、空调、新风机的实体转换规则集成内部术语把设备属性翻译成 HA 实体的规则。修复版本v0.2.3PR#899已随版本发布无需自行改代码。操作成本更新集成 → 重启 Home Assistant → 配置页勾选两个更新选项 → 移除并重新添加受影响浴霸全程约 10 分钟其他设备与自动化不受影响。现象与影响范围触发条件将集成从 v0.2.1 或更早版本升级到 v0.2.2含之后出现。v0.2.2 的 更新日志 明确提示该版本修改了浴霸、空调、新风机的实体转换规则更新后需要重启 HA 并勾选xiaomi_home 配置 更新实体转换规则 下一步重新加载集成。受影响设备用户已确认的型号均以 MIoT 品类bhf_light浴霸灯为主品牌设备型号现象奥普aupu.bhf_light.s10m仅剩灯光开关模式控制实体消失奥普aupu.bhf_light.s11m同上易来yeelink.bhf_light.v5同上同品类的其他浴霸型号如 xiaomi.bhf_light.s1、mike.bhf_light.2、yeelink.bhf_light.v10 等如果也升级到了 v0.2.2建议一并自查。确认是否受影响按下面 3 步自查打开 HA「设置 → 设备与服务 → 设备」进入浴霸设备页查看实体列表若只有 light灯光开关实体缺少 climate温湿度/气候实体或 climate 实体上没有了模式选项即中招交叉验证米家 App 仍能正常切换模式、设备本身无故障说明问题出在集成的属性映射层而非硬件或云端。根因复盘一条属性为什么映射不到排查链条按「现象 → 原始数据 → 转换规则 → 修复点」展开现象实体列表里少了模式控制其余实体灯光开关正常。原始数据浴霸在小米 MIoT 规范设备属性标准描述中定义了ptc-bath-heater服务其下的mode属性承载换气、暖风、干燥等模式值设备一直在正常上报这个属性。转换规则v0.2.2 把浴霸的mode属性映射到 climate 实体的 preset modeHA 的预设模式字段即下拉选择项。但初始化 climate 实体的开关联动时没有显式指定服务名和属性名属性匹配落空模式实体没有被正确生成。修复点v0.2.3 的 PR#899 在初始化时显式指定了服务名与属性名保证ptc-bath-heater的mode稳定映射到 climate 的 preset mode。同版本还修复了切换预设模式时的 hvac mode 设置错误以及 yeelink.bhf_light.v10 模式值描述歧义。集成本身运行正常状态与控制消息的收发链路没有断所以设备在线状态、灯光开关都不受影响——坏的只是属性 → 实体这一层的映射。集成与网关/云端之间的消息链路可参考下图修复与验收5 步操作与验收标准前置将集成更新到 v0.2.3 或更高版本HACS 用户直接拉取更新Git 安装方式可切换对应 tag 后重新执行./install.sh安装方法见 doc/README_zh.md。重启 Home Assistant进入「设置 → 设备与服务 → 已配置 → Xiaomi Home → 配置」勾选更新实体转换规则和更新设备列表重新加载集成移除受影响的浴霸设备奥普/易来等bhf_light型号重新添加该设备在设备页验证模式控制。怎么确认修好了三条都满足才算修复完成设备下重新出现 climate 实体预设模式下拉包含换气、暖风、干燥等选项切换预设模式后设备实际运行状态改变且状态几秒内同步回 HA日志中无该设备相关的set_properties报错。可用米家 App 对照操作一次确认设备端确实切换了模式排除HA 显示已切换但设备未执行的假修复。排查速查给维护者/开发者先锁定设备型号格式品牌.品类.型号如aupu.bhf_light.s10m再对照 CHANGELOG.md 中涉及 MIoT-Spec 的条目确认近期是否动过该品类的规则在 HA「开发者工具 → 状态」中查看设备原始属性确认目标服务如ptc-bath-heater与属性mode是否存在、取值是否正常把问题定位到数据缺失还是映射失败检查 miot/specs/specv2entity.py 中该服务的转换映射以及 spec_modify.yaml、spec_add.json 是否有针对该型号的覆盖规则核对实体初始化逻辑是否显式指定了服务名与属性名避免依赖默认匹配——本次事故就是匹配落空开 debug 日志复现一次开关/切模式操作搜索对应属性名与set_properties关键字确认指令是否发出、是否返回错误码。后续预防用户侧更新前浏览 CHANGELOG.md 的 Changed 小节出现实体转换规则字样时升级后重点核对依赖该实体的自动化升级后对关键设备浴霸、空调、新风机等品类做一轮实体清单对比发现实体变少立即记录型号与日志反馈更新前备份 HA 配置文件遇到异常可快速回滚到上一个 tag。维护者侧调整实体转换规则时初始化必须显式指定服务名与属性名不依赖默认匹配逻辑对 ptc-bath-heater 这类多品牌高频品类建立回归清单规则变更后用受影响型号批量验证实体生成结果在 CHANGELOG 中为破坏性变更标注恢复步骤如本事故的勾选更新转换规则 移除重加设备缩短用户自查与修复路径。【免费下载链接】ha_xiaomi_homeXiaomi Home Integration for Home Assistant项目地址: https://gitcode.com/GitHub_Trending/ha/ha_xiaomi_home创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表