Switchbot を linux のコマンドラインで制御する nodejs のプログラム switchbot-cli が公開されている。
switchbot-cli
https://github.com/shizuka-na-kazushi/switchbot-cli
インストールも簡単。最初の起動時の token,secret の登録の時に、入力がエコーバックされないので戸惑ったけど。
$ sudo npm install -g switchbot-cli $ switchbot-cli : First please register 'token' and 'secret' obtained by SwitchBot mobile app: token: トークンを入力(エコーバックされない) secret: シークレットを入力(エコーバックされない) $ switchbot-cli device list ------- device list -------- deviceId deviceType deviceName yyyyyyyyyyyy "remote with screen" "学習リモコン" zzzzzzzzzzzz "MeterPro(CO2)" "温湿度計CO2・リビング" : aaaaaaaaaaaa "Hub Mini" "switchbot-hubmini" ------- infrared remote list -------- deviceId deviceType hubDeviceId deviceName bb-bbbbbbbbbbbb-cccccccc "Air Conditioner" aaaaaaaaaaaa "エアコン" bb-bbbbbbbbbbbb-dddddddd "DIY Fan" aaaaaaaaaaaa "扇風機" bb-bbbbbbbbbbbb-eeeeeeee "DIY Light" aaaaaaaaaaaa "リビングの照明" : bb-bbbbbbbbbbbb-ffffffff "TV" aaaaaaaaaaaa "テレビ"
設定は、$HOME/.cache/switchbot-cli/cert.json に保存されている。
使い方
((( 温湿度計CO2 を読み取る ))) $ switchbot-cli device -d zzzzzzzzzzzz status { "statusCode": 100, "body": { "version": "V1.6", "temperature": 22.7, "battery": 100, "humidity": 57, "CO2": 859, "deviceId": "zzzzzzzzzzzz", "deviceType": "MeterPro(CO2)", "hubDeviceId": "000000000000" }, "message": "success" } ((( 赤外線リモコン経由で TV をつける ))) $ switchbot-cli device -d bb-bbbbbbbbbbbb-ffffffff turnOn
赤外線リモコンで、特定のボタンを操作したいんだけど、現時点のバージョンではできないみたい。