用 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 ControllerAqara 网关低高已有网关用户
Zigbee 直连协调器 + Zigbee2MQTT极低极高进阶玩家

路线一:云端集成

在 HACS 中安装 Xiaomi Miot Auto,或使用小米官方 2024 年后推出的 Xiaomi Home 集成,登录米家账号即可拉取全部设备。优点是覆盖面广、配置简单;缺点是部分指令走云端,断网时自动化会失效。建议只把低频设备交给云端,如温湿度、空气质量类传感器。

路线二:HomeKit Controller 桥接网关

Aqara 网关(M1S/M2/M3)原生支持 HomeKit,HA 可以通过 HomeKit Device 集成反向"接管"它:

  1. 进入网关设置,开启局域网协议与 HomeKit 配对模式;
  2. 在 HA 中添加集成,扫描配对码完成接入;
  3. 网关下挂的传感器全部以本地实体形式出现,全程不走云。

这条路线几乎零成本,是老网关用户的最佳选择。

路线三:Zigbee 直连

为传感器配一个协调器,通过 Zigbee2MQTT 直接入网。收益非常明显:

  • 响应速度提升至毫秒级,人体传感器触发灯光"秒亮";
  • 摆脱网关绑定,后续换生态设备不动基础网络;
  • 可读取电池电压、LQI 信号质量等底层诊断数据。
建议:新建系统直接上 Zigbee 直连;已有 Aqara 网关则用路线二过渡,逐步迁移。

四、暴露给苹果家庭:HomeKit Bridge

设备进入 HA 后,最后一步是通过内置的 HomeKit Bridge(桥接)集成"反向输出"给苹果家庭:

  1. 设置 → 设备与服务 → 添加集成 → 搜索 HomeKit Bridge;
  2. 勾选需要暴露的域:灯、开关、传感器、封面、气候等;
  3. 用 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-sensitive

time-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 传感器,就能搭出响应迅速、隐私可控、双生态通吃的智能家居底座。先从一个玄关灯的联动开始,你会发现"折腾"本身就是乐趣的一部分。