跳转到主要内容

实现Zigbee协议栈的库

项目描述

zigpy

Build Coverage Status

zigpy 是一个硬件独立的 Zigbee协议栈 集成项目,旨在将 Zigbee 标准规范实现为一个Python 3库。

通过zigpy集成Zigbee,您可以使用与zigpy兼容的Zigbee无线库模块连接多种现成的Zigbee协调器适配器,从而控制基于Zigbee的设备。目前支持控制二进制传感器(例如,运动和门传感器)、传感器(例如,温度传感器)、灯光、开关、按钮、盖子、风扇、气候控制设备、锁和入侵报警系统设备。请注意,Zigbee Green Power设备目前不支持。

许多不同的硬件芯片制造商的Zigbee堆栈和硬件通过无线库支持,这些库将它们的专用通信协议转换为公共API,该API被所有zigpy无线库共享。如果某些Zigbee堆栈或其他制造商的Zigbee协调器硬件目前尚未由zigpy支持,任何独立开发者都可以积极开发新的无线库,将专有通信协议转换为zigpy可以理解的公共API。

zigpy包含通用代码,实现了ZCL(Zigbee Cluster Library)和ZDO(Zigbee Device Object)应用程序状态管理,这些代码被各种无线库使用,这些无线库与不同制造商的无线电模块的实际接口。单独的无线库通过USB和GPIO使用不同的本地UART串行协议与无线电硬件适配器/模块接口。

Home Assistant的ZHA集成组件Domoticz的Zigbee插件Jeedom的Zigbee插件(竞争开源家庭自动化软件)都使用zigpy库作为依赖项,因此它们可以作为将Zigbee解决方案集成到您的应用程序中的不同实现方式的参考。

Zigbee设备OTA更新

zigpy具有下载和执行Zigbee OTAU(空中更新)的Zigbee设备固件的能力。Zigbee OTA更新固件映像文件应遵循标准Zigbee OTA格式,并且OTA提供者源URL需要公开发布。还支持从本地OTA更新目录进行更新,如果用户提供正确的Zigbee OTA格式固件文件,则可以将其用作离线固件更新的选项。

在zigpy OTA提供者代码中,目前只能从现有的在线OTA提供者自动下载IKEA、Inovelli、LEDVANCE/OSRAM、SALUS/Computime和SONOFF/ITEAD设备的支持。将来,如果设备制造商公开其固件映像,并且开发者为它们贡献所需的下载代码,则可以将其他制造商设备的附加OTA提供者支持添加到zigpy中。

如何安装和测试、报告错误或为此项目做出贡献

有关如何安装和测试zigpy或向此项目贡献错误报告和代码的特定说明,请参阅CONTRIBUTING.md文件中的指南。

此CONTRIBUTING.md文件将包含有关使用zigpy、测试新版本、故障排除和错误报告的信息,以及库和代码说明,适用于开发人员以及更多内容。此文件还包含简短摘要和链接到其他直接或间接依赖于zigpy库的相关项目。

您可以通过作为最终用户、测试员(贡献建设性问题/错误报告的高级用户)或开发者(贡献代码的开发者)来为此项目做出贡献。

兼容的Zigbee协调器硬件

zigpy 的无线电库是独立的工程项目,拥有自己的代码库,包括以下库:bellows(用于与基于Silicon Labs EmberZNet的无线电通信),zigpy-deconz(用于与Dresden Elektronik的deCONZ基于的无线电通信),zigpy-xbee(用于与基于XBee的Zigbee无线电通信),zigpy-zigate(用于与基于ZiGate的无线电通信),zigpy-znpzigpy-cc(用于与基于Texas Instruments且具有Z-Stack ZNP协调器固件的无线电通信)。

注意!zigpy对Zigbee 3.0的支持与否主要取决于你的Zigbee协调器硬件及其固件。某些Zigbee协调器硬件支持Zigbee 3.0,但可能配备的是较旧的固件,不支持Zigbee 3.0,这种情况下可能需要手动升级固件。还有一些Zigbee协调器硬件可能不支持具有Zigbee 3.0功能的固件,但仍然可以满足你的需求并具有完整的功能(这非常常见,因为许多Zigbee设备尚未支持Zigbee 3.0或与你的Zigbee协调器硬件和固件支持的Zigbee配置文件向后兼容)。一般来说,较新的Zigbee协调器硬件可以支持Zigbee 3.0固件,这取决于制造商是否提供这样的固件。

兼容的zigpy无线电库

  • Digi XBee 基于的Zigbee无线电通过zigpy的zigpy-xbee库。
  • dresden elektronik 基于的deCONZ Zigbee无线电通过zigpy的zigpy-deconz库。
  • Silicon Labs(EmberZNet)基于的Zigbee无线电使用EZSP协议通过zigpy的bellows库。
  • Texas Instruments 基于的Zigbee无线电,使用所有兼容的Z-Stack固件通过zigpy的zigpy-znp库。
  • ZiGate 基于的ZigBee无线电通过zigpy的zigpy-zigate库。

过时或废弃的zigpy无线电库

  • 使用Z-Stack旧版固件的Texas Instruments通过zigpy的zigpy-cc库。

通过PyPI提供的发布包

标记版本的新的包也通过PyPI上的"zigpy"项目发布

标记版本的旧包仍然可在PyPI上的"zigpy-homeassistant"项目中找到

无线电库的标记版本包通过PyPI上的单独项目发布

项目详细信息


发布历史 发布通知 | RSS订阅

下载文件

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

源分布

zigpy-0.67.0.tar.gz (272.9 kB 查看哈希值)

上传时间

构建分布

zigpy-0.67.0-py3-none-any.whl (217.3 kB 查看哈希值)

上传时间 Python 3

支持