用 Home Assistant 打通小米与苹果家庭:Aqara 传感器联动实践
智能家居最大的痛点从来不是"没有设备",而是"设备不属于一个世界"。米家生态丰富、性价比高,苹果家庭体验流畅、隐私放心,但两者之间的墙让无数玩家抓狂。本文以 Aqara 传感器为切入点,分享如何用 Home Assistant(下称 HA)作为中枢,把米家设备无缝接入苹果家庭,并给出几套可直接落地的联动方案。
一、为什么选择 Home Assistant 当"中间人"
直接把 Aqara 网关接入苹果家庭当然可行,但会立刻遇到几个天花板:
- 联动封闭:米家自动化无法触发苹果场景,反之亦然;
- 条件贫瘠:原生联动缺少"与、或、非"、延时撤销、多条件组合等逻辑;
- 推送受限:米家推送在 iOS 上体验割裂,通知延迟明显。
HA 的价值在于提供统一的实体层:无论设备来自米家云、Aqara 网关还是 Zigbee 直连,最终都变成标准化的 entity,向上可以桥接给 HomeKit,向下可以做任意复杂联动。一句话总结:HA 做大脑,苹果家庭做遥控器,米家设备做手脚。
二、前期准备
硬件清单
- 一台常驻主机:树莓派 4/5、Mini PC 或 NAS(推荐 x86 架构,性能余量更大);
- Zigbee 协调器(可选):SONOFF ZBDongle-E、SkyConnect 等;
- Aqara 传感器若干:门窗 P1、人体存在 P1、温湿度、振动传感器等。
软件与账号
- Home Assistant OS:推荐直接刷 HAOS,自带 Supervisor,插件生态最省心;
- 米家 App / Aqara Home App:用于完成设备首次配网;
- HACS 商店:安装第三方集成的基础工具。
三、接入 Aqara 设备的三条路线
| 路线 | 依赖 | 延迟 | 稳定性 | 适合人群 |
|---|---|---|---|---|
| 云端集成 | 米家账号 | 中 | 依赖外网 | 新手入门 |
| HomeKit Controller | Aqara 网关 | 低 | 高 | 已有网关用户 |
| Zigbee 直连 | 协调器 + Zigbee2MQTT | 极低 | 极高 | 进阶玩家 |
路线一:云端集成
在 HACS 中安装 Xiaomi Miot Auto,或使用小米官方 2024 年后推出的 Xiaomi Home 集成,登录米家账号即可拉取全部设备。优点是覆盖面广、配置简单;缺点是部分指令走云端,断网时自动化会失效。建议只把低频设备交给云端,如温湿度、空气质量类传感器。
路线二:HomeKit Controller 桥接网关
Aqara 网关(M1S/M2/M3)原生支持 HomeKit,HA 可以通过 HomeKit Device 集成反向"接管"它:
- 进入网关设置,开启局域网协议与 HomeKit 配对模式;
- 在 HA 中添加集成,扫描配对码完成接入;
- 网关下挂的传感器全部以本地实体形式出现,全程不走云。
这条路线几乎零成本,是老网关用户的最佳选择。
路线三:Zigbee 直连
为传感器配一个协调器,通过 Zigbee2MQTT 直接入网。收益非常明显:
- 响应速度提升至毫秒级,人体传感器触发灯光"秒亮";
- 摆脱网关绑定,后续换生态设备不动基础网络;
- 可读取电池电压、LQI 信号质量等底层诊断数据。
建议:新建系统直接上 Zigbee 直连;已有 Aqara 网关则用路线二过渡,逐步迁移。
四、暴露给苹果家庭:HomeKit Bridge
设备进入 HA 后,最后一步是通过内置的 HomeKit Bridge(桥接)集成"反向输出"给苹果家庭:
- 设置 → 设备与服务 → 添加集成 → 搜索 HomeKit Bridge;
- 勾选需要暴露的域:灯、开关、传感器、封面、气候等;
- 用 iPhone 相机扫描生成的二维码完成配对。
几个关键细节:
- 按类型分桥:传感器单独建一个桥,媒体播放器单独建一个,避免超过 HomeKit 单桥实体上限;
- 合理命名:实体名称会原样同步到苹果家庭,建议用"玄关灯""客厅空调"这类口语化命名,方便 Siri 识别;
- 分区映射:把实体分配到 HA 的 Area(如"客厅"),苹果家庭会自动生成对应房间结构。
完成后,你可以在苹果家庭里看到所有传感器,用 Siri 直接询问"客厅温度多少",也能把 HA 实体拖进原生自动化和 iOS 桌面小组件。
五、Aqara 传感器联动实战
以下场景均在 HA 自动化中实现,同时可在苹果家庭保留简化开关。
场景一:玄关人来灯亮(节电版)
核心诉求:有人来灯亮,人走灯灭,白天不触发。
trigger:
- platform: state
entity_id: binary_sensor.hallway_motion
to: "on"
condition:
- condition: numeric_state
entity_id: sensor.hallway_illuminance
below: 50
action:
- service: light.turn_on
target: { entity_id: light.hallway_light }
- service: automation.turn_off
entity_id: automation.hallway_light_off
# 关闭"立即熄灯"自动化,防止误判搭配一个带 for: "00:03:00" 的无人在场触发器关灯,并用照度条件过滤白天——这是米家原生自动化很难做干净的细节。
场景二:门窗异常即时推送 iPhone
深夜门窗被打开时,通过 HA Companion App 推送带穿透提醒的关键告警,比米家推送可靠得多:
trigger:
- platform: state
entity_id: binary_sensor.balcony_door
to: "on"
condition:
- condition: time
after: "23:30:00"
before: "06:30:00"
action:
- service: notify.mobile_app_iphone
data:
title: "⚠️ 安全提醒"
message: "阳台门窗被打开!"
data:
push:
interruption-level: time-sensitivetime-sensitive 级别可以突破专注模式,确保夜间告警必达。
场景三:温湿度联动空调
用 Aqara 温湿度传感器做闭环控制,湿度超过 70% 自动开除湿模式,低于 60% 自动关闭,并加入 10 分钟防抖延时,避免空调反复启停。暴露给 HomeKit 后,空调出现在苹果家庭中,还支持 Siri 语音控制和场景编排。
场景四:振动传感器"看"洗衣机
把振动传感器贴在洗衣机侧面,通过振动状态 + 振动消失计时实现洗完提醒:
trigger:
- platform: state
entity_id: binary_sensor.washer_vibration
to: "off"
for: "00:05:00"
condition:
- condition: state
entity_id: binary_sensor.washer_vibration_prev_running
# 此处用 template 记录"曾长时间振动"状态
action:
- service: notify.mobile_app_iphone
data:
message: "衣服洗好了,记得晾 🧺"这是振动传感器最经典的"物尽其用"玩法,成本不到百元。
六、稳定性与体验优化建议
- 全链路本地化:传感器走 Zigbee,HA 与 HomeKit 通信走局域网,云端只留固件升级;
- 固定 IP + 备份:为 HA 主机绑定静态地址,定期用内置备份功能快照配置;
- Zigbee 网络规划:常供电的设备(智能插座)可充当路由节点,扩大网络覆盖;
- 实体瘦身:只向 HomeKit 暴露必要实体,苹果家庭界面越干净,Siri 匹配越准确。
七、常见坑与排查
- Aqara 传感器频繁掉线:多是 2.4G Wi-Fi 与 Zigbee 信道冲突,把路由器信道改到 1/6/11 之外,Zigbee 固定用 15/20/25;
- HomeKit 桥接无法添加:检查 iPhone 与 HA 是否在同一网段,路由器是否开启了 AP 隔离;
- 传感器状态不更新:Aqara 电池类设备有休眠机制, 属正常现象;持续无响应则检查电池电压;
- 云端集成失效:米家改版后第三方集成可能短期不可用,重要自动化务必走本地链路。
结语
Home Assistant 的魅力在于把选择权还给用户:米家负责硬件性价比,苹果家庭负责体验质感,HA 负责中间所有的胶水逻辑。用一套 Aqara 传感器,就能搭出响应迅速、隐私可控、双生态通吃的智能家居底座。先从一个玄关灯的联动开始,你会发现"折腾"本身就是乐趣的一部分。