どうも、CHASUKEです。
暑い。暑すぎる。僕の作業部屋は、2階にある3畳の小部屋なんですが、一気に夏がきたのか、もうエアコンつけずにはやってけません。サウナです。
ということで、効率化デバイス「STREAM DECK」でエアコン操作パネルを作りました。
▼こんな感じに動作します。
18度から30度までの冷房固定でワンプッシュ操作ができます。
▼少しネタ気味に投稿。
夏がきたようなので、
STREAM DECKでエアコン冷房18〜30℃までワンプッシュ対応しやした🎐 pic.twitter.com/cZq0QrroiX— ちゃすけ@物欲ガジェッター (@chasuke__) July 10, 2021
そうしたら、「やり方教えてほしい」との反応が。リクエストなんて、有り難い。せっかくなので、やり方を説明していきます。

STREAM DECK エアコンパネルで使ったもの
これを実現するために使ったモノです。
- Macのパソコン
- STREAM DECK
- SwitchBot Hub mini
いつもだとラズパイとか使うのですが、今回は使ってません。
さきに仕組みを説明すると、下記の通り。
STREAM DECKのボタンを押すと、シェルスクリプトでSwitchBot APIをCURL実行する「MacのAutomator(オートメーター)」が作動します。

STREAM DECK エアコンパネルの作り方
初めて作る人でも、わかるように説明していきます。わからなければ、Twitterでもメールでも問い合わせて下さい。
手順はこんな感じ
- SwitchBotで事前準備
- Automatorでアクション作成
- STREAM DECKに登録

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

今回は、このHub miniにリモコン登録してあるエアコンをAPI操作(コマンド操作)します。
そのため、Hub miniの開発者トークンとエアコンのデバイスIDの2つが必要となります。これらを取得するのが事前準備となります。
前提として、エアコンがHub miniに登録済みである必要です。SwitchBot APIの仕様はこちら。
▼【エアコンのデバイスID】と【開発者トークン】の取得方法は下記リンクを参考にしてください。
エアコンのデバイスIDは、infraredRemoteListのdeviceIdになります。
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

STREAM DECKに登録
さきほど作ったアクションを、18℃から30℃までひたすら量産します。13個かな。
作ったら、それを1個ずつSTREAM DECKに配置していきます。ドラッグしてドロップ。
そしたら、こうなる。

表示するアイコンを変えましょう。
アイコンはこちらからオリジナル作成できます。
イイ感じにできたら、「Save Key」ってところを押してダウンロードします。
▼全部置き換えるとこんな感じ。

最後に
僕の環境では、ボタンをポチッとして1秒後くらいに「ピー」っとエアコンが反応します。SwitchBotアプリのエアコン操作画面を見て、温度設定が反映されれば成功です。
今回使ったガジェットをお持ちで、少しでも面白そうと思った人は是非試してみてください。スマートホーム面白いですよ!
