54
51

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SwitchBotをHub経由でAPIから操作する

Last updated at Posted at 2021-03-13

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"
  }'

簡単ですね!
その他の操作もドキュメントに記載されているので、色々できそうです。

54
51
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
54
51

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?