前回ためしたTP-Link スマートコンセントはタイマー機能では使えるようになったが、ONしている時間の累積時間で電源を切るという機能はなさそうだ。いろいろ調べていると、APIでがいぶから操作できることが分かった。メーカからではないがAPIを開発して公表している人がいた。
まず見つけたのは tplink-smarthome-api https://github.com/plasticrake/tplink-smarthome-api Node.jsベースで開発していてgithubで公開している。まだパソコンにnode.jsをインストールしてなかったので下記手順に沿ってインストール。 https://qiita.com/kyosuke5_20/items/c5f68fc9d89b84c0df09
npm install -g tplink-smarthome-api
でインストールができる。ヘルプを開くには
tplink-smarthome-api --help
detailsとかgetInfoとかで情報は出せた。 他にコマンドは
電源OnとOFF
$ tplink-smarthome-api sendCommand 192.168.0.2:9999 '{"system":{"set_relay_state":{"state":1}}}'
Sending to 192.168.0.2:9999...
response:
{ err_code: 0 }
lmjs $ tplink-smarthome-api sendCommand 192.168.0.2:9999 '{"system":{"set_relay_state":{"state":0}}}'
Sending to 192.168.0.2:9999...
response:
{ err_code: 0 }
時間を取得
$ tplink-smarthome-api sendCommand 192.168.0.2:9999 '{"time":{"get_time":{}}}'
Sending to 192.168.0.2:9999...
response:
{ year: 2018,
month: 10,
mday: 26,
hour: 23,
min: 12,
sec: 44,
err_code: 0 }