Skip to main content

Python 事务 WebSocket 服务器

项目描述

Python 事务服务器

该项目使用 WebSockets 实现了一个 Matter(以前的 Home Assistant Connected Home over IP 或 CHIP)控制器服务器。

:warning: 这是正在开发中,处于非常早期的阶段!

用法

使用 Supervisor 插件使用 Matter Server 是推荐的路径(待定)。

发展

Home Assistant Matter Server 使用开源Matter/Project CHIP 存储库的 Python CHIP 控制器部分。该项目提供了一个基于 IPython 的 REPL 用于测试/探索。REPL 也可用作Python CHIP 控制器 REPL 附加组件

为 Matter Server 准备 venv

这个 Python Matter Server 需要 CHIP Controller Python 库。CHIP 控制器 Python 库随附完整的 Matter SDK(CHIP 堆栈)作为本机 C++ 库。CHIP 控制器 Python 在 pip 上不可用,并且因为它带有本机 C++ 库,所以它是一个依赖于平台的库。Matter SDK 允许为您的平台构建 Python 轮子。

要构建 Python CHIP 控制器,请遵循docs/guides/python_chip_controller_building.md中提供的构建说明。

注意基本命令是scripts/build_python.sh -m platform -i separate. 它在 中构建库out/python_lib/,并在 中为您创建一个 venv out/python_env/。如果您更新了 Matter SDK git 存储库,请确保再次运行此命令以重建库。

如果您之前已经编译了 CHIP 控制器 Python 库,您可以使用以下方法激活 Python 虚拟环境:

source ../connectedhomeip/out/python_env/bin/activate

注意:基于 Apple M1 的系统存在一个错误:Pigweed 目前通过 Rosetta 使用 Python x86-64。这在尝试构建 Python CHIP 控制器时会导致问题。GitHub 问题 #19134中记录了一些解决方法。确保不要-i separate单独使用和设置 venv。

从源代码树运行

服务器需要在安装了 Python CHIP 控制器的 Python 环境中运行。例如

还要确保存在默认存储位置:

mkdir $HOME/.chip-storage/

使用以下命令,可以直接从源代码树运行服务器。

python3 -m matter_server.server

在 macOS 上,您必须使用“sudo”运行上述命令,因为它需要与 BLE 交互。

在 Linux 上,确保蓝牙 (bluez) 处于活动状态并已启用,然后再开始载入。

客户端不需要在 Python CHIP Controller 环境中运行。它可以使用以下命令从源代码树运行:

python3 -m matter_server.client

构建和安装

一旦你有一个工作的 Python CHIP 控制器 Python 环境,切换到这个存储库并安装这个项目,如下所示:

pip install .

创建测试设备

可以在此处找到有关如何创建测试设备的说明。

在 Home Assistant 中安装自定义组件

在您的家庭助理开发环境中。

pip3 install -e ../python-matter-server
cd config
mkdir custom_components
cd custom_components
ln -sf ../../../python-matter-server/custom_components/matter_experimental .

您现在可以通过 UI 添加自定义组件。它被称为物质(实验性):

打开您的 Home Assistant 实例并开始设置新的集成。

调试测试设备

您可以使用 Home Assistant 服务来调试测试设备。

打开您的 Home Assistant 实例并显示您的服务开发人员工具。

每次服务器重新启动时,您都需要通过该matter_experimental.set_wifi服务向其提供您的 Wi-Fi 凭据,以便能够载入 Wi-Fi 设备。

完成后,您可以通过将 QR 码的内容发送到matter_experimental.commission服务来载入设备。通过Matter REPL从您的测试设备获取二维码。

使用 Python CHIP REPL

Matter 提供了自己的 REPL,允许您直接与设备控制器进行交互。可以启动它并让它使用与服务器相同的存储:

chip-repl --storagepath=$HOME/.chip-storage/python-kv.json

在 MacO 上,您必须使用 'sudo' 运行上述命令,因为它需要与 BLE 交互。

部署新版本

  1. pyproject.toml使用新版本更新 Matter Server PyPI 包。
  2. manifest.json使用新版本更新自定义集成requirementsversion.
  3. 使用新版本标记此存储库中的新版本。

更新物质服务器附加组件

  1. 通过MATTER_SERVER_VERSIONDockerfile
  2. 插入附加版本config.yaml
  3. 在变更日志中为新的附加版本添加新条目CHANGELOG.md

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

python-matter-server-0.3.0.tar.gz (97.7 kB 查看哈希)

已上传 source

内置分布

python_matter_server-0.3.0-py3-none-any.whl (109.2 kB 查看哈希

已上传 py3