米家集成下班回家自动化指南:回家时屋里已经亮着、温度刚好
【免费下载链接】ha_xiaomi_homeXiaomi Home Integration for Home Assistant项目地址: https://gitcode.com/GitHub_Trending/ha/ha_xiaomi_home
到小区那一刻,玄关灯已经亮了,空调正按 26 度安静地跑着,净化器也起了。你只需要放下包,不用摸黑按开关。这是一套完整的下班回家自动化,工具是 Home Assistant 上的米家集成 ha_xiaomi_home:它把米家设备变成 HA 里的实体,几行自动化就能让这一切自己跑起来。下面直接把能跑通的第一条自动化写给你,顺带把我踩过的坑也标出来。
两分钟看懂:它是怎么指挥你家设备的
米家集成指挥设备有两条路,区别只在中间人住不住在你家。
| 方式 | 指令路径 | 什么时候选它 |
|---|---|---|
| 云端 | 指令经小米云转发,设备状态更新也走云 | 默认方式,无需额外硬件,登录就能用 |
| 本地 | Home Assistant 经局域网内的小米中枢网关直接控制 | 有中枢网关(固件 ≥ 3.3.0_0023)或内置中枢的设备 |
判断条件很简单:没有中枢网关,闭眼选云端。有的话,把集成选项里的「控制模式」改成「自动」,它会优先走本地,本地不可用再回退云端,不用来回切换。注意一点:本地控制只支持 WiFi 或网线的 IP 设备,蓝牙 Mesh、Zigbee 设备仍然走云。
设备接进来后会按能力拆成实体,最常用的三类是这样:
| 米家设备 | HA 实体 | 自动化里怎么用 |
|---|---|---|
| 智能灯泡 | light | light.turn_on,还能调亮度色温 |
| 智能插座/开关 | switch | switch.turn_on |
| 空调 | climate | climate.set_temperature |
温湿度计、净化器则变成 sensor、fan,规则相同,实体类型在 custom_components/xiaomi_home/ 目录里每种一个文件。具体能拿到哪些实体,看设备接进来之后的实际列表。
动手:从零跑通第一条下班回家自动化
先装集成。我推荐 git clone,方便以后切版本;HACS 里搜 "Xiaomi Home" 下载、或手动拷贝组件文件夹也行:
cd config git clone https://gitcode.com/GitHub_Trending/ha/ha_xiaomi_home cd ha_xiaomi_home ./install.sh /config最后一个参数是你的 HA 配置目录。install.sh 会把组件拷到正确位置,跑完重启 Home Assistant,前提是 Core ≥ 2024.4.4。
接着登录。设置 → 设备与服务 → 添加集成,搜 "Xiaomi Home",按账号所在地区登录小米账号,再选择要导入的家庭。设备多的话首次同步会慢一点,耐心等。登录后去「开发工具 → 状态」,确认你的灯、空调已经变成 light.xxx、climate.xxx——实体在,才谈得上写自动化。
然后是自动化本体。最小可用版如下,只需要改三处:你的手机位置跟踪实体(手机 App 里可开启)、两个设备实体、时间窗口:
trigger: - platform: zone entity_id: device_tracker.your_phone zone: home event: enter condition: - condition: time after: "17:00" before: "23:00" action: - service: light.turn_on entity_id: light.entrance_light - service: climate.set_temperature entity_id: climate.living_room_ac temperature: 26逻辑就一句话:手机进入「家」这个区域、且时间在 17:00 到 23:00 之间,打开玄关灯并把空调设到 26 度。想加设备就照格式往 action 里继续加条目,把 service 和 entity_id 换掉即可——净化器是 fan.turn_on,窗帘是 cover.open。
家人用的是不同小米账号?
设备分散在不同账号下时,在集成的选项里再登录一次账号即可。每登录一个账号,就把它名下的设备加进来,HA 里统一成实体,不用来回切账号。
让它更聪明:几个进阶玩法
跟着天气调温度。在动作里给室外温度传感器加一个 numeric_state 条件:高于 28 度就把空调设成制冷,低于 15 度切制热。UI 里用「如果/否则」节点实现,YAML 里就是改两个温度阈值。
控制多台设备的执行顺序。觉得空调上温太急,就在两个 action 条目之间加一行 delay: seconds: 5。先亮灯、半分钟后空调再跟上,节奏更舒服。
个性化扩展。加湿器 humidifier.turn_on、背景音乐、语音播报,套路都一样:实体存在,就能写进 action。跑通第一条之后,复制改改比从零写快得多。
卡住了?对照排查
设备显示离线,或者状态不更新
先在米家 App 里确认设备是否在线。App 里在线、HA 里不在线,就去 Xiaomi Home 集成页面看设备走的哪种控制模式。本地模式下,再核对中枢网关固件是否 ≥ 3.3.0_0023、设备是不是 IP 设备,蓝牙 Mesh 不支持本地控制。
自动化不触发
先核对触发器:手机跟踪实体的状态真的变成了「进入家」吗?时间条件在不在 17:00-23:00 窗口里?再去「开发工具 → 状态」看实体变化记录,并在自动化编辑器里手动执行一次,确认动作本身没问题。
指令发出去了,设备没反应
先确认 entity_id 没抄错、设备在线。再在集成选项里打开「Action 调试模式」,手动发一次指令,日志里能看到实际发出的请求内容,卡在哪一目了然。
接下来可以试试在开灯后面加一步开窗帘、放音乐,或者单独做一个上班出门版。再激进一点,让空调根据室外温度自己调——自动化这件事没有上限,从这一条开始就好。
【免费下载链接】ha_xiaomi_homeXiaomi Home Integration for Home Assistant项目地址: https://gitcode.com/GitHub_Trending/ha/ha_xiaomi_home
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考