Smart HomeをDIYする

Apple HomeKit は対応製品が少なくて高価なのでHomebridgeでがんばります

Homebridgeをインストールする

HomebridgeはApple HomeKitのためのブリッジです。サーバーと動かしておけば、HomeKit非対応のデバイスをHomeKitアクセサリとして利用することができます。自作のデバイスや、GoogleAmazonにしか対応していない機器がHomeKitから使えるようになります。

Homebridgeは、Raspberry PiLinuxマシン、QNAPやSynologyなどのNASWindowsマシン、Macなどにインストールできます。サーバーとして24時間動作させるので、Windows版やMac版はあまり使わないと思います。ここでは、Raspberry PiLinuxマシン、QNAPのNASへのインストール方法をメモしておきます。詳しくはHomebridgeのサイトをご覧ください。

homebridge.io

インストールの前に、HomeKitとHomebridgeの関係を整理しておきます。

Apple HomeKit

Apple HomeKitは、iPhone, Mac, HomePod, iPad, Apple Watchなどを使ってスマートホームを実現するためのフレームワーク、ライブラリ一式のようなものです。iOS, macOSなどのApple社OSの一部として組み込まれています。HomeKitは、スマートホームを実現するための枠組・アプリケーションとしてとても良く作られています。iPhoneユーザまたはMacユーザには、HomeKitを強くお薦めします。逆に、Apple製品には興味が無いAndroidユーザの方にとっては、HomeKitは無縁です。

HomeKitに対応した照明、スイッチ、コンセント、センサなどのIoT機器はアクセサリと呼ばれ、HomeKit Accessory Protocol (HAP)というプロトコルで通信します。HAPに対応した製品ならば、iPhoneMacのホーム.appから制御できて、Siriで操作できます。

HAPで通信できるHomeKit対応製品は、そこそこの種類が発売されていますが、GoogleAmazonに対応した製品ほどは多くありません。また価格も高い傾向があります。その中でも、スマートプラグのMeross Plugなどは、比較的お値打ちな製品だと思います。最近はAppleの承認を得ないで販売されている安価なHAP対応製品もネットで見かけるようになりました。さらにはDIYするならば、前の記事で紹介したESP32で動くHomeSpanライブラリを使うことで、HAPに対応したアクセサリを作れます。

Homebridge

Homebridgeは、オープンソースソフトウェアで、Raspberry Piなどの上でサーバとして稼働して、さまざまな機器をHomeKit対応アクセサリとして動作させます。HAPとそれ以外のプロトコルのブリッジとして機能します。これを使えば、HomeKitに対応していない製品、例えばSwitchBotの製品、Nature RemoなどがHomeKitで使えるようになります。HomeKit対応製品が少なく高価なことを補ってくれるありがたいツールです。また、MQTTやZigbee2MQTTなどのIoTでよく使われるプロトコルへの対応や、Raspberry PiのGPIOのコントロールなども可能ですし、自作のスクリプトやプログラムを起動させることも可能です。

Home Assistanceをはじめとする他のオープンソーススマートホーム向けサーバは、スイッチとランプの関係付けとか、センサ情報に対応した自動化などの機能をそれ自体で提供します。一方で、Homebridgeは、HAPへのブリッジ機能だけを提供します。機器のコントロールには関与せず、それはAppleが提供するソリューションに任せています。

他のオープンソースサーバと同じく、Homebridgeもプラグインにより機能拡張する仕組みを取り入れてます。色々な人たちがプラグインを開発して公開しているので、それを組み込むことで、多彩な機器をHAP対応させることが可能です。Homebridgeを活用するためには、本体をインストールするだけでなく、目的に合ったプラグインを探してくる必要があります。

多数の便利なプラグインが提供されていますが、お薦めしたい一つはMQTTをサポートするプラグイン類です。MQTTを導入することで、ESP32で色々なDIYが可能になります。また、Zigbee2MQTTを導入することで、多数のZigbeeバイスがHomeKitから使えるようになります。

 

という便利なHomebridgeを、以下でインストールします。

Raspberry Piへのインストール

Raspberry Piを使い始めるには、WindowsMacからRaspberry Pi Imagerを使うのが便利です。これを使えば、起動用のSDカードやUSBメモリを作ることができます。ちなみに最近のRaspberry Pi 4ならば、設定を頑張らなくてもUSBメモリやUSB接続SSD/HDDからの起動が可能になりました。USB 3.0のUSBメモリを使えばSDカードより高速ですし、SSD/HDDを使えば耐久性が上がります。サーバーとして使うのならUSB起動が良いです。

Raspberry Pi Imagerで、「OSを選ぶ」を選んで選択していくとHomebridgeが選択肢に現れます。これを選んで、「ストレージを選ぶ」からSDカードやUSBメモリを選び、「書き込む」ボタンを押せば、起動ストレージが完成します。

また、OSの選択が終わると、右下に歯車アイコンが出ます。これをクリックすると、WiFiの設定ができるようになります。Macならばキーチェーンから読み込んでくれます。ここで設定しておけば、起動後にネットワーク越しに操作できるので、Raspberry Piにディスプレイもキーボードも接続する必要がありません。

Raspberry Piへのインストールは、こちらの記事でも紹介しました。参考にしてください。

diysmarthome.hatenablog.com

Linuxマシンへのインストール

このところRaspberry Piが品不足で入手困難なので、PC-ATX互換の普通のインテルCPUのデスクトップPCにLinuxを入れてサーバにするのも良いと思います。使わない古いデスクトップを抱え込んでいる人も多いと思いますし、その辺りに捨てられていることもあると思います。ハードオフなどでジャンク品を二束三文で買ってきても良いと思います。私も、Raspberry Piが買えないので、放置していた初代Intel NUCであるDC3217IYEに、Ubuntu Server 22.04 LTSをインストールして使ってます。

Linuxマシンへのインストールも、簡単になっているようです。レポジトリを設定して、apt-getするだけで完成します。こちらに書いてあるコマンドをコピペして実行しました。

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-get update
sudo apt-get install homebridge

QNAPのNASへのインストール

すでにNASを動かしている場合でしたら、そこにインストールしてしまえば、追加の電気代もかからなくて良いです。QNAPやSynologyなどのNASで動かせます。その場合、簡易的な仮想マシンのような環境の、Dockerというのを使います。なお、古いQNAP製品だと性能が足らなくてDockerがサポートされていないこともあります。

QNAPの場合、Container StationというツールからDockerとHomebridgeをインストールします。Dockerが使うIPアドレスは、NASと共有することもできますし(同じポート番号は使えない)、NASとは別にDocker独自で持つこともできます。NASとは別にするのが良いと思います。また、Dockerで使う設定ファイルやデータをファイルサーバからも見えるように設定しておけば、管理も楽です。

Homebridgeの設定

設定が終われば(もしかしたらサーバーの再起動が必要かもしれませんが)Homebridgeは動いてます。設定したIPアドレスにポート番号8581を付けて、Webブラウザからアクセスすれば、設定画面が現れます。例えばIPアドレスが192.168.0.10だったら、

http://192.168.0.10:8581/

で以下のような画面が現れます。

ログインのユーザ名と初期パスワードは、どちらもadminです。このWebインタフェースから、ほぼ全ての設定が可能です。プラグインを探して、導入し、設定する操作もWebページから行えます。

HomeKitに登録する

これで出来上がったのがApple HomeKitのプロトコルHAPに対応したブリッジです。これをiPhoneMacのホーム.appから使用するためには、ブリッジとして追加します。ブリッジとアクセサリは同じような扱いらしく、メニューとしては画面の+マークを押して出てくる「アクセサリを追加」を選べば良いです。ちなみにアクセサリとブリッジの追加・削除は、iPhoneのホーム.appからのみ可能です。Macからは追加・削除できません。

アクセサリの追加を選ぶと、カメラが起動します。上でインストールしたHomebridgeのWebページに表示されているQRコードを読み込ませると、登録できます。

https://homebridge.io/assets/images/homebridge-ui.png

( https://homebridge.io/ から引用)

まとめ

Homebridgeサーバを用意することで、メーカー独自規格の機器や、自作機器をHomeKitから使えるようになります。このブログでも色々なIoTデバイスを利用する様子を紹介していきます。

diysmarthome.hatenablog.com