TP-Link のスマートプラグ「Tapo P105」も,初期設定さえ済ませておけば,外部ネットワークのサービスを使わずにローカルネットワーク用の制御ツールで On/Off 制御できました.

Pocket

 


 

 

TP-Link のスマートプラグ「Tapo P105」を購入しました.
初期設定さえ済ませておけば,これも HS105 と同様に,外部ネットワークのサービスを使わずにローカルネットワーク用の制御ツールで On/Off 制御できました.
ただ,制御ツールが実行時に外部ネットワークサービス用 TP-Link ID のアカウントとパスワードを必要としているので,もしかしたら,外部ネットワーク接続は完全には不要になっていないのかもしれません.このあたりは,私は調べていません.

初期設定を行うときに,HS105用の Kesa アプリと違い,Tapo P105用の Tapo アプリは TP-Link ID でのログインが必須でしたので,購入直後のまっさらな状態から外部ネットワーク接続をまったくせずに On/Off 制御するのは無理のように思いました.
おそらくは,セキュリティ対策の一環なのだろうと想像しています.

 

HS105 のときと違い,Tapo P105 をローカルネットワーク用の制御ツールで On/Off 制御できるようになるまで少し手こずったので,未来の自分のためにメモを書き置いておきます.

肝は,

o TP-Link ID のパスワードの長さを 8文字以内にしないと制御できない

o 本家の制御ツール PyP100 だと動作不安定なので,それを fork して改良された PyP100 を使う

です.これらさえ押さえておけば,ここから下の文章は読む必要はありません.ここから下の文章は,試行錯誤のメモ,事の経緯,です.

 

それと,PyP100 を利用した Tapo P105 の現在の On/Off 状態の取得は,

stat = p105.getDeviceInfo()
on_off = json.loads(stat)['result']['device_on']

とし,on_off が True なら On,False なら Off という方法で行えるようです.
これは PyP100 のドキュメントに書かれていないのですが,たぶん間違っていないでしょう.
実際に実行して確認した範囲では,正しく取得できました.

 

「Error code 1501: Passwords must not exceed 8 characters · Issue #4 · fishbigger/TapoP100」
https://github.com/fishbigger/TapoP100/issues/4

 

本家の制御ツール PyP100:
「fishbigger/TapoP100: A module for controlling the TP-Link Tapo P100 Plugs」
https://github.com/fishbigger/TapoP100

 

fork して改良された PyP100:
「2729-gumi/TapoP100: A module for controlling the TP-Link Tapo P100 Plugs」
https://github.com/2729-gumi/TapoP100

 

 

 

0.
自分のところで動作実績のある HS105 を購入しようと思っていたのですが,この製品はもう「生産完了」状態なので購入できません.なんてこったー.
TP-Link の Webサイトを見ると Tapo P105 しか載っていないので,以前は購入を避けたこれを買うしかありません.なんてこったー.
探せばまだ HS105 を販売しているところはありますが,生産完了品を探し求めて使うよりは,現行製品を試行錯誤して使えるようになったほうがよさそうです.

なお,負荷耐圧は,

HS105 は 14A
https://www.tp-link.com/jp/home-networking/smart-plug/hs105/#specifications

Tapo P105 は 10A
https://www.tp-link.com/jp/home-networking/smart-plug/tapo-p105/#specifications

でした.4A も小さくなっているけれど,大丈夫かなぁ… .まぁ,大丈夫でしょう.

 

1.
TP-Link が提供している HS105 用のアプリ「Kesa」では Tapo P105 は認識されませんでした.
アプリからデバイスを探しに行っても,「何も見つからない」という結果でした.

 

2.
初期設定をしないと何もできないので,TP-Link が提供している Tapo P105 用のアプリ「Tapo」を使って初期設定をします.私は Android 用のアプリを使いました.

Kesa と違って,TP-Link ID によるログイン(または TP-Link ID 作成)はスキップできず,必須でした.

TP-Link ID 作成のとき,パスワードとして 8文字を超える長さのパスワードを設定することもできますが,それをしてしまうと,後述する制御ツールからはなぜか制御できなくなるので,8文字以内に抑える必要があります.
ID 作成時に 8文字を超える長さに設定してしまったときは,あとから 8文字以下に変更しても大丈夫です.パスワードの変更は Tapoアプリ経由でできます.

「Error code 1501: Passwords must not exceed 8 characters · Issue #4 · fishbigger/TapoP100」
https://github.com/fishbigger/TapoP100/issues/4

なお,Tapo アプリから On/Off 制御するときは,8文字を超える長さのパスワードに設定していても問題なく制御できました.

 

3.
HS105 を制御できたツールでは,Tapo P105 は制御できませんでした.
エラーコードが返ってくるだけです.

 

4.
Tapo P105 を制御するツールとしては,PyP100 が有名で定番のようですので,これを使います.

PyP100 を使うときは,TP-Link ID のパスワードの長さを 8文字以内にする必要があります.
8文字を超える長さのパスワードを設定してあると,login() にほぼ間違いなく失敗します.

TP-Link ID 作成時に 8文字を超える長さに設定してしまったときは,あとから 8文字以下に変更しても大丈夫です.パスワードの変更は Tapoアプリ経由でできます.

この制限が何に起因する制限なのかは,私には読み取れませんでした.

 

「fishbigger/TapoP100: A module for controlling the TP-Link Tapo P100 Plugs」
https://github.com/fishbigger/TapoP100

 

「Error code 1501: Passwords must not exceed 8 characters · Issue #4 · fishbigger/TapoP100」
https://github.com/fishbigger/TapoP100/issues/4

 

5.
本家の制御ツール PyP100 だと,制御できるときもあるのですが,大部分は Exception が発生してしまって制御できないまま終了してしまいます.かなり動作不安定です.
Exception を catch してリトライすることも考えましたが,それよりも,本家 PyP100 を fork して Tapo P105 用に改良された PyP100 を使うほうがよさそうです.
実際に試してみると,こちらのほうは安定的に制御できました.

本家と fork との違いは,login() に成功したあとに

p105.getMacAddress() # Get MacAddress and Set terminalUUID

getMacAddress() を実行していることですね.
ソースコードを見ると, PyP100.P100() で作成したオブジェクトの terminalUUID 属性に,取得した MACアドレスを設定しています.コメントに書かれているとおりです.
この情報が,turnOn(), turnOff() を安定的に実行するために必要な情報のようです.

 

余談.

PyP100 を利用した Tapo P105 の現在の On/Off 状態の取得は,

stat = p105.getDeviceInfo()
on_off = json.loads(stat)['result']['device_on']

とし,on_off が True なら On,False なら Off という方法で行えるようです.
これは PyP100 のドキュメントに書かれていないのですが,たぶん間違っていないでしょう.
実際に実行して確認した範囲では,正しく取得できました.

 

 

 

 

ということで,Tapo P105 もローカルネットワーク用の制御ツールで On/Off 制御できました.
動作レスポンスも,割とよいです.HS105 と比べても遜色ありません.
Wi-Fi 電波の受信感度も,ルーター再起動後の自動再接続も良好です.

On/Off 制御できるようになったので,ASUS ROG Zephyrus の ACアダプタ On/Off 制御に使うんだー.
この ACアダプタは 240W も消費電力があるので,普段は消費電力の小さい Thunderbolt 給電にして ACアダプタは切っておきたい.
当面は手動で制御ツールを動かして On/Off するけれど,バッテリーの充電容量を監視して自動的に On/Off できるようにしたいなぁ.

 

 

 

==

 

2021年1月21日
リレーシールドの端子台を焦げ溶かしてしまったので,その代わりに TP-Link HS105 を使うことにしました.いまのところ,焦げ溶けるような気配はありません.問題なく稼働していて,しかも快適です!
https://noike.info/wp/knoike/2021/01/21/83729/

 

2020年12月15日
セラミックヒーターの電源も,ネットワーク越しに On/Off 制御できるようにしました.こたつ,扇風機,セラミックヒーターの電源を数分おきに On/Off し続けていますが,いまのところ,問題なく稼働しています.
https://noike.info/wp/knoike/2020/12/15/83551/

 

2020年4月5日
XPort を利用した「家電の電源のネットワーク越し操作環境」をうっかり壊してしまったので,IoT Express MkII とリレーシールドを使って作り直しました.1週間くらい稼働させていますが,とりあえず,問題なく動いています.
https://noike.info/wp/knoike/2020/04/05/82727/

 

2019年4月24日
「家電の電源のネットワーク越し操作環境」を復活させるときに,ネットワークの有線ポートが足りなかったので 1000BASE-T のスイッチングハブを購入した.いまの時代は,5ポートなら 1500円~2000円くらいで買えてしまうのですね.
https://noike.info/wp/knoike/2019/04/24/81549/

 

2019年4月23日
XPort を利用した「家電の電源のネットワーク越し操作環境」を復活させた.いま操作できるのは,「扇風機」と「こたつ」.
https://noike.info/wp/knoike/2019/04/23/81531/

 

2009年11月10日
ごもっともです.
http://knoike.seesaa.net/article/152841511.html

 

2008年08月11日
家電の電源をネットワーク越しに操作できるようにした(主なソース・コード)
http://knoike.seesaa.net/article/152835041.html

 

2008年08月11日
ColdFire で,これをやるとしたら
http://knoike.seesaa.net/article/152835043.html

 

2008年08月11日
家電の電源をネットワーク越しに操作できるようにした
http://knoike.seesaa.net/article/152835044.html

 

 

 

Pocket

ロジクールのワイヤレスマウス「G603」は,「私の使い方なら,3800mAh(充電式電池 2本)で 3か月くらい持つ」ことがわかった.

Pocket

 

2022年9月3日に,ロジクールのワイヤレスマウス「G603」の充電式電池を交換した.
この東芝の充電式電池は 1900mAh/本らしいので,
「私の使い方なら,3800mAh(充電式電池 2本)で 3か月くらい持つ」
ことがわかった.

このマウス,電池持ちがいいなぁ,すばらしいなぁ.

 

 

 


 

 

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

東芝 充電池 単3形 4本パック TNH-3ME(WB)(4本入)
価格:1137円(税込、送料別) (2022/9/16時点)


 

 

 

==

 

2022年5月22日
ロジクールのワイヤレスマウス「G603」の電池を交換した.このマウス,ものすごく電池持ちがいいなー.添付されていた電池が 5か月以上も持った.すばらしい.
https://noike.info/wp/knoike/2022/05/22/84689/

 

2022年2月17日
エレコム のマウス,「握りの極み」シリーズの「M-XGL10DBSBK」が私には合わなかったので,ざくをさんに勧めていただいたロジクールのゲーミングマウス「G603」を購入しました. 購入したのは 2021年12月 1日.これはいい! すばらしいー.
https://noike.info/wp/knoike/2022/02/17/84612/

 

 

 

Pocket