SwitchBotをHomebridgeとHomeKitで動かす

非対応品を使う

SwitchBot製品をHomeKitに接続して、iPhone/Macのホームアプリから使用する方法を説明します。HomeKit対応製品(プラグのみです)を使用すればそのまま使えますし、最近では一部製品がMatter経由で使えます。またHoebridgeを使って、BLEやクラウドに接続するプラグインを使用すれば、ほぼ全てのSwitchBot製品がHomeKitから使えます。この記事では、SwitchBot製品を、Homebridgeを使ってHomeKitに接続する手順を紹介します。

SwitchBot製品

SwitchBotという会社は、その名前の通り、スイッチを押してくれる超小型ロボット製品でお馴染みです。壁のスイッチや電化製品のスイッチにこれを貼り付けておけば、スマホからの操作でサーボモータが動いて、物理的にスイッチを押してくれます。人が指で押すスイッチならなんでも自動化できる力技な商品です。今はこれ以外にも、カーテン開閉ロボット、スマートプラグ、スマートロック、赤外線リモコン、掃除ロボット、照明、センサーなどいろいろな製品を作ってます。

これらの製品のうち、電池駆動のものは、省電力なBLEで通信しています。一方で、電力を十分に得られるプラグなどはWiFiで通信します。BLEではインターネットに直接接続できないので、WiFi経由でSwitchBotクラウドに接続するための、SwitchBot Hub MiniやHub 2という名前のハブ製品も用意されてます。これらのハブ製品には、スマート赤外線リモコン機能もついてます。

SwitchBotの一般的な利用方法

一般的には、SwitchBot製品は、SwitchBot社のスマホアプリから使用します。スマホアプリは、スマホのBLEとWiFi機能を使ってSwitchBot製品と接続します。さらにハブ内蔵の赤外線スマートリモコン機能を使って、家電製品をコントロールします。そしてSwitchBotクラウドとも接続します。以下のような構成です。

プラグのようなWiFi機器はインターネット接続可能ですが、電池駆動のBLE搭載製品はそのままではインターネット接続できません。そこで、Hub MiniやHub 2を経由してLAN接続し、クラウドと接続します。しかし、スマホアプリはハブ製品が存在しなくても、BLE製品とWiFi製品に直結して操作できます。スマホを家から持ち出した場合は、BLEにもLANにも接続できないので、クラウド経由で接続します。

またSwitchBotクラウドが、GoogleとAmazonのクラウドに接続することで、それぞれのシステムからSwitchBot製品を使うこともできます。これでそれぞれのスマートスピーカからSwitchBot製品が使えます。

SwitchBot製品を使っているほとんどのユーザは、上の2つの図に示した構成で使用していると思います。

SwitchBot製品の説明に「Siriから使える」と書いてあることがあります。しかしこれは「HomeKitに接続できてHomePodのSiriから使える」という意味ではありません。iPhone用のスマホアプリがショートカットに対応していて、iPhoneのSiriから操作ができるという意味です。

GoogleとAmazonへの対応に比べると、HomeKit対応は限定的です。それでも一部製品はHomeKit対応してますし、それ以外もHomebridge経由で対応可能です。

純正HomeKit対応製品

SwitchBotが公式にHomeKit対応としている製品は、現時点で

  • スマートプラグ、
  • カーテンロボット、
  • ブラインドポール、
  • ロック

の4製品です。

SwitchBotは、HomeKit対応のスマートプラグを作っています。HomeKit Accessory Protocol (HAP)対応の製品はこれだけです。これを使えばHomeKitに接続できます。実際に使ってますが、非常に安定しています。国内で入手できるHomeKit対応スマートプラグでは、コスパもそこそこ良くて一番のおすすめです。

また、最近発売されたSwitchBot Hub 2がMatter対応しました。今のところベータ版でし、対応しているデバイスは一部です。でもこれを使えばMatterプロトコル経由で、カーテン、ブラインド、ロックをHomeKitに接続できます。詳しくは以下の記事をご覧ください。

SwitchBot Hub 2をMatterブリッジにしてHomeKitから使う
SwitchBot Hub 2をMatterブリッジとして設定し、Apple HomeKitに接続しました。iPhoneやMacのホーム.appから、Hub 2のケーブルに内蔵された温度センサと湿度センサの値が取得できました。またSwitc...
SwitchBot ロックがHub 2経由でMatterに対応
SwitchBotロックが、Hub 2経由でMatterに対応しました。これでHomebridgeを使用しなくても、HomeKitから施錠・開錠できるようになりました。日本向けスマートロック製品で最初のMatter対応です。 Hub 2 M...

Homebridgeで使う

SwitchBotが公式にHomeKit対応としていないデバイスでも、HomebridgeとSwitchBot用プラグインを使えば、HomeKitから使用できます。Homebridgeのインストールに関しては、こちらをご覧ください。

Homebridgeをインストールする
HomebridgeはApple HomeKitのためのブリッジソフトウェアです。サーバーとして動かしておけば、HomeKit非対応のデバイスを、HomeKitアクセサリとして利用することができます。自作のデバイスや、GoogleやAmaz...
品薄Raspberry Pi 4が買えたのでHomebridgeを引越した
ずっと品切れだったRaspberry Pi 4が入手できたので、 Homebridge本体と Mqttthingプラグイン Zigbee2MQTTプラグイン Mosquitto Zigbee2MQTT をインストールしました。補助記憶にはU...

プラグインを探す

Homebridgeは、有志の皆さんが作成するプラグインで、多様なデバイスをHAP対応にしています。SwitchBotプラグインも多数公開されています。プラグインは、Homebridgeのサイトや、ネット検索でも探せますが、Homebridgeのwebインタフェースから探すのが簡単です。ブラウザからHomebridgeサーバにログインした後、

プラグインのタブを選びます。ここの検索窓にswitchbotと入力すると、関連するプラグインが表示されます。

13個のプラグインが見つかりました。必要なのは一つだけなので、どれかを選ぶ必要があります。右上に「Verified」と書かれているプラグインは、Homebridgeの人たちが動作などを確認したという推奨マークです。選択の目安になります。また右下の矢印アイコンは、それぞれのプラグインの開発ページにリンクしてます。ここで説明を読んで、必要なプラグインかどうかを判断します。開発ページからわかる更新の頻度も目安になります。2-3年前で更新が止まっているプラグインは、デバイスやHomebridgeの仕様が変わるなどの影響があるのか、動かないこともあります。

ここに現れたプラグインから、「Homebridge SwitchBot」を使うことにしました。「Homebridge SwitchBot」は、Verifyマークもついてますし、更新も頻繁で、最適な選択かと思います。

GitHub - OpenWonderLabs/homebridge-switchbot: The Homebridge SwitchBot plugin allows you to access your SwitchBot Device(s) from HomeKit. Homebridge.
The Homebridge SwitchBot plugin allows you to access your SwitchBot Device(s) from HomeKit. Homebridge. - GitHub - OpenW...

Homebridgeのプラグインは、導入も簡単で、削除すると設定も消してくれるので、気軽に色々と試せる点が良いです。複数の選択肢があれば、動くプラグインが見つかるまで次々と試すのも良いです。

上のスクリーンショットでは、すでにインストールした後の状態なので、「Homebridge SwitchBot」プラグインが「インストール済」と表示されていますが、未インストールだと「インストール」というボタンが出ます。このボタンはインストールが終了すると「設定」に変わります。

クラウド接続とBLE接続

HomebridgeをSwitchBotデバイスと接続する方式には、2種類あります。一つは、SwitchBotクラウドに接続する方法で、もう一つはBLE接続する方法です。前者はOpenAPIという名前のAPIを使います。

クラウド接続は、ハブが必要ですが、SwitchBot製品の全てを接続できます。またクラウドが稼働している限り安定して動作しますが、不具合があると停止することがあります。

一方、BLE接続は、BLE搭載製品だけが接続対象ですが、効率良く高速で、ハブ製品が不要なので低コストです。ただプラグインとデバイスによっては応答が不安定なことがあります。カーテンを使った経験では、10回に1回ほど動作しないことがありました。以下のBLE専用プラグインを試すと、改善されることもありました。

GitHub - ewebdev/homebridge-switchbot-ble: The @switchbot/homebridge-switchbot-ble is a nodejs module , and also a homebridge plug-in that directly controls SwitchBot products via BLE.
The @switchbot/homebridge-switchbot-ble is a nodejs module , and also a homebridge plug-in that directly controls Switch...

クラウド接続する

トークンを入手する

今回使用したプラグインの使用方法は簡単で、クラウド接続する場合なら、個々のデバイスの設定が不要です。手作業でデバイス設定しなくても、クラウドに登録されているデバイスが自動的にHomeKitに表示されます。

ただし、クラウドに接続するために、トークンとシークレットという固有に番号を入手しておく必要があります。(クラウド接続せずに、BLE接続だけを行う場合は不要ですが、その場合はデバイスを全て手作業で登録する必要があります。)これらクラウド接続のための情報は、SwitchBotアプリから入手できます。アプリの右下にある「プロフィール」(人のアイコン)を選び、次に「設定」を選びます。ここの、「アプリバージョン」の場所 を10回タップすると、開発者向けオプションというメニューが現れます。

この開発者向けオプションをタップすると、トークンとシークレットを入手できます。

後の設定に必要ですので、この2個をコピーして、iPhone/Macのメモなどに保存しておきます。

トークンを設定する

まずは、自動設定のクラウド接続の手順を示します。Homebridge SwitchBotプラグイン導入が終わるとプラグインの画面の「設定」ボタンが押せるようになります。Homebridge SwitchBotプラグインの設定ボタンを押すと、説明の画面が出ます。

先に述べたクラウドトークンの入手方法が書いてあります。それによると、

  1. iPhoneかAndroidからSwitchBotの専用アプリを開く
  2. その「プロフィール」ボタンを押す(人のアイコンのボタンです)
  3. 「設定」ボタンを押す(歯車アイコンのボタンです)
  4. 一番下にある「アプリバージョン」の表示を10回タップする
  5. すると「開発者向けオプション」のボタンが出るのでこれをタップする
  6. 英数字のトークンが表示されるのでコピーボタンを押してクリップボードにコピーする

と書いてあります。CONTINUEを押すと設定画面に移ります。

ここでSwitchBot Account Infoを選択します。そして、SwitchBotアプリで入手したトークンとシークレットを記入します。

HomeKitから使う

設定は以上です。これで保存して、Homebridgeを再起動すれば、クラウドに登録してあるデバイスがiPhoneやMacのホーム.appに自動的に表示されます。

実際に試したところ、ボット、カーテン、ロックなどが自動的に認識されて表示されます。

赤外線リモコンで登録しているエアコンも表示されます。

スマート赤外線リモコンに関しては、Nature Remoの紹介を以下でしました。

Nature RemoをHomebridge / HomeKitから使う
ネットから操作できる赤外線リモコンNature RemoをHomeKitから使えるように設定します。クラウド経由の設定と、ローカルAPIを使った設定の2種類の方法があります。 追記:Matter対応新型スマートリモコン、Nature Rem...

Nature Remoは赤外線リモコンだけが対象ですが、SwitchBotハブはSwitchBot製品のコントロールも可能なので多機能です。その代わり、Nature Remoは日本のエアコン製品に細かく対応しているそうです。ただ、個人的に使った限りでは、その差は感じられません。

BLE接続する

クラウド接続による自動設定で問題なければ、以上の手順で終了です。非常に簡単です。

さらに手作業で設定項目を追加して、個々のデバイスに関して細かい設定を行うこともできます。例えば、ハブ・クラウドを使用せずにBLEだけで接続を行いたい場合は、個別にデバイスを登録します。以下にマニュアル設定によりBLE接続する手順を説明します。

BLEドングルの準備

BLE接続の前提として、HomebridgeサーバーコンピュータにBLEが備わっている必要があります。Raspberry Pi 3や4のBluetooth付きモデルならBLE対応してます。古いコンピュータだとBLE未搭載だったり、搭載していてもLinux非互換だったりしますので、対応したUSBアダプタがあると良いです。Linuxと互換性の高いCSRチップ搭載Bluetooth 4.0 USBアダプタをUbuntuサーバに取り付けた記事を参考にしてください。

Bluetooth (BLE) アダプタをUbuntuやRaspberry Piで使う
スマートホームで良く使われる低消費電力近距離無線規格の一つがBluetooth Low Energy (BLE)です。今回は、UbuntuをインストールしたBLE未搭載のパソコン (Intel NUC) で動かしているHomebridgeサ...

デバイスIDの用意

個々に設定するデバイスのIDを知っておく必要があります。これはBLEのMACアドレスです。SwitchBotのスマホアプリの「デバイス情報」に表示されている6バイトの16進数がMACアドレスです。

BotをBLE接続する

「Homebridge SwitchBot」にSwitchBot Botを1個、BLE接続で登録する手順を示します。まずはスマートフォン用のSwitchBot専用アプリで登録して、動作を確認しておきます。

次にHomebridgeでの設定を行います。プラグインの設定画面、

で、SwitchBot Device Settingsを選択します。すると、新しいデバイスを手作業で登録する画面になります。

ここで、ADD NEW SWITCHBOT DEVICEをクリックし、Device IDを入力します。これは上記の手順で入手したBLEのMACアドレスです。1バイトごとの区切りのコロンは不要です。IDを書き込むと詳細な選択ができるようになります。この後、

  • 名前をつける
  • BluetoothのMACアドレスを入力する(済み)
  • Device TypeからBotを選ぶ
  • Connection TypeをBLEにする

などの設定をします。GUIで適当に入力した後は、テキストの設定ファイルで確認します。ブラウザのタブから「コンフィグ」を選びます。

これでテキスト編集して設定が可能です。プラグインと同じ名前が、platformに書かれているので、SwitchBotという場所を探します。以下のようでした。optionの項目に、手作業で追加したデバイスが現れます。

{
  "name": "SwitchBot",
  "credentials": {
    "token": "123456",
    "secret": "098765",
    "notice": "Keep your token a secret!"
  },
  "options": {
    "devices": [
    {
      "deviceId": "C71122334455",
      "configDeviceName": "myBot",
      "configDeviceType": "Bot",
      "connectionType": "BLE"
    }
    ]
  },
  "platform": "SwitchBot"
}

ちなみにこの設定ファイルは、サーバの

/var/lib/homebridge/config.json

の場所にありますので、sshして編集しても良いです。確認できたらwebページ右上の電源ボタンアイコンを押して、Homebridgeを再起動します。これでiPhoneやMacのホーム.appにSwitchBot Botのボタンが現れるはずです。クリックすると動作しました。

カーテンをBLE接続する

次に、SwitchBotカーテンも使ってみました。カーテンレールにぶら下がって移動することで、カーテンを開閉してくれます。カーテンレールの形状によって機種が違うので、合うモデルを選びます。

これも、SwitchBot専用スマホアプリに登録して、カーテン開閉の向きやカーテン幅を調整します。その後、SwitchBot Botと同様にHomebridgeから設定をすることで利用できました。プラグインの設定では、Device TypeとしてCurtainを選びます。カーテン開閉は見た目にもインパクトあって面白いです。

ただ、カーテンに関しては、前述のようにHub 2を使えばMatter経由でHomeKitから操作できます。クラウド不要ですので、Hub 2が用意できるならばMatter接続がおすすめです。

まとめ

SwitchBot製品をHomeKitから使う方法を解説しました。HomeKit対応製品は少ないのですが、Homebridgeを使えばほぼ全てのSwitchBot製品をHomeKitから使用できます。SwitchBotクラウドに接続する設定を行えば、個々のデバイスは自動設定されるので、簡単です。以下の記事もご覧ください。

SwitchBotロックをHomeKitから使う
追記:この記事の内容は古くなりました。SwitchBot Hub 2がアップデートされて、SwitchBotロックをMatter接続できるようになりました。以下をご覧ください。 この結果、Hub 2があればロックをHomeKitに直結できま...

コメント

タイトルとURLをコピーしました