SwitchBot Hub 2をMatterブリッジにしてHomeKitから使う

HomeKitを使う

SwitchBot Hub 2をMatterブリッジとして設定し、Apple HomeKitに接続しました。iPhoneやMacのホーム.appから、Hub 2のケーブルに内蔵された温度センサと湿度センサの値が取得できました。またSwitchBotカーテン、ブラインドポール、ロックが制御可能です。現在、Matterで実現されているアクセサリは、この5種類です。(ロックを追加更新しました。2023/07/07)

SwitchBot Hub 2

SwitchBotのMatter対応で何がどう変わるかという記事を書きながら

SwitchBot Hub 2のMatter対応について
SwitchBot Hub 2が日本でも先月発売されて、一部SwitchBot製品がMatter対応しました。入手前に、そのMatter機能について考察しました。 追記:入手してMatter機能を使いました。以下をご覧ください Switch...

到着を待っていたSwitchBot Hub 2がようやく到着しました。

先月の発売の時にすぐに買えば良かったのですが、出遅れて、品切れになって、ようやく入手可能になりました。到着した箱はこんな感じです。箱の表記からすると、イチオシの機能は、スマートリモコンなんですね。

箱の裏に書かれた機能説明図がわかりやすいです。デバイスをIRとBLEで接続して、WiFiからクラウドに接続する様子が書かれてます。

旧製品のHub Mini (右)と比較すると一回り大きいです。

充電用のケーブル (両端がUSB Type-AとType-C) には温度・湿度センサがついてます。

ケーブルは曲げ癖をつけて取り付けると良いというステッカーまで貼ってあって、芸が細かいです。

アプリに登録する

早速電源ケーブルを取り付けて、SwitchBotアプリで設定します。設定には、2つのタッチボタンの両方を、同時に2秒タッチします。

これでSwitchBotアプリとペアリングしてくれます。この時、スマホを2.4GHz WiFiに設定する必要があるとのメッセージが出ます。次にハブの名前をつけて、部屋を決めれば設定終了です。SwitchBotアプリは、設定以外ではほとんど使用しない予定なので、設定は適当にしてます。この段階で、Hub 2の温度、湿度が測定できてます。

Matterブリッジ機能を有効にする

Matterブリッジ機能は、まだベータ版のようで、製品には含まれていません。そこでファームウェアアップデートをします。SwitchBotアプリのHub 2のページの右上の歯車アイコンをタップすると、設定メニューが現れます。この中に、Matter設定(ベータ版)というメニュー項目があるので、それをタップします。

するとMatter対応のベータ版ファームウェアにアップデートできます。

アップデート終了後に、再び同じMatter設定メニューをタップすると、今度は設定コードが表示されます。

このQRコード、もしくはその下に書いてある11桁の数字が、Matterのペアリングに必要です。ペアリングではスマホカメラでQRコードを読んで設定コードを入力できます。なのでこれをiPhoneから撮影できるようにしておくと良いです。印刷しても良いかと思います。私は、iPhoneのスクリーンショットを撮って、(すると写真.appに登録されるので)これをMacの画面で開いておきました。

HomeKitとペアリングする

これでHub 2がMatterブリッジとして機能開始しました。次は、このMatterブリッジを、HomeKitとペアリングします。HomebridgeをiPhoneでペアリングした時と同じ手順です。iPhoneのホーム.app画面の右上の+マークをタップして、「アクセサリを追加」を選択します。

するとQRコードを読めるようになります。通常のアクセサリや、Homebridgeでは、ここでQRコードをカメラに向ければ一瞬でペアリングできたのですが、今回はちょっと手間取りました。

先ほどのSwitchBotアプリに表示されたQRコードを読み込ませたところ、かなりの確率で失敗します。

ここではQRコードを使用せず、「その他のオプション…」を選択した方が良いようでした。

次に現れる「近くにあるアクセサリ」にHub 2があればこれを選択します。なぜ遠近が問題になるのかというと、ここでBLEを使ってペアリングのネゴシエーションをしているからです。Matterの本番の通信ではWiFiもしくはThreadを使用し、BLEは使用しません。Matter規格の団体が、元はZigbeeを決めていた人たちなので、BLEは冷遇されているのかもしれません。しかし、ペアリングの時だけは、BLEを使っても良いことになってます。BLEの位置付けは、ペアリングQRコードの代替品です。

BLEが仕事をして、Hub 2が現れるはずです。ここにHub 2が現れない場合は、Hub 2がペアリングモードになっていない可能性が高いです。Hub 2をリセットして、Matterペアリングを有効にします。リセットするためには、先ほどのボタンを15秒間同時長押しします。このことはSwitchBotアプリでも説明されています。15秒に至る前、2秒のところで、上記のSwitchBotアプリとのペアリングが開始し、ビープ音がします。ここは無視して、15秒まで押し続けます。

次に、設定コードを入力します。バーチャルキーボードでタップ入力しても良いですが、「カメラで読み取る」を選べば、SwitchBotが作ったQRコードを使用できるので楽です。

ペアリングに成功すると、通常のアクセサリ追加手順と同様に、ブリッジを設置する部屋と、ブリッジの名前を指定し、追加終了です。

デバイスをMatter接続する

次にSwitchBotカーテンをMatterブリッジ経由で接続します。現時点でHub 2でMatter対応になるデバイスは、

  • Hub 2 内蔵の温度センサー
  • Hub 2 内蔵の湿度センサー
  • SwitchBot カーテン
  • SwitchBot ブラインドポール
  • SwitchBot ロック

の5種類です。ここでは、Hub 2内蔵温度湿度センサ=と、SwitchBotカーテンをMatter接続します。

SwitchBotロックをMatter接続した記事はこちらをご覧ください。

SwitchBot ロックがHub 2経由でMatterに対応
SwitchBotロックが、Hub 2経由でMatterに対応しました。これでHomebridgeを使用しなくても、HomeKitから施錠・開錠できるようになりました。日本向けスマートロック製品で最初のMatter対応です。 Hub 2 M...

温度と湿度センサを接続する

続いて、Hub 2の電源ケーブルの途中に付いている温度・湿度センサをMatterデバイスとして登録するステップに、自動的に進みます。

これも設置場所と名前を指定します。その結果、ホームに以下のように表示されました。ここではHub2tempとHub2humiという名前をつけました。初めて使用するMatter対応デバイスなので感動です。


カーテンを接続する

Hub 2とHomeKitのMatterペアリングが成功すると、SwitchBotアプリのMatter設定の「未連携」だった表示が、「連携済み」に変化します。

さらに、ページの下にサブデバイスを追加できるメニューが現れます。ここで「追加へ」を選択して、SwitchBotカーテンかブラインドを選択します。手元にはカーテンしかないので、カーテンを追加しました。その結果、ホームにカーテンが現れます。

今まではSwitchBotカーテンを、Homebridge経由で接続していました。今回Matterで接続したことで、以下のように、両方のカーテンが現れました。わかりやすいように、Homebridge経由のカーテンをHB Curtain、Matter経由のカーテンをMatter Curtainという名前にしてあります。

どちらもHomeKitのカーテンですので、同じUIでの操作が可能です。

トラブル対策

ここまで説明した手順は、実際には何度か再試行しました。少し前に、ESP32を使ってMatterのlightを作ったのですが、

ESP32でMatterデバイスをDIYする
ESP32でMatter対応のLightデバイスを試作しました。On/Off機能があり、それに伴ってESP32のLEDが点灯・消灯し、押しボタンスイッチでトグルします。Arduinoから簡単に使えるライブラリesp32-arduino-ma...

実はこの時も何回かペアリングに失敗しました。ペアリングが難しいのは、SwitchBotのファームウェアがベータ版なことだけでなく、Matterの仕組み全体がまだベータ版に近い状態なのかもしれません。色々な環境でのノウハウ蓄積がこれからなのではと思いました。SwitchBotのMatter接続が、当初はHomeKitだけが対象で、GoogleやAmazonを対象としていなかった、トラブル対応を考えてのことかもしれません。(現在はGoogle, Amazonにも対応しています)

トラブルの種類

遭遇したトラブルは主に次の2点でした。まずはHub 2がMatterブリッジとして追加できないトラブルです。ペアリングを試みても、「アクセサリを追加できません」と表示されます。SwitchBotアプリのMatter設定では「未連携」と表示されます。

次は、ペアリングが成功した後に、Hub 2とそれに接続された温度・湿度センサが応答しないトラブルです。「このアクセサリから応答がありません」と言われます。SwitchBotアプリのMatter設定では「連携済み」と表示され、カーテンの追加が可能ですが、カーテンはHomeKit側に現れません。

この2種類、「ペアリングできない」「応答なし」の問題に対して、有効だった(かもしれない)対応を以下に列挙します。

Hub 2をリセットする

ペアリングできない問題に有効です。すでに述べたように、Hub 2のボタンを15秒間同時長押しして、リセットしペアリングモードにします。ペアリングモードになっていることを確認するためには、これも前述したように、QRコードをスキャンする代わりに「その他のオプション…」を選択すると良いです。

iPhoneのWiFiを2.4GHzにする(ペアリング時)

ペアリングできない問題に有効です。通常は、ホームハブとiPhoneは5GHzのWiFiで接続しているのですが、ペアリングの時はiPhoneを2.4GHzにします。Hub 2をSwitchBotアプリに登録する際にも2.4GHzにしましたが、Matterペアリング時もそうすべきようです。アプリ登録とMatterペアリングで、SSIDやパスワードを共有していないのかと思われます。ただしペアリングを試行錯誤して、長く操作していると、iPhoneが自動的に5GHzの設定に戻ってしまうこともありました。

一方、SwitchBotのアプリの説明では、HomePodやApple TVなどのホームハブも2.4GHzにすると良いという記述がありました。でもこれは不要のようです。ホームハブのWiFiは変更する必要ありませんでした。

iPhoneのWiFiを2.4GHzにしない(ペアリング後)

ペアリングが終わった後、温度・湿度センサが「応答なし」状態になりました。また、カーテンを接続しても、これも「応答なし」になりました。

これを回避するために、ペアリング終了後は、iPhoneのWiFi接続先を、HomePodなどのホームハブと同じWiFiに戻した方が良いようです。今回の例では、どちらも5GHzにして合わせました。iPhoneとホームハブのWiFi SSIDが違うとホーム.appで警告が出ます。

ホームハブをリセットする

「応答なし」状態を回避するために、ホームハブ(HomePod mini)をリセットしました。iPhoneのWiFiをホームハブと一致させる作業と同時に行ったので、リセットが効いたかどうかは不明です。

ホームハブを1個にする

これも「応答なし」問題に有効かもしれません。SwitchBotの説明ページによると、HomePod miniが複数あるとデバイスに接続できない場合があるようです。原因はSwitchBot社で調査中らしいです。今回は、HomePod miniとApple TVの両方がある環境でしたので、念のためにApple TVの電源をoffにしました。これが効いたかどうかは不明です。Matter接続デバイスが正しく応答するようになった後にApple TVを復帰させましたが、今のところ問題なく動作してます。

反映されるまで待つ

「応答なし」の問題に有効かと思います。色々試みているうちに、なぜかちゃんと動作するようになりました。Matterが正しく動作開始するために時間がかかるのかもしれません。iCloudレベルでの同期が必要だとすると、時間を要する可能性はあると思います。「応答なし」の場合は、焦らずに様子を見るのも良いかもしれません。

応答速度

以上のように、設定に多少手間取りましたが、Matter経由でカーテンを接続できました。今までも、SwitchBotカーテンをHomeKitで使ってました。そのために、HomebridgeとSwitchBotのプラグインを使用してました。

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

この方式では、SwitchBotのクラウド経由で使用していたわけですが、応答が遅いと感じることはありませんでした。Matter経由で使用しても、同様にキビキビと動作しています。ただ、カーテンが「閉鎖・開放中…」から「閉鎖・開放済み」の表示に切り替わる際に、少し時間がかかる時がありました。少し待てば切り替わるので、それほど気にしてません。

Hub 2を買うべきか?

Matter対応SBデバイスの場合

HomeKitからはSwitchBot製品(HAP対応のプラグを除く)が使えないけど、これを補うためにHomebridge (HB) やHome Assistant (HA) をインストールするのは面倒だと思うiPhoneユーザは多いと思います。そんな人たちには、ぜひHub 2を使ってHomeKitの良さを実感してほしいと思います。

HBをインストールしてマニアックに使用しているユーザでも、ロック、カーテン、ブラインドだけを使うユーザは、Hub 2を買ってMatterに移行すべきです。クラウドを経由しないので、応答速度も向上します。

Matter非対応SBデバイスの場合

SwitchBotのボット、スマートリモコン機能、照明、リモートボタン、温度計、湿度計、HAP未対応スマートプラグを、HBやHAを使ってすでに使いこなしている人には、旧型HubからHub 2に買い替えるメリットはほとんどないです。これらのデバイスはMatterに未対応だからです。

SwitchBotをHomebridgeとHomeKitで動かす
SwitchBot製品をHomeKitに接続して、iPhone/Macのホームアプリから使用する方法を説明します。HomeKit対応製品(プラグのみです)を使用すればそのまま使えますし、最近では一部製品がMatter経由で使えます。またHo...

Homebridgeデバイスを消す

Matterに対応したSwitchBotデバイスと、非対応のデバイスを併用する場合、Matter接続しつつ、Homebridgeも残して非対応デバイスを使うことになります。そうすると、Matter対応デバイスが、Matter経由とHomebridge経由の両方で接続されてしまいます。例えば、前述のカーテンの例では、二つのボタンが表示されてしまいました。

Matter経由のボタンは、Hub 2からMatter接続されたシンプルな経路のボタンです。一方で、Homebridge経由のボタンは、SwitchBotプラグインがSwitchBotクラウドにアクセスして実現しているボタンです。こちらはHomeKit Accessory Protocol (HAP) を使用しています。

両方とも同時に動作しますが、混乱しますのでHomebridge経由のボタンを消したいと思いました。

SwitchBotプラグインは、デフォルト設定ではすべてのSwitchBotデバイスをホーム画面に表示します。なので、Homebridgeのconfigファイルを以下のように書き換えて、カーテンデバイスが表示されないようにしました。カーテンを特定するdeviceIdの値は、HomebridgeのWeb UIから「プラグイン」タブを開き、そこのSwitchBotプラグインの設定をクリックすると読み取れます。optionsというキーは、自動認識されたデバイス情報を上書きする指定です。ここでは、deviceIDの123456789012(カーテン)に対して、hide_activeフラグをtrueにして、表示を消しています。表示されないので、configDeviceNameを指定する意味はありませんが、hide_activeにした対象デバイスが何であるかの覚書のために名前を書いてあります。

{
    "name": "SwitchBot",
    "credentials": {
        "token": "xxxxxxxxxxxxxxxxx",
        "secret": "xxxxxxxxxxxxxxxx"
    },
    "options": {
        "devices": [
            {
                "deviceId": "123456789012",
                "configDeviceName": "HB Curtain",
                "hide_device": true
            }
        ]
    },
    "platform": "SwitchBot"
}

これでMatter経由のボタンだけが表示されるようになりました。

クラウド非依存の確認

Matterは、クラウドに依存する事なくローカルに動作することがメリットの一つです。それを確認するために、前述のHomebridgeプラグイン設定を一時的に戻して、以下の確認をしました。

HAPもMatterと同様にクラウド非依存なプロトコルです。ただSwitchBotプラグイン設定では、カーテンをクラウド経由で使用することにしていました。BLE直結で動かす設定も可能なのですが、BLE接続が少し不安定だったので、クラウド経由に設定してあります。

今回、Hub 2にMatter接続したことにより、SwitchBotクラウドを使用しない動作が可能になりました。そのことを確認するために、ルータからサービスプロバイダへの線を外して、インターネット接続を切断してみました。この結果、クラウドへの接続が切断されて、Homebridge経由のボタンは動作しなくなりました。一方で、Matter経由のボタンは引き続き正しく動作しました。ちなみに、SwitchBotアプリも、自動的にLANまたはBLE接続に切り替わるようで、引き続き使用可能でした。

クラウド非依存でも動作する点は、Matterのメリットだと思います。SwitchBot製品をGoogle, Amazonのエコシステムをクラウド経由で使用する場合は、クラウドに不具合が生じた場合、使用不可能になってしまいます。

追記:Amazon, Googleからの利用

発売当時は、HomeKitのみがMatter接続の対象でした。その後、Google, AmazonからもMatter接続できるようになったようです。試してみます。

Amazonからの接続

最初にHomeKitに接続してあるので、HomePod miniがMatterコントローラになっています。この状態で、他のプラットフォームに接続する場合は、HomeKitからペアリングを開始します。ホーム.appのHub 2の設定画面を開いて、「ペアリングモードをオンにする」を選択します。するとペアリングモードが開始します。この設定コードは、コピーしておきます。

次に、iPhoneでAlexaアプリを起動します。デバイスを追加するメニューを選び、Matterの追加に進むと、以下のようにペアリングされました。

追加された2台のデバイスは、カーテンと、Hub 2の温度湿度計でした。SwitchBotには、カーテン、ロックが接続されているのですが、Alexaには、なぜかカーテンだけが接続されました。

したはカーテンの画面です。スライダを動かすと操作可能です。Appleのホームに比べると、とても質素な画面デザインです。

Googleからの接続

Googleからの接続も同様に可能でした。Google Homeを起動して、デバイスの追加、Matter対応デバイスを選択します。その後、ペアリングコードの数字をペーストしたところ、Matterアクセサリの追加には進んだのですが、追加に失敗しました。

   

でもこの後、何回か繰り返していたら、接続できました。以下では、Hub 2内蔵の温度湿度計、それに接続されたSwitchBot カーテン、ロックが見えてます。

まとめ

SwitchBot Hub 2をMatterブリッジとして設定し、Apple HomeKitに接続しました。ベータ版なので仕方ないところですが、設定では何度か再試行しました。現在、iPhoneやMacのホーム.appから、Hub 2のケーブルに内蔵された温度湿度センサの値が取得でき、SwitchBotカーテンとロックをMatter経由で使用しています。今後、ボット、各種センサ、赤外線リモコンなどがMatter対応予定だそうです。

コメント

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