ベンダーのブリッジやゲートウェイなしでZigbee デバイスを使用できるようにします。
イベントをブリッジし、MQTT 経由で Zigbee デバイスを制御できるようにします。このようにして、Zigbee デバイスを使用しているスマート ホーム インフラストラクチャと統合できます。
ドキュメントには、起動して実行するために必要なすべての情報が記載されています。初めてアクセスする場合は、重要な詳細が記載されている可能性があるため、セクションをスキップしないようにしてください。
Zigbee の用語に詳しくない場合は、必ずこれを読んでください。
Zigbee2MQTT は MQTT を使用するため、(ほぼ) すべてのホーム オートメーション ソリューションとうまく統合できます。ただし、次の統合については言及する価値があります。
Zigbee2MQTT は 3 つのモジュールで構成されており、それぞれが独自の Github プロジェクトで開発されました。ハードウェア (アダプター) から始まり、上に進みます。 zigbee-herdsman は Zigbee アダプターに接続し、スタックの上位レベルで API を使用できるようにします。たとえば、Texas Instruments ハードウェアの場合、zigbee-herdsman は TI zStack モニタリングおよびテスト API を使用してアダプターと通信します。 Zigbee-herdsman は、コアとなる Zigbee 通信を処理します。モジュール zigbee-herdsman-converters は、個々のデバイス モデルからサポートされる Zigbee クラスターへのマッピングを処理します。 Zigbee クラスターは、基本プロトコルの上にある Zigbee プロトコルのレイヤーであり、ライト、センサー、スイッチが Zigbee ネットワーク上で相互に通信する方法などを定義します。最後に、Zigbee2MQTT モジュールは zigbee-herdsman を駆動し、zigbee メッセージを MQTT メッセージにマップします。 Zigbee2MQTT はシステムの状態も追跡します。この状態は、 database.db
ファイルを使用して保存されます。接続されたデバイスとその機能の JSON データベースを含むテキスト ファイル。 Zigbee2MQTT は、監視と構成を可能にする Web ベースのインターフェイスを提供します。
Zigbee2MQTT は TypeScript を使用します (現時点では部分的に)。したがって、 lib/
ディレクトリ内のファイルに変更を加えた後、Zigbee2MQTT を再コンパイルする必要があります。これは、 npm run build
実行することで実行できます。開発を高速化するには、 npm run build
実行する代わりに、別のターミナル セッションでnpm run build-watch
実行できます。これにより、ファイルを変更すると再コンパイルされます。ビルドする前に初めて、 npm install --include=dev
実行する必要があります。 変更を送信する前に、 npm run test-with-coverage
、 npm run pretty:check
、およびnpm run eslint
実行します。
お使いのデバイスがサポートされているかどうかを確認するには、「サポートされているデバイス」を参照してください。 Xiaomi、Ikea、Philips、OSRAM などのベンダーのデバイスを含む、非常に広範なリストがあります。
サポートされているデバイスにリストされていない場合は、サポートを (かなり) 簡単に追加できます。「新しいデバイスをサポートする方法」を参照してください。
サポートが必要な場合は、未解決の問題を確認できます。問題を修正したり、新しいデバイスを追加したり、ソーシャル メディアで愛を共有したりできた場合は、遠慮なくプル リクエストに協力してください。