说明:
- 在 Home Assistant 2026.6.0 版本中,合并了一个内部 PR:#170560。
- 该 PR 在官方 changelog 中 没有任何记录,也 没有被标记为 Breaking Change,因此用户在升级时完全无法得知它会带来行为变化。
- 然而,这个 PR 实际上引入了一个 破坏性更新:实体标识符(实体 ID) 会在某些情况下被自动重建,并加入区域标识符作为前缀。
更新了什么:
从 2026.6.0 开始,当系统触发“实体重建逻辑”时(例如设备重新添加、unique_id 变化、集成重新注册等),实体 ID 会被自动改写为:
<domain>.<area>_<original_object_id>
例如:
原实体 ID:
sensor.tianyuan_nong_li_lunar_calendar
被改写为:
sensor.ke_ting_tianyuan_nong_li_lunar_calendar
也就是说,系统自动将实体所在区域(如“客厅”)加入到了实体 ID 前缀中。
而 xiaom_home 集成中的实体会直接改写 实体标识符(实体ID):
例如:
原实体 ID:
light.yeelink_cn_585311441_ceil38_s_2_light
被改写为:
light.ci_wo_ci_wo_xi_ding_deng_xi_ding_deng
这可能与实体ID命名方式有关。
为什么这是破坏性更新:
因为实体 ID 是 Home Assistant 中最核心的引用标识符,任何自动化、脚本、模板、Lovelace 卡片、第三方系统(如 Node-RED、AppDaemon、HomeKit、Google Assistant)都依赖它。
实体 ID 被自动改写后,会导致:
- 自动化引用旧实体 ID → 全部失效
- 脚本引用旧实体 ID → 全部失效
- Lovelace 卡片引用旧实体 ID → 全部失效
- 模板引用旧实体 ID → 全部失效
- YAML 配置引用旧实体 ID → 全部失效
- 历史记录与统计数据断裂
这是典型的 Breaking Change,但官方并未声明。
影响范围:
- 该行为从 2026.6.0 开始存在,在 2026.7.1、2026.7.2中仍然有效。
- 只要满足实体重建条件,就会触发区域前缀注入。
建议:
- 非必须,近期不要修改 UI 界面。
- 非必须,不要重新添加设备,和新建实体。
- 非必要请勿重置实体标识符(实体ID)。
讨论链接:#173125
|