Python Matter服务器技术文档
本文档旨在提供全面指导,帮助您安装并高效使用Python Matter Server,这是一个基于WebSockets实现的Matter(原CHIP)控制器服务器项目,兼容Home Assistant及其他平台。通过详细的步骤和示例,我们涵盖安装、基本使用、API交互以及容器运行的方式。
安装指南
对于Home Assistant用户
推荐使用Home Assistant OS,搭配官方的Matter Server插件。Matter集成将自动安装该插件。详细安装步骤请参考Home Assistant Matter整合文档。这种组合经过测试优化,适用于Matter和支持Thread设备的环境。
自托管容器安装
若选择自定义管理,可以使用官方镜像:
- 确保满足通信需求,特别是对于Wi-Fi/以太网设备需要主机网络,并且主机接口需支持IPv6。
- Thread设备配置涉及复杂的网络设置,确保IPv6路由正确配置。
- 运行命令以启动容器,例如:
mkdir 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
使用Docker Compose则更简化:
docker-compose up -d
docker-compose logs -f
项目的使用说明
Python Matter Server集成到Home Assistant后,其使用主要是通过Matter设备的添加与管理。对于其他应用场合,遵循WebSocket API进行交互。
项目API使用文档
常用WebSocket命令
-
设置WiFi凭证
{ "message_id": "1", "command": "set_wifi_credentials", "args": {"ssid": "您的WiFi名","credentials": "密码"} } -
设置Thread数据集
{ "message_id": "1", "command": "set_thread_dataset", "args": {"dataset": "线程网络凭证"} } -
通过代码配对
{ "message_id": "2", "command": "commission_with_code", "args": {"code": "MT:配对码"} } -
其他如打开配对窗口、获取已配对节点等操作,请参照具体命令格式执行。
发送设备命令示例
以控制开关为例:
import json
from chip.clusters.Objects import clusters
from matter_server.common.helpers.util import dataclass_from_dict, dataclass_to_dict
# 创建开启命令
command = clusters.OnOff.Commands.On()
payload = dataclass_to_dict(command)
message = {
"message_id": "control-command",
"command": "device_command",
"args": {
"endpoint_id": 1, "node_id": 1, "payload": payload,
"cluster_id": 6, "command_name": "On"
}
}
print(json.dumps(message, indent=2))
结论
Python Matter Server提供了强大的智能家居设备管理功能,尤其适合Home Assistant生态系统。通过遵守上述指南,您可以顺利地在不同场景下部署和使用此服务,享受无缝集成和控制现代智能设备的便利。请记得,随着项目的发展,持续关注最新的更新和技术文档,以便充分利用其最新特性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



