Smdn.TPSmartHomeDevicesは、TP-Link製スマートホーム製品を操作するためのライブラリです。 マルチカラースマートLEDランプL530や、スマートWi-FiプラグP110Mなどに対して、デバイスのオン・オフ、状態の設定・取得などの操作を、.NETコードから行うことができます。

本ライブラリでは接続とセッションの管理、自動的な再接続、および典型的なエラーへの対処やリトライ処理を組み込んでいるため、多くの場合でデバイスへの要求を行うコードの記述のみに注力できます。 また、MACアドレスでのデバイスへの接続にも対応しているので、DHCP環境での使用にも対応できます。 バージョン2.0.0以降では、2023年夏以降に導入された新しいファームウェアにも対応しています。

Smdn.TPSmartHomeDevices.Tapo is released under the GPLv3. Smdn.TPSmartHomeDevices.TapoGPLv3でリリースされています。

Smdn.TPSmartHomeDevices.Kasa is released under the MIT License. Smdn.TPSmartHomeDevices.KasaMITライセンスでリリースされています。

ライセンスについての詳細は、GitHubリポジトリのLicenseのセクションをご覧ください。

本プロジェクトは、TP-Linkとは無関係の非公式なものです。

本プロジェクトが提供するソフトウェアは、デバイスの設定の取得・変更等、製品仕様の範囲内での操作のみを行うものであり、ファームウェアの改変・修正および製品の改造や製品仕様の変更を引き起こさないものの、製品使用上の許諾事項に抵触する可能性は否定できないため、使用の際はその点にご留意ください。

最近のリリース一覧

すべてのリリースと変更内容の詳細はGitHubリポジトリのReleasesをご覧ください。

使用例

以下はマルチカラースマートLEDランプL530の色温度・明るさを設定する例です。 パッケージ参照Smdn.TPSmartHomeDevices.Tapoをプロジェクトに追加してください。

L530の色温度と明るさを設定する例
using Smdn.TPSmartHomeDevices.Tapo;

// マルチカラースマートLEDランプ・L530を操作するためのデバイスコントローラを作成します
// デバイスのIPアドレス、Tapoアカウントのメールアドレス・パスワードを指定してください
using var bulb = new L530("192.0.2.1", "user@mail.test", "password");

// L530をオンにし、色温度および明るさを設定します
await bulb.SetColorTemperatureAsync(colorTemperature: 5500, brightness: 80);

他のデバイスの例や、ほかのライブラリ機能などについては、リポジトリのREADMEおよびexamplesを参照してください。

リポジトリ

ソースコードの参照・入手はGitHub smdn/Smdn.TPSmartHomeDevicesにて行えます。

NuGetパッケージ

Tapoデバイスを使用する場合はSmdn.TPSmartHomeDevices.Tapo、Kasaデバイスを使用する場合はSmdn.TPSmartHomeDevices.Kasaをパッケージ参照に追加してください。

MACアドレスを使ったデバイス接続などの機能を使用したい場合は、Smdn.TPSmartHomeDevices.MacAddressEndPointをオプションで追加できます。

不具合・要望・質問・その他貢献等

本ライブラリでは様々な貢献を受け付けています。

GitHubのIssuesおよびPull requestsにて不具合の報告・修正・機能の提案・要望などを受け付けています。

現在未サポートのデバイスや、デバイスの機能の追加、その他の改善などのほか、READMEやドキュメント・コードのコメントなどにおける英文の添削も歓迎します。

Issues/Pull Requestを送る際は、Contribution guidelinesをご一読ください。

関連

Smdn.Net.AddressResolution
MACアドレスを使用したアドレス解決に使用しているライブラリ
TPLinkKasaClient
本ライブラリの前身となったC#実装