跳转到主要内容

实现ZHA的Home Assistant库

项目描述

Zigbee家庭自动化 (ZHA)

CI Coverage Status python pre-commit PyPI version License: Apache 2.0

ZHA是一种通用且硬件独立的Zigbee网关实现,旨在替代专有Zigbee网关、桥接器、集线器和控制器。使用ZHA,您可以创建一个统一的Zigbee网络,使您能够轻松配对并连接各种基于Zigbee的设备,以实现家庭自动化和照明。

主要功能

  • 硬件独立性: ZHA不受任何特定硬件的限制,让您可以根据需要选择最佳的Zigbee射频。
  • 兼容性: ZHA支持大量基于Zigbee的设备,确保与流行的家庭自动化和照明解决方案无缝集成。
  • 统一的Zigbee网络: 通过使用ZHA,您可以建立一个单一的Zigbee网络,简化设备管理并提高互操作性。
  • 低带宽通信: Zigbee在低带宽通信协议上运行,使用小型、低功耗数字射频连接本地Zigbee无线专用区域网络中的设备。

开始开发

要为ZHA建立开发环境,请按照以下步骤操作

  1. zigpy组织克隆项目

    git clone https://github.com/zigpy/zha.git
    
  2. 导航到script目录

    cd zha/script
    
  3. 运行设置脚本以安装必要的依赖项

    ./setup
    

    设置脚本设置了一个虚拟环境,安装必要的包和依赖项,并为项目配置了pre-commit钩子。它有助于确保项目的一致性和可控的开发环境,节省您的时间和精力。

    脚本概述

    位于zha/script目录中的setup脚本执行以下操作

    • curl -LsSf https://astral.sh/uv/install.sh | sh:此命令使用curl从指定的URL(https://astral.sh/uv/install.sh)下载一个shell脚本,并将其通过管道传递给sh命令来执行。此脚本负责安装名为“uv”(代表“通用virtualenv”)的工具,该工具有助于管理Python虚拟环境。

    • uv venv venv:此命令使用“uv”工具在当前目录中创建一个名为“venv”的新Python虚拟环境。虚拟环境是一个独立的Python环境,允许您安装针对项目特定的包和依赖项,而不会影响全局Python安装。

    • . venv/bin/activate:此命令激活新创建的虚拟环境。当激活虚拟环境时,任何随后的Python相关命令都将使用该环境中安装的Python解释器和包。

    • uv pip install -U pip setuptools pre-commit:此命令使用“uv”工具升级“pip”包管理器,以及安装或升级“setuptools”和“pre-commit”包。“pip”是Python的默认包管理器,“setuptools”是一个库,它有助于打包Python项目,“pre-commit”是一个用于在Git仓库中管理和强制执行pre-commit钩子的工具。

    • uv pip install -r requirements_test.txt:此命令使用“uv”工具安装“requirements_test.txt”文件中列出的Python包。此文件通常包含项目运行测试所需的依赖项列表。

    • uv pip install -e .:此命令使用“uv”工具以可编辑模式安装项目本身。点号(.)表示当前目录,因此此命令将项目作为包安装到虚拟环境中。

    • pre-commit install:此命令为项目安装Git pre-commit钩子。pre-commit钩子是在Git仓库中每次提交之前运行的脚本,允许您在提交更改之前执行某些检查或操作。

许可证

ZHA采用Apache 2.0许可证发布。有关更多详细信息,请参阅LICENSE文件。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪一个,请了解有关安装包的更多信息。

源分发

zha-0.0.34.tar.gz (222.5 kB 查看散列值)

上传时间

构建分发

zha-0.0.34-py3-none-any.whl (174.7 kB 查看哈希值)

上传时间 Python 3

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面