zigpyは、 Zigbee標準仕様を Python 3 ライブラリとして実装する、ハードウェアに依存しないZigbee プロトコル スタック統合プロジェクトです。
zigpy による Zigbee 統合により、zigpy と互換性のある利用可能な Zigbee 無線ライブラリ モジュールの 1 つを使用して、多くの既製の Zigbee コーディネーター アダプタの 1 つを接続し、Zigbee ベースのデバイスを制御できます。現在、バイナリ センサー (モーション センサーやドア センサーなど)、センサー (温度センサーなど)、ライト、スイッチ、ボタン、カバー、ファン、環境制御装置、ロック、侵入者警報システムなどの Zigbee デバイス タイプの制御がサポートされています。デバイス。 Zigbee Green Power デバイスは現在サポートされていないことに注意してください。
Zigbee スタックとさまざまなハードウェア チップ メーカーのハードウェアは、独自の通信プロトコルを zigpy のすべての無線ライブラリ間で共有される共通 API に変換する無線ライブラリを介してサポートされます。他のメーカーの Zigbee スタックまたは Zigbee コーディネーター ハードウェアがまだ zigpy でサポートされていない場合は、独立した開発者がステップアップして、独自の通信プロトコルを zigpy が理解できる共通 API に変換する zigpy 用の新しい無線ライブラリを開発することができます。 。
zigpy には、ZCL (Zigbee Cluster Library) および ZDO (Zigbee Device Object) アプリケーション状態管理を実装する共通コードが含まれており、さまざまなメーカーの無線モジュールとの実際のインターフェイスを実装するさまざまな無線ライブラリによって使用されます。個別の無線ライブラリは、異なるネイティブ UART シリアル プロトコルを使用して、USB および GPIO 経由で無線ハードウェア アダプタ/モジュールとインターフェースします。
Home Assistant の ZHA 統合コンポーネント、Domoticz の Zigbee プラグイン、および Jeedom (競合するオープンソース ホーム オートメーション ソフトウェア) の Zigbee プラグインはすべて、依存関係として zigpy ライブラリを使用しているため、必要に応じてさまざまな実装の参照として使用できます。 Zigbee ソリューションをアプリケーションに統合します。
zigpy には、Zigbee デバイス ファームウェアの Zigbee OTAU (Over-The-Air Updates) をダウンロードして実行する機能があります。 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 ライブラリに直接的または間接的に依存する他の関連プロジェクトへのリンクも含まれています。
このプロジェクトには、エンドユーザー、テスター (建設的な問題やバグレポートを提供する上級ユーザー)、またはコードを提供する開発者として貢献できます。
zigpy の無線ライブラリは、独自のリポジトリを持つ別個のプロジェクトであり、 bellows (Silicon Labs EmberZNet ベースの無線との通信用)、 zigpy-deconz (Dresden Elektronik の deCONZ ベースの無線との通信用)、およびzigpy-xbee (XBee ベースの無線との通信用) が含まれています。 Zigbee 無線)、ZiGate ベースの無線と通信するためのzigpy-zigate 、Z-Stack ZNP コーディネータ ファームウェアを備えた Texas Instruments ベースの無線と通信するためのzigpy-znpまたはzigpy-cc 。
注記! zigpy で Zigbee 3.0 がサポートされるかどうかは、主に Zigbee コーディネーター ハードウェアとそのファームウェアに依存します。一部の Zigbee コーディネーター ハードウェアは Zigbee 3.0 をサポートしていますが、サポートしていない古いファームウェアが付属している場合があります。その場合は、ファームウェアを手動でアップグレードする必要がある場合があります。他の一部の Zigbee コーディネーター ハードウェアは、Zigbee 3.0 に対応するファームウェアをまったくサポートしていない可能性がありますが、それでも完全に機能し、ニーズに合わせて完全な機能を提供できます (これは、ほとんどではないにしても多くの Zigbee デバイスがまだ Zigbee 3.0 をサポートしていないか、または Zigbee 3.0 をサポートしているため、非常に一般的です) Zigbee コーディネーター ハードウェアとそのファームウェアでサポートされている Zigbee プロファイルとの下位互換性があります)。原則として、リリースされた新しい Zigbee コーディネーター ハードウェアは通常、Zigbee 3.0 ファームウェアをサポートでき、そのようなファームウェアを利用できるようにするかどうかはメーカー次第です。
タグ付きバージョンの新しいパッケージも、PyPI の「zigpy」プロジェクト経由でリリースされます。
タグ付きバージョンの古いパッケージは、PyPI の「zigpy-homeassistant」プロジェクトで引き続き入手できます。
ラジオ ライブラリのタグ付きバージョンのパッケージは、PyPI 上の別のプロジェクトを通じてリリースされます。