news 2026/9/17 8:06:04

Home Assistant 中 xiaomi_aqara.add_device 操作实战:为 Aqara 网关开启 30 秒配对窗口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Home Assistant 中 xiaomi_aqara.add_device 操作实战:为 Aqara 网关开启 30 秒配对窗口

Home Assistant 中 xiaomi_aqara.add_device 操作实战:为 Aqara 网关开启 30 秒配对窗口

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

导读

本文围绕 Home Assistant 的Xiaomi Gateway (Aqara)集成(域名为xiaomi_aqara)提供的add_device操作展开。该操作可在自动化或脚本中远程开启网关的配对许可 30 秒,让你无需打开 Mi Home 手机 App 即可把新的传感器或开关接入网关。读完本文,你将掌握该操作在 UI 与 YAML 两种方式下的完整配置方法、gw_mac参数的使用要点,以及它与remove_deviceplay_ringtonestop_ringtone等兄弟操作配合的实战套路。

操作概述:add_device 做什么

在 xiaomi_aqara.add_device 操作文档 中定义:Add device操作会开启指定 Xiaomi Aqara 网关的"加入许可"(join permission),持续30 秒。在这段时间内,新设备只要按下一次配对按钮即可被网关识别并完成入网。

该操作的核心价值在于:

  • 免 App 配网:传统方式下,给网关添加子设备通常要打开 Mi Home App 手动操作;通过 Home Assistant 自动化,你可以把"入网许可窗口"变成可编程、可触发的流程。
  • 可自动化:例如先用自动化让网关进入配对状态,再去按设备配对键,完全不需要掏出手机。
  • 脚本可编排:脚本中可先调用add_device,等待片刻后校验新设备是否出现,再配合remove_device完成设备迁移。

从操作行为看,它与 remove_device(移除已配对设备)、play_ringtone(播放铃声)、stop_ringtone(停止铃声)共同构成该集成在 Home Assistant 中的四个原生操作,均在操作文档头部通过related_actions字段互相引用。

前提条件:网关与集成

add_device操作依赖 Xiaomi Gateway (Aqara) 集成 已成功配置。该集成(ha_integration_type: hub)支持以下设备控制面:binary_sensor、cover、light、lock、sensor、switch,IoT 类别为 Local Push,支持通过配置流(ha_config_flow: true)与 zeroconf 自动发现接入。

集成文档特别提示了两个网关版本的差异:

  • v1 网关:可直接配合 Home Assistant 使用,无特殊问题。
  • v2 网关:启用本地 API 可能较为曲折,甚至可能需要拆机操作;Xiaomi 官方曾表示该能力在规划中。若使用 Hub 2 遇到问题,可参考集成文档的 Troubleshooting 一节排查。

配置时可选参数包括interface(使用的网络接口,默认any)、key(网关密钥,仅使用传感器/二进制传感器时可省略)、name(网关名称)。

方式一:从用户界面(UI)触发

add_device操作不支持 targets——在 UI 中你不会被提示选择区域(area)、设备、实体或标签(label),只要求填写网关 MAC 地址。这是因为该操作作用于网关本身,而非具体实体。

在 UI 中从自动化或脚本调用该操作的步骤如下:

  1. 进入设置>自动化与场景Settings > Automations & scenes)。
  2. 打开一个现有的自动化或脚本,或选择创建自动化>创建新自动化
  3. 如果新建的是自动化,需要在当...时(When)部分添加触发器;脚本不需要触发器,脚本在被其他东西调用时才会运行。
  4. 然后执行(Then do)部分,选择添加操作(Add action)
  5. 在搜索框中搜索并选择Xiaomi Gateway (Aqara): Add device
  6. 填写网关 MAC(Gateway MAC)
  7. 点击保存(Save)

UI 中的选项

选项说明必填
网关 MAC(Gateway MAC)网关的 MAC 地址;只有一个网关时自动选中

方式二:在 YAML 中使用

在 YAML 中,该操作以xiaomi_aqara.add_device引用。最基本的示例如下(来自 操作文档):

action: xiaomi_aqara.add_device data: gw_mac: aa:bb:cc:dd:ee:ff

注意:在自动化中,该 YAML 通常作为actions列表中的一项:

- alias: "Pair new device to Aqara gateway" triggers: - trigger: state entity_id: input_boolean.pairing_mode to: "on" actions: - action: xiaomi_aqara.add_device data: gw_mac: aa:bb:cc:dd:ee:ff

YAML 选项说明

字段类型必填说明
gw_macstring网关的 MAC 地址;只有一个网关时自动使用

参数深度解读:gw_mac

gw_macadd_device操作的唯一参数,其语义在 remove_device 等兄弟操作中保持一致:MAC 地址用于在多网关环境下精确定位目标网关。

  • 单网关场景:文档明确说明"当只有一个网关时,它会被自动选中/使用"。因此即便不显式指定gw_mac,Home Assistant 也会自动推断。
  • 多网关场景:必须显式传入目标网关的 MAC,否则操作无法确定要开启哪个网关的配对许可。

MAC 地址的格式为小写十六进制、冒号分隔,如aa:bb:cc:dd:ee:ff。另外,从 Xiaomi Gateway (Aqara) 集成 的 Troubleshooting 可以了解到:如果网关 MAC 以04:CF:8C7C:49:EB开头,很可能其 9898 端口处于关闭状态,导致本地 API 方式不可用——这类网关需要额外的硬件级处理(文档提及需要焊接和电工操作),使用add_device前应先确认网关可被正常发现和控制。

实战场景一:配合 remove_device 迁移设备

add_device最常见的组合拳是与remove_device一起使用。根据 remove_device 操作文档:

  • Remove device操作从指定网关移除一个已配对设备。
  • 当你想把设备配对到另一个网关时,必须先把它从当前网关移除。

因此迁移流程为:先调用xiaomi_aqara.remove_device移除旧网关上的设备,再对目标网关调用xiaomi_aqara.add_device开启 30 秒配对窗口,最后按下设备配对键。

remove_device的 YAML 示例:

action: xiaomi_aqara.remove_device data: gw_mac: aa:bb:cc:dd:ee:ff device_id: 158d000xxxxxc2

其中device_id是待移除设备的硬件地址(必填,string 类型)。可以看到两个操作的参数风格完全一致:gw_mac定位网关,设备级参数(如device_id)定位具体子设备。

实战场景二:配合 play_ringtone 实现配对提示

开启配对窗口后,用户往往需要走到设备旁按下配对键。为了让状态更直观,可以先调用 play_ringtone 播放提示音。该操作要求网关固件至少为1.4.1_145,支持的铃声 ID 分为几组:

  • 警报类:0 警车1、1 警车2、2 事故、3 倒计时、4 幽灵、5 狙击枪、6 战斗、7 空袭、8 犬吠
  • 门铃类:10 门铃、11 敲门、12 Amuse、13 闹钟
  • 闹钟类:20 MiMix、21 Enthusiastic、22 GuitarClassic、23 IceWorldPiano、24 LeisureTime、25 ChildHood、26 MorningStreamLiet、27 MusicBox、28 Orange、29 Thinker
  • 自定义铃声:通过 Mi Home App 上传的自定义铃声,ID 从 10001 起

对应 YAML:

action: xiaomi_aqara.play_ringtone data: gw_mac: aa:bb:cc:dd:ee:ff ringtone_id: 8 ringtone_vol: 8

铃声播放后可用 stop_ringtone 立即停止(如报警被确认后静音),其 YAML 只需gw_mac一个参数。

实战场景三:完整自动化示例

将上述能力组合成一个"一键配对新设备"的自动化:当开关被打开时,先播放提示音,再开启 30 秒配对窗口,并给手机推送通知。

- alias: "Open Aqara gateway for pairing" triggers: - trigger: state entity_id: input_boolean.pairing_mode to: "on" actions: - action: xiaomi_aqara.play_ringtone data: gw_mac: aa:bb:cc:dd:ee:ff ringtone_id: 10 ringtone_vol: 50 - action: xiaomi_aqara.add_device data: gw_mac: aa:bb:cc:dd:ee:ff - action: notify.notify_person data: message: "配对窗口已开启,请在 30 秒内按下设备配对键"

快速验证:在 Actions 工具中试运行

不想写 YAML 也可以直接验证该操作:打开设置>工具>操作(Actions),搜索xiaomi_aqara.add_device,填写网关 MAC 后点击执行操作(Perform action),即可在真实网关上看效果。这也是排查参数是否正确的最快路径。

常见问题与排查思路

  • 操作执行后设备仍未入网:确认已在 30 秒窗口内按下设备配对键;若超时,需重新触发操作。
  • 多网关环境下不指定gw_mac:操作可能无法确定目标网关,建议始终显式传入 MAC。
  • 网关无法被发现/控制:参考 Xiaomi Gateway (Aqara) 集成 的 Troubleshooting——检查 LAN 访问是否已启用、系统防火墙是否拦截、路由器是否支持组播(multicast,网关的硬性要求),Docker 部署需使用--net=host;若日志出现{"error":"Invalid key"},可尝试用 Android 手机或模拟器重新生成密钥(某些 iOS 生成的密钥存在兼容问题)。
  • MAC 以04:CF:8C7C:49:EB开头:这类网关的 9898 端口很可能被关闭,本地 API 方案不可用,需要硬件级处理。

小结

xiaomi_aqara.add_device是 Home Assistant 操作xiaomi_aqara域下实现"免 App 配网"的关键操作:通过gw_mac定位网关,一次调用即可开启 30 秒配对窗口。结合remove_device可完成设备跨网关迁移,结合play_ringtone/stop_ringtone可构建带声音反馈的完整配网流程。无论是 UI 可视化配置还是纯 YAML 编写,掌握这一操作都能显著提升 Aqara 设备的接入效率。

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 8:01:28

门诊系统数据库设计实战:从E-R图到MySQL实现

简介:面向高校软件工程、数据库应用系统等课程的学生,这份医院门诊管理系统数据库设计课程设计文档,完整展示了一个小型医院门诊系统的数据库分析与设计全过程。内容从需求分析切入,先借助数据流程图梳理病人挂号、诊断治疗、收费…

作者头像 李华
网站建设 2026/9/17 7:56:05

Colibri协议详解:Jitsi视频会议媒体桥接核心机制

如果你自己搭过一次 Jitsi Meet,大概率见过这种场景:一堆 Docker 容器跑起来,浏览器端刚点“加入会议”,服务端日志里就开始刷出带Colibri字样的记录。我第一次看见这个单词还以为是蜜蜂相关的模块,翻了大半天的文档才…

作者头像 李华