HomebridgeはApple HomeKitのためのブリッジソフトウェアです。サーバーとして動かしておけば、HomeKit非対応のデバイスを、HomeKitアクセサリとして利用することができます。自作のデバイスや、GoogleやAmazonにしか対応していない機器がHomeKitから使えるようになります。
Homebridgeは、Raspberry Pi、Linuxマシン、QNAPやSynologyなどのNAS、Windowsマシン、Macなどにインストールできます。ここでは、Raspberry Pi、Linuxマシン、QNAPのNASへのインストール方法をメモしておきます。詳しくはHomebridgeのサイトをご覧ください。
Apple HomeKit
インストールの前に、HomeKitとHomebridgeの関係を整理しておきます。
HomeKitは、iPhone, Mac, HomePod, iPad, Apple Watchなどを使ってスマートホームを実現するためのApple社のフレームワーク、ライブラリ一式です。iOS, macOSなどのApple社OSの一部として組み込まれています。HomeKitは、スマートホームを実現するための枠組・アプリケーションとしてとても良く作られています。iPhoneユーザまたはMacユーザには、HomeKitを強くお薦めします。逆に、Apple製品には興味が無いAndroidユーザの方にとっては、HomeKitは無縁です。
HomeKitに対応した照明、スイッチ、コンセント、センサなどのIoT機器はアクセサリと呼ばれ、HomeKit Accessory Protocol (HAP)というプロトコルで通信します。HAPに対応した製品ならば、iPhoneやMacに標準で搭載されているホーム.appアプリケーションから制御できて、Siriで操作できます。
HAPで通信できるHomeKit対応製品は、そこそこの種類が発売されていますが、GoogleやAmazonに対応した製品ほどは多くありません。また価格も高い傾向があります。その中でも、スマートプラグのMeross Plug、SwitchBotプラグミニなどは、比較的お値打ちな製品だと思います。最近はAppleの承認を得ないで販売されている安価なHAP対応製品もネットで見かけるようになりました。さらにはDIYするならば、前の記事で紹介したESP32で動くHomeSpanライブラリを使うことで、HAPに対応したアクセサリを作れます。
Homebridge
Homebridgeは、オープンソースソフトウェアで、Raspberry Piなどの上でサーバとして常時稼働して、さまざまな機器をHomeKit対応アクセサリとして動作させます。Homebridgeという名前の通り、HAPとそれ以外のプロトコルのブリッジとして機能します。これを使えば、HomeKitに対応していない製品、例えばSwitchBotの非対応製品、Nature RemoなどがHomeKitで使えるようになります。HomeKit対応製品が少なく高価なことを補ってくれるありがたいツールです。また、MQTTやZigbee2MQTTなどのIoTでよく使われるプロトコルへの対応や、Raspberry PiのGPIOのコントロールなども可能ですし、自作のスクリプトやプログラムを起動させることも可能です。
Home Assistanceをはじめとする他のオープンソースのスマートホーム向けサーバは、スイッチとランプの関係付けとか、センサ情報に対応した自動化などの機能をそれ自体で提供します。一方で、Homebridgeは、HAPへのブリッジ機能だけを提供します。機器のコントロールには関与せず、それはAppleが提供するソフトウェアに任せています。なので、高度な機能を提供するHome Assistantに比べて、Homebridgeはシンプルで設定や運用も容易です。
他のオープンソースサーバと同じく、Homebridgeもプラグインにより機能拡張する仕組みを取り入れてます。色々な人たちがプラグインを開発して公開しています。プラグインを組み込むことで、多彩な機器をHAP対応させることが可能です。Homebridgeを活用するためには、本体をインストールするだけでなく、目的に合ったプラグインを探してくる必要があります。
多数の便利なプラグインが提供されていますが、お薦めしたい一つはMQTTをサポートするプラグイン類です。MQTTを導入することで、ESP32で色々なDIYが可能になります。
また、Zigbee2MQTTを導入することで、多数のZigbeeデバイスがHomeKitから使えるようになります。
このようにHomebridgeを導入することで、多数の非互換デバイスやDIYデバイスが、HomeKitで使えるようになります。
以下ではこのHomebridgeをインストールします。
Raspberry Piへのインストール
Raspberry Piを使い始めるには、WindowsやMacからRaspberry Pi Imagerを使うのが便利です。これを使えば、起動用のSDカードやUSBメモリを作ることができます。ちなみに最近のRaspberry Pi 4ならば、設定を頑張らなくてもUSBメモリやUSB接続SSD/HDDからの起動が可能になりました。USB 3.0のUSBメモリを使えばSDカードより高速ですし、SSD/HDDを使えば耐久性が上がります。とりあえずは簡単にSDカードでサーバーを立てて、長期運用に不安があるようならUSB起動を検討すると良いかと思います。。
Raspberry Pi Imagerをダウンロードし、起動して、「OSを選ぶ」から、「Other specific-purpose OS」を選び、「Home Assistants and home automation」を選び、Homebridgeを選びます。
また、右下に歯車アイコンがあります。これをクリックすると、WiFiの設定ができるようになります。Macならばキーチェーンから読み込んでくれます。サーバは有線LANで運用した方が良いとは思いますが、WiFiも設定してあると有線にトラブルがあった時に便利です。
この後、設定のウィンドウが開きます。ホスト名は、デフォルトではraspberrypiですが、ここでは短くpi4にしてあります。sshを有効にしておけば、ssh接続で色々な設定ができますので、Raspberry Pi用に、キーボードもディスプレイも不要です。下の設定では、安全のために公開鍵認証のみにしてありますが、後から設定できるので、最初は簡単なパスワード認証で良いと思います。ユーザ名はMacでいつも使っている名前にしておくと、sshするときにユーザ名を入れなくて良いので楽です。またここで、時差を設定しておけばログの日時などが日本時間になります。WiFi設定には、キーチェーン経由の情報が入っていると思います。
次に、「ストレージを選ぶ」からSDカードやUSBメモリを選び、「書き込む」ボタンを押せば、起動ストレージが完成します。完成したSD/USBメモリをRaspberry Piに接続して起動すれば、Homebridgeが起動しているはずです。Webブラウザから、http://pi4.local:8581で接続できます。また、ターミナルから、
$ ssh pi4.local
でRPi 4に接続できるはずです。Raspberry Piへのインストールは、こちらの記事でも紹介しました。参考にしてください。
Linuxマシンへのインストール
このところRaspberry Piが品不足で入手困難なので、PC-ATX互換の普通のインテルCPUのデスクトップPCにLinuxを入れてサーバにするのも良いと思います。使わない古いデスクトップを抱え込んでいる人も多いと思いますし、その辺りに捨てられていることもあると思います。ハードオフなどでジャンク品を二束三文で買ってきても良いと思います。私も、Raspberry Piが買えないので、放置していた初代Intel NUCであるDC3217IYEに、Ubuntu Server 22.04 LTSをインストールして使っていました。
Raspberry Piに比べると、一般的なPCは消費電力が多いです。省電力と思われるIntel NUCでも、Raspberry Piの2倍くらい電力を消費します。とはいえ、1年の電気代が500円だったところが1000円になる程度です。
LinuxマシンへのHomebridgeインストールも、簡単です。レポジトリを設定して、aptするだけで完成します。こちらに書いてあるコマンドをコピペして実行しました。
curl -sSfL https://repo.homebridge.io/KEY.gpg | sudo gpg --dearmor | sudo tee /usr/share/keyrings/homebridge.gpg > /dev/null echo "deb [signed-by=/usr/share/keyrings/homebridge.gpg] https://repo.homebridge.io stable main" | sudo tee /etc/apt/sources.list.d/homebridge.list > /dev/null sudo apt update sudo apt install homebridge
Linuxでよく使われるパッケージ管理コマンドには、aptとapt-getがあります。最近はaptを使っているので、ここでもaptに置き換えています。デスクトップ用のディストリビューションを最小構成でインストールすると、curlコマンドが入っていないかもしれません。その場合はsudo apt install curlでインストールします。
試してはいませんが、Raspberry Piにも、これと同様の方法でインストールできると思います。
Macへのインストール
HomeKitを使いたいと思うくらいのAppleファンなら、古いMacをサーバーとして同時稼働している人も多いかと思います。macOSはUnixベースなので、サーバーにも適してます。sshdや画面共有の設定も、WindowsやUbuntuより簡単だと思います。
HomebridgeはmacOSにもインストールできます。こちらの説明に従ってインストールします。
標準のmacOSにはNode.jsがインストールしていないので、node.jsのサイトから最新LTS版パッケージファイルをダウンロードします。ダブルクリックするとmacOSのインストーラが起動します。
インストール終了したら、動作していることを確認します。
% node -v v20.9.0 % npm -v 10.1.0
次に、HomebridgeとHomebridge UIをインストールします。
sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x
hb-serviceコマンドを使って、Homebridgeをサービス(起動時に動作開始し常駐するプログラム)として設定します。
sudo hb-service install
Homebridgeの設定ファイルであるconfig.jsonは、~/.homebridge以下に自動的に作成されます。
QNAPのNASへのインストール
すでにNASを動かしている場合でしたら、そこにインストールしてしまえば、追加の電気代もかからなくて良いです。QNAPやSynologyなどのNASで動かせます。その場合、簡易的な仮想マシンのような環境の、Dockerというのを使います。なお、古いQNAP製品だと性能が足らなくてDockerがサポートされていないこともあります。
QNAPの場合、Container StationというツールからDockerとHomebridgeをインストールします。Dockerが使うIPアドレスは、NASと共有することもできますし(同じポート番号は使えない)、NASとは別にDocker独自で持つこともできます。NASとは別にするのが良いと思います。また、Dockerで使う設定ファイルやデータをファイルサーバからも見えるように設定しておけば、管理も楽です。
Homebridgeの設定
以上の手順で、Raspberry Pi, PC, NASのいずれかにインストールが終了すれば、Homebridgeは動いてます。設定したIPアドレスにポート番号8581を付けて、Webブラウザからアクセスすれば、設定画面が現れます。例えばIPアドレスが192.168.0.10だったら、
で以下のような画面が現れます。
GET STARTEDボタンを押すと、ログイン用のユーザ・パスワードを登録できます。
このWebインタフェースにログインすれば、ほぼ全ての設定が可能です。プラグインを探して、導入し、設定する操作もWebページから行えます。
HomeKitに登録する
これで出来上がったのがApple HomeKitのプロトコルHAPに対応したブリッジです。これをiPhoneやMacのホーム.appから使用するためには、HomeKitにブリッジとして追加します。ブリッジとアクセサリは同じような扱いらしく、メニューとしては画面の+マークを押して出てくる「アクセサリを追加」を選べば良いです。ちなみにアクセサリとブリッジの追加は、iPhoneのホーム.appからのみ可能です。Macからは追加できません。
アクセサリの追加を選ぶと、カメラが起動します。上でインストールしたHomebridgeのWebページに表示されているQRコードを読み込ませると、登録できます。
( https://homebridge.io/ から引用)
まとめ
Homebridgeサーバを用意することで、メーカー独自規格の機器や、自作機器をHomeKitから使えるようになります。このブログでも色々なIoTデバイスを利用する様子を紹介していきます。
コメント
今回初めてスマートホーム化に乗り出した30代女子です。
ラズベリーパイ4B 8Gを購入し、今からOSや
Homebridgeをいれていくのですが、疑問が一つ。
Homebridgeは64bitのラズベリーパイOSでも問題なく起動しますか?
どうせなら4Bの機能を存分に発揮させてあげたいのですが、
Homebridgeが動かなかったりプラグインの選択が狭まると意味がないなーと思ってでした。
超初心者ですので、見当違いな質問でしたら、申し訳ありません。
お知恵をいただけるとありがたいです。
今日も良い日になりますように。
多分大丈夫な気がするのですが、どうでしょうか。試してみて、ダメなら32bitにするとか。
ちなみに、Raspberry Pi ImagerでインストールするHomebridgeのイメージは、32bit OSです。
現在はHomebridge 64bit版も選べるようになりましたね。
情報ありがとうございます。機会があったら試してみます