SwitchBotをAPIから操作する方法をまとめておきます。
SwitchBotは、SwitchBot Hubを通してインターネットに接続されているを前提としています。
認証用トークンの取得
まずは、API認証用のトークンを取得します。
SwitchBotアプリの 設定 > 開発者向けオプション
から確認可能です。
開発者向けオプション
は、設定画面の アプリバージョン
を10回ほどタップすると表示されるようになります。
SwitchBotの設定
APIから操作するために、SwitchBotの「クラウドサービス」をオンにしてください。
APIから操作する
こちらのAPIドキュメントを確認しながら進めていきます。
deviceIdの取得
まずは、SwitchBotの deviceId
を取得します。
Authorization
には、最初に取得した認証用トークンを指定してください。
curl --request GET 'https://api.switch-bot.com/v1.0/devices' \
--header 'Authorization: 認証用トークン' \
--header 'Content-Type: application/json; charset=utf8'
下記のようなレスポンスが返ってくるので、SwitchBotの deviceId
を確認してください。
{
"statusCode": 100,
"body": {
"deviceList": [
{
"deviceId": "HubのdeviceId",
"deviceName": "Hub Plus 2F",
"deviceType": "Hub Plus",
"enableCloudService": false,
"hubDeviceId": "000000000000"
},
{
"deviceId": "SwitchBotのdeviceId",
"deviceName": "Bot EC",
"deviceType": "Bot",
"enableCloudService": true,
"hubDeviceId": "hogehoge"
}
],
"infraredRemoteList": []
},
"message": "success"
}
SwitchBotの操作
deviceId
を確認したら、下記のリクエストを送信します。
URLには、SwitchBotの deviceId
を指定してください。
curl --request POST 'https://api.switch-bot.com/v1.0/devices/SwitchBotのdeviceId/commands' \
--header 'Authorization: 認証用トークン' \
--header 'Content-Type: application/json; charset=utf8' \
--data-raw '{
"command": "press",
"parameter": "default",
"commandType": "command"
}'
簡単ですね!
その他の操作もドキュメントに記載されているので、色々できそうです。