在 Docker 环境中构建 Home Assistant Matter 控制系统(Raspberry Pi 5 + SkyConnect)

 

在 Docker 环境中为 Home Assistant 搭建 Matter,需将 SkyConnect (ZBT-1) 刷写为 Thread 固件,运行独立的 Matter Server 和 OpenThread 边界路由器 (OTBR) 容器,并在 HA 中通过添加对应的集成连接到HA。

 

系统环境

硬件:rpi 5

操作系统:debian12

ha:docker home assistant

 

整个系统搭建的结构

物理结构如下:

├── Hardware
│   ├── Raspberry Pi 5
│   │   └── SkyConnect (ZBT-1)
│   │       └── Thread RCP Firmware
│   ├── Esp32 BLE 蓝牙代理

SkyConnect (ZBT-1)接在rpi5 usb接口上

 

 

软件结构如下:

Raspberry Pi 5
│
Operating System(Debian 12)
│
├── Docker
│   ├── Home Assistant
│   │   ├── Matter Integration
│   │   ├── OpenThread Border Router Integration
│   │   └── Thread Integration
│   │
│   ├── Matter Server
│   │   ├── Matter Controller
│   │   ├── Commissioning
│   │   └── Fabric Management
│   │
│   └── OpenThread Border Router (OTBR)
│       ├── Thread Border Router
│       ├── Thread Network Management
│       ├── Thread Dataset
│       └── USB → SkyConnect (ZBT-1)
│
└── Thread Mesh Network
    ├── Matter Light
    ├── Matter Plug
    ├── Matter Switch
    ├── Matter Sensor
    ├── Matter Lock
    └── ...

 

容器

docker OpenThread(绑定SkyConnect (ZBT-1))

docker matter server

集成

将上述容器通过下面的集成,连接到ha

Open Thread Border Router integration

Matter integration

 

配置

Thread integration:它主要负责管理和同步网络凭据;管理所有的 Thread 网络凭据(包括网络名称、密码、PanID 和扩展 PanID)。

 

在HA构建的这套独立 Matter 控制系统中,三个核心组件(SkyConnect 硬件、OTBR 容器、Matter Server 容器)各自承担着不同的职责。

物理层(SkyConnect)→ 网络层(OTBR)→ 应用层(Matter Server)→ Home Assistant 集成层

1. SkyConnect (ZBT-1) 硬件

 

2. OpenThread Border Router (OTBR) 容器

负责用SkyConnect (ZBT-1)建立 Thread 网络、生成网络凭据(Network Credentials)、管理网络中的其他子设备.

3. Matter Server 容器 -应用层控制器 (Application Layer Controller)

负责新 Matter 设备的配网(Commissioning),通过蓝牙或二维码验证设备身份,并将 OTBR 里的 Thread 网络凭据发给新设备,让其加入网络。

 

4.Thread 集成

通过局域网的 mDNS 发现并连接 OTBR 容器。它从 OTBR 获取当前 Thread 网络的密码和通道信息,并将其保存在 HA 内部,方便后续将新设备安全地引导加入网络。

 

如何工作

 

 

工作流示例:控制一个 Thread Matter 灯泡

1.Home Assistant UI / 自动化(用户操作)

2.Matter Server 发出指令:“把灯泡亮度调到 80%”(应用层控制指令)。

3.OTBR 接收到该 IPv6 指令,将其封装为面向 Thread 网络的数据包,并计算出目标灯泡在 Thread 网络中的物理路径(网络层路由)。

4.SkyConnect 收到 OTBR 传来的数据,转换为 2.4GHz 无线电信号发射出去,灯泡接收后亮起(物理层发射)。

 

 

 

 

Comments


Comments are closed