このプロジェクトについて

python-miioは、miIOおよびMIoTプロトコルを使用するXiaomiスマート家電を制御するための、コミュニティ主導のPythonライブラリおよび付属のコマンドラインツールmiiocliです。Xiaomiや、サポートするデバイスのベンダーとは提携していません。 インストールはpip(python-miio)経由、または開発版の場合はGitHubリポジトリから行います。READMEには進行中のリファクタリング作業が記載されており、バージョン0.6.0がリリースされるまでは、最新のMIoTデバイスを制御するためにgit版またはプレリリース版を推奨しています。 はじめに:miiocliは、IPアドレスとトークンがあればサポート対象デバイスを制御できます。トークンは、miiocli cloudコマンド(micloudライブラリを使用)でXiaomiクラウドアカウントから取得するか、その他の文書化された方法で取得できます。汎用のinfoコマンドは、モデル、ハードウェアおよびファームウェアのバージョン、サポートされている統合クラス、および制御に使用する正確なコマンドを報告します。 最新のMIoTデバイスは、genericmiot統合によって処理されます。これは、デバイスモデルの仕様ファイルをダウンロードしてキャッシュし、センサー、設定、アクションを検出します。一般的なコマンドには、status(状態と読み書き設定で受け入れられる値を表示)、set(名前で設定を変更)、actions(利用可能なアクションを一覧表示)、call(アクションを実行)があります。 古いmiIOデバイスは、roborockvacuumやfanなどのデバイスごとのモジュールを通じてサポートされ、各モジュールは独自のサブコマンドを公開します。モデル検出は自動ですが、クラウド接続が利用できない場合は--modelフラグで上書きできます。 トラブルシューティングのサポートには、ログの詳細度を上げるための繰り返し指定可能な--debug/-dフラグ、トラブルシューティングのドキュメントセクション、GitHubのIssueとディスカッション、Matrixチャットルームが含まれます。 APIの使用法:miioモジュールがすべての機能を公開します。DeviceFactory.create(ip, token)はinfoクエリを実行してモデルを検出し、一致するデバイスクラスを構築します。デバイスクラスは、sensors()、settings()、actions()を通じてイントロスペクトできます。これらは利用可能な機能を記述する記述子オブジェクトを返しますが、まだ記述子を定義していない統合もあります。 バグ修正、機能、ドキュメントの貢献を歓迎しており、簡単な貢献ガイドが提供されています。ハードウェアを持たない開発者向けに、このプロジェクトにはコードをテストするための簡単なmiIOおよびMIoTシミュレータが同梱されています。 READMEには、幅広いサポート対象デバイスが記載されています。これには、Xiaomiロボット掃除機(Mi Robot Vacuum V1、S4、S4 MAX、S5、S5 MAX、S6 Pure、M1S、S7、および各種DreameおよびViomiモデル)、空気清浄機、加湿器、エアコン、カメラ、ゲートウェイ、プラグ、電源タップ、ランプと電球、IRリモートコントローラー、ペデスタルファン、浄水器、空気品質モニター、スピーカー、Wi-Fiリピーター、炊飯器、新鮮空気システム、Yeelightライト、ヒーター、カーテンコントローラー、食器洗い機、コーヒーメーカー、ペット用給水器などが含まれます。すべてのMIoTデバイスはgenericmiotを通じてサポートされるとされています。 Home Assistantは、いくつかのプラットフォーム(vacuum、light、fan、switch、remote、sensor、alarm control panel、device tracker)でこのライブラリを公式に使用しており、さまざまなカスタムHome Assistantコンポーネントもこれを基盤としています。言及されている関連プロジェクトには、dustcloud、Valetudo、micloud、micloudfaker、Xiaomi Cloud Tokens Extractorがあります。