スマートプラグ

Tuya Cloud expired

消費電力が確認できるGosundスマートプラグtinytuyaを使ってモニタリングをしていたのだが、気がついたら消費電力が採れなくなっていた。

調べてみるとtinytuya.OutletDeviceで

{'Error': 'Unexpected Payload from Device', 'Err': '904', 'Payload': None}

というエラーになっている状況はわかったものの、原因はピンとこない。

試しにtinytuya wizardしたところ、

yano@haswell:~$ python3 -m tinytuya wizard
TinyTuya Setup Wizard [1.13.2]
    Existing settings:
        API Key=acvwux..........p55y
        Secret=3b81eb715...................3819
        DeviceID=1826...........b47b
        Region=us
    Use existing credentials (Y/n): 
~~
Error from Tuya server: Error from Tuya Cloud: Code 28841002: '**No permissions. Your subscription to cloud development plan has expired.**'
Check DeviceID and Region
yano@haswell:~$

となった。

Tuya Cloudを使っているつもりは無いんだけどなー、とは思ったが、ここで駄々をこねても仕方がないのでSmart LifeTuya Cloudのアカウントを作り直し、Tuya Cloud 操作をやり直してLocalKeyを更新する事で、無事にtinytuya.OutletDeviceからも

{'devId': '1826...........b47b', 'dps': {'1': True, '9': 0, '18': 81, '19': 40, '20': 1008, '21': 1, '22': 735, '23': 31250, '24': 21478, '25': 970}}

という応答が返ってくるようになり、やれやれ。

スマートプラグ

大変不自然な折れ線グラフ

冷蔵庫の消費電力

Gosundのスマートプラグに置き換えて、浮いたSwitchBotプラグを4月の中旬からは冷蔵庫に移設し、アプリでモニタしたところリアルタイム値は4~140Wで遷移していたのだが、月単位の消費電力値は5~8Kwhでしかないことに気づいた。

日毎のグラフで見るとゼロの日も少なくなく「テレビだからそんなもんかと思ってたのだが、冷蔵庫なのにゼロな日があるわけないやろ」と突っ込みたくなった。

2020年から贔屓にしているSwitchBotシリーズだが、なかなか難しいなぁ。

参照

SwitchBot https://www.switchbot.jp/

Amazon.co.jp https://www.amazon.co.jp/

Wikipedia https://ja.wikipedia.org/wiki/

tinytuyaとtuyapi

消費電力が確認できるGosundスマートプラグの続報。

Python API for Tuya WiFi smart devices using a direct local area network (LAN) connection or the cloud (TuyaCloud API).

jasonacox/tinytuyaより

デバイスID'18261828c4dd57XXXXXX’とローカルキー'7e5f08badbYYYYYY’が取得できたので、クラウドではなくLAN経由に対応している(らしい)tinytuyaにトライ。

まずはpython3とtinytuyaをインストールし、"tinytuya scan"でスマートプラグのIPアドレスを調査。

yano@haswell:~$ sudo apt install python3 python3-pip
yano@haswell:~$ python3 -m pip install tinytuya
yano@haswell:~$ python3 -m tinytuya scan
TinyTuya (Tuya device scanner) [1.7.2]
Scanning on UDP ports 6666 and 6667 for devices (15 retries)...
Unknown v3.3 Device   Product ID = keyneruwsdethu7u  [Valid payload]:
    Address = 172.16.NN.MM,  Device ID = 1826182870039fXXXXXX, Local Key = ,  Version = 3.3, MAC =
    No Stats for 172.16.NN.MM: DEVICE KEY required to poll for status
Unknown v3.3 Device   Product ID = keyneruwsdethu7u  [Valid payload]:
    Address = 172.16.NN.MM,  Device ID = 18261828c4dd57XXXXXX, Local Key = ,  Version = 3.3, MAC =
    No Stats for 172.16.NN.MM: DEVICE KEY required to poll for status
Scan Complete!  Found 2 devices.
>> Saving device snapshot data to snapshot.json
yano@haswell:~$

"tuyapower"だとこんな感じ。

Gosundスマートプラグ

子どもたちが夜遅くまでTVを見れないようにするために、リモートON/OFFできるSwitchBotプラグで21時以降は強制的に見れなくしていたのだが、コンセント給電を止めると録画もできない事になって奥さんからクレームが上がっていた。

ゴウサンド(Gosund) スマートプラグ

ゴウサンド(Gosund) スマートプラグ

SwitchBotのアプリからは消費電力が確認できることに気づいたので、消費電力からREGZAの状態(ON/OFF)を推定できれば、コンセント給電を切らずともIRKitで遠隔OFFできる(≒録画はできる)なぁ…と思ったのだが、SwitchBot APIではSwitchBotプラグのON/OFF状態しか採れないことが判明し、挫折。

スマートプラグ(コンセント)とラズパイで洗濯機や乾燥機の終了をLINEに通知できて稼働状況もわかるシステムを作ったからGosundのスマートプラグだとAPIで採れそうな事がわかったので、さっそく置き換え。Go Smartアプリに登録し消費電力が表示される事を確認。

ワクワクしながらTuya Smart Developer Centerに登録し、Listing Tuya devices from the Tuya Smart or Smart Life appに倣って

yano@Focal:/iot/tuya$ tuya-cli wizard ? The API key from tuya.com: acvwuxxknsXXXXXXXXX ? The API secret from tuya.com 3b81eb715f334YYYYYYY ? Provide a ‘virtual ID’ of a device currently registered in the app: 18261828c4dd5713b47b [ { name: ‘Gosund_Plug1’, id: ‘18261828c4ddXXXXXXXX’, key: ‘7e5f08baYYYYYYYY’ }, { name: ‘Gosund_Plug2’, id: ‘182618287003XXXXXXXX’, key: ‘294924a4YYYYYYYY’ } ] yano@Focal:/iot/tuya$