TECH

STREAM DECKからSwitchBot Hub miniのエアコンをAPI操作する方法

どうも、CHASUKEです。

暑い暑すぎる。僕の作業部屋は、2階にある3畳の小部屋なんですが、一気に夏がきたのか、もうエアコンつけずにはやってけません。サウナです。

ということで、最近お気に入りの「STREAM DECK」でエアコン操作パネルを作りました。

▼動作はこんな感じです。

18度から30度までの冷房固定でワンプッシュ操作ができます。

 

▼ややネタ気味に、Twitterに投稿しました。

そしたら、見た人から「作り方教えてくれ」的な反応がもらえました。リクエストなんて、有り難い。せっかくなので、やり方を説明していきます。

CHASUKE
これを応用すれば、いろいろと遊べそうです。

STREAM DECK エアコンパネルで使ったもの

まずは、これをやるために使ったモノです。

いつもだとラズパイとか使うのですが、今回は使ってません。

 

動きをざっくり説明すると、こんな感じ。

STREAM DECKのボタンを押すと、シェルスクリプトでSwitchBot APIをCURL実行する「MacのAutomator(オートメーター)」が作動します。

CHASUKE
このボタンを設定温度の数だけ、ひたすら作ります。

STREAM DECK エアコンパネルの作り方

初めて作る人でも、わかるように説明していきます。わからなければ、Twitterでもメールでも問い合わせて下さい。

手順はこんな感じ

  1. SwitchBotで事前準備
  2. Automatorでアクション作成
  3. STREAM DECKに登録
CHASUKE
この3点セットで完成です。

 

SwitchBotで事前準備

SwitchBot Hub miniは、4000円弱で買えるスマートリモコン。

CHASUKE
安く手に入る上に、APIが豊富に使えて遊べます。

 

今回は、このHub miniにリモコン登録してあるエアコンをAPI操作(コマンド操作)します。

そのため、Hub miniの開発者トークンとエアコンのデバイスIDの2つが必要。これらを取得するのが事前準備となります。

前提として、エアコンがHub miniに登録済みである必要があります。

 

取得方法はこちら

CHASUKE
エアコンのデバイスIDとは、infraredRemoteListdeviceIdになります。

 

Automatorでアクション作成

MacのAutomatorを起動して、「アプリケーション」を選択します。

▼アクションとして「シェルスクリプトを実行」を選び、中にCURLコマンドを入力します。

▼入力するCURLコマンドは下記の通り。

/usr/bin/curl -X POST "https://api.switch-bot.com/v1.0/devices/【エアコンのデバイスID】/commands" \
-H "Content-Type: application/json; charset: utf8" \
-H "Authorization:【開発者トークン】" \
-d {'
    "command":"setAll",
    "parameter":"18,2,1,on",
    "commandType":"command"
}'

 

【エアコンのデバイスID】【開発者トークン】を事前準備で取得したものと置き換えてください。修正したコマンドをターミナルで動くか確認しておくのがおすすめです。

また、コマンドの下方にある「parameter」をいじると、設定温度などを変更できます。

parameterの意味

  • 設定温度(℃)
  • モード:1 (auto), 2 (cool), 3 (dry), 4 (fan), 5 (heat)
  • 風力:1 (auto), 2 (low), 3 (medium), 4 (high)
  • 電源:on, off
CHASUKE
例で書いたやつだと「風力オートで18℃設定で冷房をつける」という意味になります。

 

STREAM DECKに登録

さきほど作ったアクションを、18℃から30℃までひたすら量産します。13個かな。

作ったら、それを1個ずつSTREAM DECKに配置していきます。ドラッグしてドロップ。

そしたら、こうなる。

CHASUKE
ロボット兵士だらけw

 

表示するアイコンを変えましょう。

アイコンはこちらからオリジナル作成できます。

イイ感じにできたら、「Save Key」ってところを押してダウンロードします。

 

▼全部置き換えるとこんな感じ。

CHASUKE
完成!

最後に

僕の環境では、ボタンをポチッとして1秒後くらいに「ピー」っとエアコンが反応します。SwtichBotアプリのエアコン操作画面を見て、温度設定が反映されれば成功です。

今回使ったガジェットをお持ちで、少しでも面白そうと思った人は是非試してみてください。スマートホーム面白いですよ!

CHASUKE
それではまた。
created by Rinker
CORSAIR
¥17,700 (2021/07/25 03:21:00時点 Amazon調べ-詳細)

Amazonでお得に買い物

Amazon.co.jpで買い物するならギフト券を現金チャージするのがお得です。チャージごとに最大2.5%分のAmazonポイントがもらえます。また、5000円チャージで1000円分ポイント還元キャンペーンも実施中!!

詳しくはコチラ

  • この記事を書いた人

CHASUKE

IT企業につとめる30代サラリーマンブロガーです。当ブログでは、実際に使ってよかった役立つガジェットや製品をお届けしてます。面白い機能や素敵なデザイン、少し尖ったアイテムが特に好きです。ご質問・ご意見は「お問い合わせ」まで。レビュー依頼もお待ちしております!

© 2021 CHASUKE.com