SwitchBotをIFTTT経由でChromeから操作する方法

## [SwitchBot](https://www.switchbot.jp)とは

[米WonderLab社](https://www.switch-bot.com)のホームオートメーションガジェット。スイッチを操作するロボット[SwitchBot Bot](https://www.switchbot.jp/bot)が有名で、赤外線コントローラをもったデバイスや、物理的な電源スイッチ、コンセントなどをスマホからコントロールできるようになります。基本的には単体で使えますが、SwitchBotデバイスはBluetoothデバイスなのでスマホが必須。インターネットと連携するためには[SwitchBot Hub Mini](https://www.switchbot.jp/hub-mini)が必要になります。赤外線コントロールのみでしたらSwitchBot Hub Miniだけで使うこともできます。[部分的ですがオープンソース化も行っていて、Pythonからコントロールできるライブラリがあるようです。](https://github.com/OpenWonderLabs/python-host)

## 大枠の流れ
1. SwitchBot Hub Miniを購入する

ここからスマホでの作業

1. iOSまたはAndroidにSwitchBotアプリをインストールする
2. メールアドレスを登録し、ユーザアカウントを作る
3. [SwitchBot Hub Miniを登録する](https://support.switch-bot.com/hc/ja/articles/360037753974-Hub-Miniをセットアップする方法)
4. エアコンのリモコンを学習させる
5. スマホからエアコンが操作できることを確認する
6. [必要なぶんだけ「手動実行」シーンを作成する](https://support.switch-bot.com/hc/ja/articles/360037754154-Hub-Plus-Miniで-シーン-を作成する方法)

ここからPCでの作業

1. [IFTTT](https://ifttt.com)のアカウントを取得
2. IFTTTでWebHooks+Switchbot連携アプレットを作成する
3. WebHooks API Keyを取得する
4. Hash Button for IFTTTをChromeに入れ設定する
5. これでChromeからSwitchBotを操作できるようになります

ここでは、上記の「PCでの作業」を説明します。

# IFTTT連携方法

## アプレットの作成

1. IFTTTにログインし、Createを押す
![001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/7f893b11-4f81-d01e-509c-64f3d98b0817.png)

2. Thisのところをクリック
![002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/02ee8979-418e-1559-29fd-38cdbb828747.png)

3. 「web」と入力し、WebHooksを選択する
![003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/43503593-3e35-7fcb-743d-5f79c6ba4e48.png)

4. Event Nameを決めて（英文字）Create triggerを押す。Event Nameは忘れないようにメモしておく。
![004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/7092207c-4012-33bd-9e18-a1c644096f5e.png)

5. Thatを押す
![005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/8df6148e-60e4-c4b0-ce1d-14a2941174e1.png)

6. 「Sw」と入力し、SwitchBotを選択する。初回はここでSwitchBotアカウントの入力を求められるので入力する。
![006.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/a9f3ca1b-0dc3-100d-d7e3-bbc84ea1772a.png)

7. 一番下にある「シーン」を選ぶ
![007.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/f924b9c0-0f06-b14a-2183-77313e63385a.png)

8. スマホで作成したシーンを選択して、Create Actionを押す
![008.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/021f923a-1015-9f87-656b-925e981676b7.png)

9. Finishを押す
![009.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/0658a17d-4735-6ed1-d580-e9f8ada588f2.png)

あとは、必要な分だけ1から9を繰り返します

## APIキーの取得

1. ホーム画面で任意のアプレットを選択し、WebHooksマークをクリックします
![010.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/32c95f77-7886-4e8f-5ca8-54c4ebc3007c.png)

2. 以下の画面がでたら「Documentation」をクリックします
![011.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/6cd60c42-3016-143d-7f16-0577d3937bd6.png)

3. ここでは黒く塗りつぶしてありますが、「Your Key is: 」と書いてある部分のあとが、API Keyです。これをコピーしてメモしておきます
![012.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/f841ef53-44a7-9c74-0b0d-b349c4d8c8f3.png)

## Hash Button for IFTTTの導入

このツールを使うと、IFTTTのWebhooksをChromeから実行できます

1. Chromeで[こちら](https://chrome.google.com/webstore/detail/hash-button-for-ifttt-uno/komgjgehifckemhnghbjkecolfamhhpb/)に移動して、「Chromeに追加」を押します。
![013.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/720d5ef4-83c1-d825-caf9-cae1f2d8dd65.png)

2. 「機能拡張に追加」を押します
![014.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/8dffb3ac-9053-bcf4-e96a-ed22a8cd9abd.png)

3. ジグソーパズルっぽいボタンをおして、下のHash button for iFTTTをピン止めします
![015.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/712f5a38-95a2-56c0-4251-ab66c8c46b3b.png)

4. Hash button for iFTTTボタンが現れるのでクリックします。そして「I have key & Event Name」を押します
![016.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/eea56a7c-ad9d-6e4d-aa70-0a7a3d3836c6.png)

5. Event Nameに先ほど作成したイベント名、Keyに取得したAPI Keyを入力し、saveを押します
![017.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/25f54215-bf6a-c353-7351-44eeee408d7a.png)

6. Event Nameのボタンが現れ、これを押すと実行されます。（この例では「エアコンON」のシーンが実行されます）あとは、Add Buttonを押して、必要な分だけ繰り返します。
![018.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/100408/9c533ff9-1be9-e266-a4c8-456fd1386f12.png)