背景
SwitchBot機器のAPIを使うためには「認証用トークン」と「DeviceID」を取得する必要があります。
スマートフォンのSwitchBotアプリからまずは認証用トークンとクライアントシークレットを取得します
アプリを開き「プロフィール>設定>開発者向けオプション」で取得できます。
とはいうものの、そのままだと表示されないので、「アプリバージョン」を10回タップして「開発者向けオプション」を表示します。(ファミコン時代の隠しコマンドっぽい。)
手順
デバイス一
|
|
以下のように出力されます。
|
|
以下で対象のデバイスから情報を出力。
curl -X GET -H "Authorization: 認証用トークン" https://api.switch-bot.com/v1.0/devices/対象のdeviceId/status | jq .
以下のように出力されます。
{
"statusCode": 100,
"body": {
"deviceId": "D66D086FC8AB",
"deviceType": "MeterPlus",
"hubDeviceId": "FD087CB12D22",
"humidity": 59,
"temperature": 15.5
},
"message": "success"
}
}
制約
1日あたり1万回の制約があります。
OpenWonderLabs/SwitchBotAPI: SwitchBot Open API Documents
以下の記述があるので、毎分取得ぐらいなら影響はなさそう。
Request limit The amount of API calls per day is limited to 10000 times. Going over that limit will return “Unauthorized.”
参考
これを使った。