本帖最后由 conanlau 于 2025-2-11 18:05 编辑
1. 背景
我家里去年刚装修好,主要是 Aqara 的设备(60 多个),平时用 Homekit 控制。还有少部分米家设备(10 几个),通过 HA 接入到 Homekit 里凑合着用。用了一年多,整体还是蛮顺畅的,但是日常想让米家和 aqara 做一些联动,发现不是很方便。因为之前已经把 Aqara 桥接到 Homekit 了,反向接入要移除 Homekit 里的 Aqara 桥接,不想重新配置一遍,就一直懒得弄。最近看到 Aqara 官方支持了 matter 桥接,就想动手试试在 HA 里用 matter 把 Aqara 给接入进来。
2. 现状
先说下我家里的现状:
共有 2 个 Aqara M2 网关,各自接了 30+ 设备。目前通过 matter 桥接到 HA 之后,一共展示了 20+ 个设备,80+ 实体。还有相当一部分没接入进来(不确定是我配置的问题导致没识别到,还是官方没支持)。最后我会列一下目前桥接成功的设备明细。
已经接入进来的部分,比如开关、灯光驱动,都可以局域网离线控制,基本没延迟,也能和米家设备顺畅联动,达到了我最开始的目的。
3. 接入方式
写这篇帖子,主要是为了记录一下我的接入过程,也顺便跟大家分享一下我的心得,如果有哪里写的不正确的内容,欢迎大家斧正(过去一年在论坛里泡了很久,看了很多朋友的分享,很感谢大家的无私奉献)
3.1 我家的硬件/软件情况
- 绿联 NAS 4600:ugos pro,debian x86_64
- Home Assistant:基于 docker 部署,无 add-on,core 版本 2025.1.2
- Aqara 网关:M2 POE 版,固件版本 4.3.1
3.2 安装 matter 镜像
因为我部署的 HA 没有 add-on,所以需要单独部署一套 matter 服务(如果安装了 HAOS 的朋友,可以直接在 add-on 里启动 matter 服务)。
部署 matter 服务所需要的镜像是 home-assistant-libs/python-matter-server。需要注意的是,官方提供的镜像是托管在 ghcr 的,而不是 docker hub,镜像官方地址是 https://github.com/home-assistant-libs/python-matter-server/pkgs/container/python-matter-server。
在我的 NAS 设备上,绿联官方的 docker app 没法直接下载非 docker hub 的镜像(哪怕我已经单独添加了 gchr 的镜像源也不行),所以我尝试了好几种方式进行下载:
1. 通过 ssh 登录 NAS,直接 sudo docker pull 拉取。我通过旁路由进行了科学上网,但是速度还是太慢了,最终放弃(其实多等一等也能下载完 )
可以使用 ssh 的朋友直接执行这行命令就就行:
docker pull ghcr.io/home-assistant-libs/python-matter-server:stable
2. 本地执行 docker pull,通过 NAS 上 docker app 的导入镜像功能,将镜像导入进去。我最终是通过这个方式导入完成的,但是要注意,官方对镜像运行的系统是有限制的。
我遇到的问题是:本地电脑是 Mac M3,直接 pull stable 拉取到的是 arm64 的镜像,但是我的 NAS 设备是 amd64 的架构,导致我第一次传上去的镜像,根本启动不了。
一开始我也没意识到这个问题,因为容器启动不起来,一行日志都没输出,直接就挂了。看了官方的说明才反应过来,参考官方文档 OS Requirements
我最终在本地下载的镜像,使用的是下面的命令,这个 tag 是官方提供的适用于 linux/amd64 的镜像
docker pull ghcr.io/home-assistant-libs/python-matter-server:7.0.1@sha256:e3e9855a5ff669ca421f6440cbb60f8134ca40f9c38f47e54caabf69d91f2222
3.3 部署 matter 容器
如果可以执行 docker 命令(例如通过 ssh),可以直接执行官方给的命令:
(需要提前创建一个 data 目录,和容器内的 data 目录做绑定)
docker run -d \
--name matter-server \
--restart=unless-stopped \
--security-opt apparmor=unconfined \
-v $(pwd)/data:/data \
--network=host \
ghcr.io/home-assistant-libs/python-matter-server:stable
我是通过 NAS 自带的 docker app 创建的容器,关注下面几个内容就行:
1. 添加目录映射
2. 网络使用 host 模式
然后就可以正常启动容器了。虽然日志里提示 network 有报错,但实际上容器也正常启动了,我的 HA 里也自动检测到了 matter 集成,所以这个问题我就暂时没管了。
3.4 添加 matter 集成
因为我 NAS 的 5580 端口没被占用,所以这里我就没改,直接按提示操作就行了。
3.5 添加 matter 设备
集成添加好了之后,在 HA 的设备页面,添加 matter 设备,输入 Aqara 网关的 matter 配对码就行了。
- Aqara 网关的 matter 配对码在哪里:Aqara Home App - 网关 - 查看详情 - 通用设置 - Matter 生态 - Matter 配对码
4. 结语
对于有 add-on 的朋友来说,可能整体流程会比较简单,不过由于我的场景下,只能基于 docker 做部署,所以在安装 matter-server 的镜像上花了一些时间。
希望同时拥有 Aqara 以及其他智能家居的朋友,可以愉快的在 HA 里进行互动。
5. 附:
在我家现有的设备中,可以通过 mater 桥接接入 HA 的设备情况如下:
已接入:
网关
Aqara M2 2022 款(不包含网关的红外指令)
灯光
Aqara 双色温驱动器 T1 Pro
Aqara 智能恒流驱动器 T1-1
LED 灯泡 T1(可调色温)
开关
智能墙壁开关 H1(零火线双键版)
智能墙壁开关 H1(零火线三键版)
Aqara 无线开关
传感器
光照传感器 T1
高精度人体传感器
动静贴
窗帘电机
智能卷帘伴侣 E1
暂无法接入:
摄像头
智能可视门铃 G4
门锁
Aqara 人脸识别智能门锁 D200
灯光
Aqara 智能调光模块 T1(0-10v)
Aqara 吸顶灯 L1-350
开关
智能墙壁开关 H1(零火线单键版)
智能墙壁开关 T1(零火线单键版)
单路控制器 T1(零火版)
智能温控器 S3
VRF 控制器 T1
传感器
人体传感器 E1
门窗传感器 E1
人体场景传感器 FP2
窗帘电机
Aqara 智能窗帘电机 C3
其他
虚拟子设备-插座
|