ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Home Assistant 小米设备图标怎么改:Xiaomi Home 集成的 3 种做法

2026/9/6 18:29:56 拓冰建站 浏览量
Home Assistant 小米设备图标怎么改:Xiaomi Home 集成的 3 种做法 Home Assistant 小米设备图标怎么改Xiaomi Home 集成的 3 种做法【免费下载链接】ha_xiaomi_homeXiaomi Home Integration for Home Assistant项目地址: https://gitcode.com/GitHub_Trending/ha/ha_xiaomi_homeXiaomi Home 集成ha_xiaomi_home把小米设备导入 Home Assistant 后实体会带上默认图标。设备一多面板里一堆相似的灯泡、插座、温湿度图标很难快速辨认。本文给出三条改图标的路线单个实体用 HA 自带的图标覆盖批量改法走模板编辑器整类设备统一图标则编辑集成的规格覆盖文件。前置条件清单Home Assistant Core 版本 ≥ 2024.4.4集成在 hacs.json 中声明了这一门槛。已安装 Xiaomi Home 集成并用小米账号登录、完成设备导入。会查 Material Design Icons 图标名格式形如mdi:ceiling-light-outline。有文本编辑器能编辑 HA 配置目录里的文件。动手前对要改的文件做一次备份方便还原。最简路径实体注册表覆盖单个图标结论不改任何集成文件用 HA 的实体注册表给单个实体指定图标保存即生效适合只有一两个实体不满意的情况。在实体选择器或开发者工具 状态中打开目标实体。点右上角三点菜单选择高级控制。在图标输入框里填入图标名保存。改完立即生效。此法只影响这一个实体其余实体不受牵连也最不容易出错。图标是怎么决定的3 层优先级 1 个覆盖文件每个小米设备型号在云端都有一份 MIoT-Spec 规格文件描述属性、单位和取值集成据此把属性转成 HA 实体。实体图标的判定优先级是属性映射到已知 device_class 时使用该类别的默认图标用户覆盖文件里为该属性指定了icon时用覆盖值都没有时落到集成内置的规格映射表。覆盖文件spec_modify.yaml是单独存放在你的 HA 配置目录里的集成升级不会覆盖它。云端控制与本地控制走的是不同的链路但实体图标规则两者一致。场景实操单个实体换图标实体选择器一步完成前面最简路径就是本场景的做法。补充一句这个设置存在 HA 自己的配置里和集成文件夹无关所以重装或升级集成都不会丢。批量统一修改用模板编辑器全局替换批量改单个字段的图标最快的方式是模板编辑器打开 HA 的模板编辑器在文件内容里搜索旧的icon:值并整体替换成新的。改多个实体比逐个点开省事也避免手敲自动化。图标还能跟随状态切换。比如开关类实体开的时候显示一个图标、关的时候显示另一个。集成源码里对分组灯光就是这么做的在 custom_components/xiaomi_home/light.py 里可以看到设备初始化时按条件设置图标class Light(MIoTServiceEntity, LightEntity): Light entities for Xiaomi Home. def __init__(self, miot_device, entity_data) - None: super().__init__(miot_devicemiot_device, entity_dataentity_data) if miot_device.did.startswith(group.): self._attr_icon mdi:lightbulb-group普通用户不必改代码在 HA 里用模板编辑器给该实体的图标字段写一段按状态取值的模板即可例如开返回mdi:ceiling-light-on、关返回mdi:ceiling-light-outline。整类设备统一图标编辑规格覆盖文件结论改spec_modify.yaml一次该型号设备下所有对应实体都会用新图标。该文件位于你的 HA 配置目录custom_components/xiaomi_home/miot/specs/下仓库内的 custom_components/xiaomi_home/miot/specs/spec_modify.yaml 是集成自带的规则文件可作为格式参考请勿改动仓库本身。先备份原文件cp spec_modify.yaml spec_modify.yaml.bak打开配置页找到该设备型号对应的 URN形如urn:miot-spec-v2:device:air-conditioner:0000A004:xxx:版本:。在该 URN 条目下、目标属性键prop.服务号.属性号中添加图标字段例如urn:miot-spec-v2:device:plant-monitor:0000A030:hhcc-v1:1: prop.2.1: icon: mdi:watering-can保存后重启 HA。本地控制链路依赖小米中枢网关但实体与图标的判定逻辑与云端模式相同无需另做处理。验证改动与还原验证保存后看一眼实体图标应已变化若未变重启 HA。再切换一次设备状态开/关、开关机确认图标能随状态正确变化最后刷新页面确认没有回跳。还原实体注册表改错的回到高级控制清空图标字段即可回到默认spec_modify.yaml改错的把备份文件拷回原位并重启 HA。避坑清单图标名写错或不带mdi:前缀面板会显示空白或旧图标。URN 必须用设备页里的完整标识含0000A004这类类型码和版本号不要自己拼。同一属性若映射到 device_class类别默认图标优先级高于覆盖文件此时要改请改用实体注册表。YAML 缩进错了整段不生效也不报错保存前检查缩进是否为 2 空格。配置页的更新实体转换规则是重新拉取云端最新规格不会替你应用本地文件里的改动别把它当成生效手段。默认的图标映射其实已经覆盖大多数设备只把不满意的改掉即可不必追求全部自定义。更多配置项说明可以参考仓库里的 doc/ 目录与 README.md。【免费下载链接】ha_xiaomi_homeXiaomi Home Integration for Home Assistant项目地址: https://gitcode.com/GitHub_Trending/ha/ha_xiaomi_home创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考