TP-Link スマートコンセントHS-105をAPIから操作(1)

前回ためした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 }