本記事の内容
SwitchBotデバイスや追加したリモコン家電をiPhoneのホームアプリで操作する方法を紹介します。
どうも、CHASUKEです。
今回は、SwitchBotデバイスおよびハブミニに登録したリモコン家電を、HomeKitに対応させる方法を書いてます。SwitchBotサーバー経由で操作するオープンAPI「SwitchBot-OpneAPI」を利用しています。
実は以前にも、同じようなHomeKit対応するための記事を書いてます。
上記事では、SwitchBotサーバーを経由しないローカルAPIを使ってます。SwitchBotハブが無くても使えるメリットがある一方、対応できるデバイスが3つに限られていました。
今回の方法であれば、多くのSwitchBotデバイスをホームアプリで管理できるようになります。
▼このようにハブミニに紐付けているデバイスがホームアプリで操作できるようになります。
SwitchBotのカーテンやボットだけでなく、照明などの赤外線リモコン家電も追加できています。
同じスマートリモコンのNature Remoをホームに登録している人は割と多くいますが、SwitchBotも同じことができます
しかも、SwitchBotハブミニは、4,000円(セールなら3,000円)と低価格で購入できます。

HomeKit対応できる「Homebridge」とは?
Homebridgeとは?
Homebridgeを自宅で稼働させ、対応製品のプラグインを追加します。これでHomeKitに正式対応していない製品でも、ホームに追加して操作できるようになります。
▼Homebridgeには、下記のブラウザベースの管理画面が用意されており、初心者でも使いやすいです。
Homebridgeは、常に稼働させておかなければ、思ったときに家電の操作ができません。MacBookなどに構築することもできますが、常に自宅で動かし続けるので非現実的です。
ラズパイやNASを使うのがおすすめです。

HomeKit対応するために準備したもの
▼準備したものは下記の通り。
- Raspberry Pi(ラズパイ)
- SwitchBot Hub mini(Hub Plusでも可)
- SwitchBotデバイス(無くてもよい)
Homebridgeを稼働させるため、ラズパイ(上写真)を使ってます。
ここではOSインストールなど初期設定の説明は省きます。これから一式揃えるなら、スターターキットがおすすめです。
また、SynologyのハイエンドNASであれば、Dockerを使ってカンタンにHomebridgeを構築する方法もあります。詳しくは下記記事にて。
今回はラズパイにHomebridgeとSwitchBotプラグイン「OpenWonderLabs / homebridge-switchbot」をインストールしていきます。
SwitchBotをHomeKit対応させる手順(前半)
ではやっていきます。
まず前半として、ラズパイに下記をインストールします。
- Homebridge + Homebridge UI
- SwichBotプラグイン

Homebridge + Homebridge UIのインストール
ラズパイにHomebridgeをインストールする方法は、以下の記事を参考にしてください。
上記の通りにやれば、「Homebridge」と管理UIツール「Homebridge UI」がインストールできます。
▼ブラウザでこれが開けばOKです。
ラズパイでなく、SynologyなどのNASを使う場合は、こちらの記事「Synology NASにHomebridgeを追加する方法」を参考に!
SwichBotプラグインのインストール
プラグインの検索で「switchbot」と入力すると、今回使う「Homebridge Switchbot」が表示されます。
▼未インストールの場合は、左下のボタンから追加します。
追加したプラグインを設定するには、SwitchBotの開発者トークンが必要です。後半からはこの辺りの情報を揃えながら、設定していきます。
SwitchBotをHomeKit対応させる手順(後半)
ここからは、必要な情報を揃えて、プラグインの設定をしていきます。
ざっくり手順はこちら
- クラウドサービスの有効化
- 開発者トークンの取得
- デバイスIDの取得
- プラグインの設定に入力
では、1つずつやっていきますね。
クラウドサービスの有効化
すでに設定済みかもしれませんが、念のために、確認しておきます。
▼アイコン右上に「雲マーク」があれば、OKです。
ちなみに今回、僕のデバイス一覧にあるHub miniを除く5つがホームアプリに追加されます。

開発者トークンの取得
開発者トークンは、SwitchBotサーバにアクセスするための鍵です。ユーザーごとに異なります。
▼SwitchBotアプリのプロフィールタブの設定ボタンから取得できます。
アプリバージョンの項目を10回連続でタップすると、トークン取得画面が表示されます。トークンは人にバレないように管理しましょう。

デバイスIDの取得(curlコマンド)
SwitchBotのデバイスIDを取得します。
全てのデバイスIDは必要なく、指ロボットの「SwitchBot」だけ必要なようです。
アプリのデバイス一覧に「SwitchBot」がない人は、この作業は不要ですので、スキップしてください。
では、SwitchBotアカウントに紐づくデバイス一覧を取得します。
取得方法は、API仕様「Get device list」にある通りですが、下記のcurlコマンドをMacのターミナルで実行します。
/usr/bin/curl -X GET "https://api.switch-bot.com/v1.0/devices" -H "Authorization:<開発者トークン>"
メモ
JSON形式の文字がズラッと出力されるので、コピーして整形しましょう。
▼整形すると、こんな感じ(一部抜粋)です。
"deviceList": [ { "deviceName": "Hub Mini(自宅)", "hubDeviceId": "000000000000", "deviceType": "Hub Mini", "deviceId": "HHHHHHHHHHHH" }, { "deviceName": "温湿度計", "hubDeviceId": "HHHHHHHHHHHH", "deviceType": "Meter", "deviceId": "MMMMMMMMMMMM" "enableCloudService": true }, (中略) { "deviceName": "白スイッチ", "hubDeviceId": "HHHHHHHHHHHH", "deviceType": "Bot", "deviceId": "BBBBBBBBBBBB", "enableCloudService": true } ]
メモ

プラグインの設定に入力
Homebridgeに戻り、先ほどインストールしたプラグインを設定していきます。
nodeバージョン「>=14.18.1」との警告表示されたので、ご注意ください。
▼設定を押すと、こんな画面が出ると思います。
「SwitchBot Account Info」の「>」を押すと、開発者トークンの入力項目「Token」が表示されます。ここに事前にメモしたトークンを記載します。
基本はこれで終わりなのですが、指ロボット「SwitchBot」のみデバイスIDの設定が必要です。不要な人は飛ばしてください。
「Optional SwitchBot Device Settings」のDevice IDに、事前に取得済みのIDを設定。また、僕のSwitchBotは「押すモード」なので、Mode項目を「Press」としています。
これで設定完了です。保存して再起動します。

実際にホームアプリで操作してみる!
では、ホームアプリにアクセサリ追加して、実際に家電を操作してみます。
デバイスをホームに追加する
iPhoneのホームアプリを起動し、「アクセサリを追加」を選びます。
Homebridgeのダッシュボード画面にあるHomeKitコードを読み込むと、、、
まだあります。
ブリッジ(Homebridge)を除き、全部で5デバイスが追加された。
▼デバイス一覧がにぎやかになった。
SwitchBot・温湿度計・カーテンといったSwitchBotデバイスだけでなく、ハブに登録したリモコン家電もちゃんと追加されてます。

リモコン家電を操作してみる
それぞれの操作画面はこんな感じ。
▼照明は、オンオフ操作のみですが、ばっちり動いてます。
▼エアコンも、オンオフ操作は正常に動きます。しかし、僕の環境では、温度やモード変更するとエラーが出力されます。
Git上でも同じ事象の人がコメントしているので、直るまでしばらく様子見です。
今回はエアコンと照明で試してましたが、それ以外のリモコン家電にも対応しています。
SwitchBotのHomeKit化対応 まとめ
SwitchBotハブのリモコン家電をHomeKitに対応させる方法を紹介しました。
家中の家電をホームアプリで管理・操作したいというiPhoneユーザーにおすすめです。
▼安価なスマートリモコンですが、色々できます。

▼その他のSwitchBot関連記事はこちら。