API

SwitchBotのAPIを使ってエアコンを赤外線リモコンで遠隔からOn/Offする方法

Amazonで購入できる手軽なスマートホームデバイスのSwitchBotシリーズはAPIが公開されています。

そのことにより、SwitchBotのアプリからだけでなく他のアプリケーションとの連動や、自分自身でアプリケーションをつくり、オリジナルのアプリではできないような便利な使い方をすることができます。

今回はこのSwitchBotのAPIを使う方法についてご紹介します。

@itouuuuuuuuuさんがQiitaに書かれた記事を参考にしました。
SwitchBotをHub経由でAPIから操作する – Qiita

APIを使うための設定

まずは認証用トークンをスマートフォンのSwitchBotアプリから取得します。

アプリを開き
プロフィール>設定>開発者向けオプション
から取得できます。

IMG 3440

ただしそのままだと表示されないので、「アプリバージョン」を10回タップして「開発者向けオプション」を表示させます。

IMG 3441

「開発者向けオプション」をタップすると

IMG 3442

ここで「トークンを取得」

IMG 3443

これで認証用トークンを取得できました。

*SwitchBotをHub経由でAPIから操作する – Qiitaでは、クラウドサービスをオンにすると記載されていたのですが、私の方はみつかりませんでした。過去に1度やったので、そこですでに「クラウドサービス」をオンにしていて表示されなかったのかもしれません。

SwitchBot APIについてのドキュメント

GitHub – OpenWonderLabs/SwitchBotAPI: SwitchBot API Documents

こちらにAPIのドキュメントがあります。

PostmanをつかってDeviceIDを取得する

APIのテストツールPostmanをつかってDeviceIDを取得します。

Postmanで次のように設定。

方式: GET
url : https://api.switch-bot.com/v1.0/devices

Headers
Authorization : 認証用トークン
Content-Type : application/json; charset=utf8

Postman 2021 09 30 10 15 54

これでSend。

Postman 2021 09 30 10 19 53

このようにレスポンスが返ってくるので、このdeviceIDをつかって操作をおこないます。

DeviceIDをつかってハブミニから事務所のエアコンを温度設定26℃の冷房でOnにする方法

エアコンのAPIについて確認します。

GitHub – OpenWonderLabs/SwitchBotAPI: SwitchBot API Documents

SwitchBotAPI SwitchBot API Documents 2021 09 30 10 26 46

こちらがドキュメント。

SwitchBotAPI SwitchBot API Documents 2021 09 30 10 27 44

以下のようにエアコンを操作するAPI設定を確認します。

ー温度:26℃
ー運転モード:冷房
ーファンスピード:自動
ー電源:On

Postmanの設定は下記のとおり

方式: POST
url : https://api.switch-bot.com/v1.0/devices/DeviceID/commands

Headers
Authorization : 認証用トークン
Content-Type : application/json; charset=utf8

Body
{
“command”: “setAll”,
“parameter”: “26,2,1,on”,
“commandType”: “command”
}

Postman 2021 09 30 10 49 50

これでSendすると、事務所のエアコンが”ピッ!”となり、動き始めました。

Postman 2021 09 30 10 52 01

Postmanでの”success”のレスポンスがあります。

DeviceIDをつかってハブミニから事務所のエアコンをOffにする方法

先程はエアコンをOnにできたので、今度はOffにします。

ー電源:Off

Postmanの設定は下記のとおり

方式: POST
url : https://api.switch-bot.com/v1.0/devices/DeviceID/commands

Headers
Authorization : 認証用トークン
Content-Type : application/json; charset=utf8

Body
{
“command”: “setAll”,
“parameter”: “26,2,1,off”,
“commandType”: “command”
}

Bodyにいれるparameterは ”温度,モード,ファンスピード,On/Off”が必要なので、単純にOffにするだけでも他のパラメーターが必要になります。

Postman 2021 09 30 10 56 34

Postmanから送信。

Postman 2021 09 30 10 57 10

“Success”のレスポンスが返ってきて、エアコンがオフになりました。

まとめ

以上、SwitchBotのAPIを使って事務所にあるエアコンをOn/Offしたり、冷房の温度設定をする方法をご紹介しました。

APIが公開されているので、Node-REDのようなアプリケーションを使えばスケジュールを組んだり、SwitchBot以外のデバイスと組み合わせて制御することができます。

今後はその方法なども紹介していきたいと思います。

COMMENT

メールアドレスが公開されることはありません。