HomeKit 非対応のデバイスを HomeKit 対応に!Homebridge を Mac にインストールする方法とおすすめプラグインを紹介!【スマートホーム】

記事の最終更新日: 2023/12/12

みなさんこんにちは、たいくんです。
みなさんは、スマートホーム生活、やっていますか?
おそらくほとんどの人は「対応機器を持ってない・売っていないからやってない」か、「電球だけの小規模なスマートホームしかできていない」のではないでしょうか?
スマートデバイス(でかつHomeKit対応)はなかなか売っていなかったり、そもそもどんなものがあるかわからず買うに買えないなど、本格的なスマートホームを構築できていない人が多いと思います。
そこで今回は、HomeKitに対応していないスマートデバイス(IoTデバイス)をHomeKit対応にする「Homebridge」と、私が使用しているHomebridgeプラグインを紹介します!

必要なもの

Homebridgeを使ったスマートホームの構築に必要なものは以下の通りです。
  • Homebridgeを動作させるためのサーバーPC(24時間稼働)
  • 対応させたいスマートデバイス
  • インターネット回線
たったこれだけです。
外出先からの操作や、オートメーション(自動化)を利用するためには以下も必要です。
  • ホームハブ(Apple TV / HomePod / iPad*)

Homebridgeは、HomeKitの「ブリッジ」といって、機器を制御するための中枢のようなもので、そのブリッジの機能をPCで行うプログラムです。
そのため、HomebridgeをインストールするPCは24時間起動させっぱなしにしておく必要があります。
なお、高性能である必要はないので、使わなくなった古いノートパソコンなどでも十分です(ただし、インターネットに接続するため、最新のOSにしておくなどのセキュリティ対策は必要)。
低消費電力かつ常時稼働させやすい、Raspberry Piなどの小型PCで使うのがおすすめです。


* iPadOS 16以降で、「新しいHomeアーキテクチャ」にアップグレードした場合は、iPadをホームハブとして使用できません。
Apple TVやHomePodシリーズを用意してください。

Homebridgeのセットアップ

Homebridgeのインストール

Homebridge.io
Homebridgeの公式サイトからダウンロードすることができます。
対応システムは、Raspberry Pi、Linux、macOS(Intel / Apple Silicon)、Docker、Windowsです。
今回はmacOSにインストールするので、中央のAppleロゴをクリックします。

Install on macOSをクリックします。

Homebridge公式GitHub Wikiページが開くので、ここに書かれている指示に従ってインストールします。

Download Node.js vXX.XX.X macOS Installerをクリックして、指定されているバージョン(画像では16.13.0)のNode.jsをダウンロードします。

ダウンロードしたパッケージファイルを開き、Node.jsをインストールします。

インストールしたら、ターミナルを開きます。
デフォルトではアプリケーションフォルダ内のユーティリティフォルダに入っているはずです。

開いたら、「node -v」と「npm -v」をそれぞれ実行して、バージョンが表示されたらNode.jsのインストールは成功です。
それ以外の表示が出たらインストールできていない可能性が高いので、再起動したり、再インストールしたりしてください。

次はいよいよHomebridgeをインストールします。以下のコマンドをターミナルにコピペしてください。

sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x

Passwordの表示が出たら、パスワードを入力します。
入力中は何も表示されませんがしっかり入力されています。

入力可能な表示になったらインストール完了です。
出力のどこかにRun npm install -g npm@X.X.X to update!と書いてあれば、npm install -g npm@X.X.Xの部分をコピペしてnpmをアップデートしてください。

Homebridgeサービスをインストールするために、以下のコマンドを実行します。
これにより、Macが起動したらHomebridgeサービスが自動的に起動するようになります(このコマンドをスキップすることで、Macの起動時にHomebridgeが自動的に起動しないようにすることができます)。

sudo hb-service install

この画面になったらHomebridgeとHomebridge UI(GUIプラグイン)のインストール完了です。

Homebridge UIにログインする

http://localhost:8581、またはhttp://サーバーPCのプライベートIPアドレス:8581に接続するとHomebridge UIにアクセスすることができます。
このリンクはローカルネットワーク内でのみアクセスできます。
つまり、異なるネットワークや外出先からはアクセスできません

初期設定後のユーザー名とパスワードはそれぞれ「admin」です。

ログイン後、このような画面が表示されます。この画面がHomebridgeのホーム画面です。
初期設定後は、右上の…メニュー内「ユーザーアカウント」からユーザー名とパスワードを変更してください。
iPhoneやiPadなどで「ホーム」アプリを開き、上にある+ボタンから「アクセサリを追加」を押し、Homebridgeの画面左上の大きな二次元コードをカメラで読み取るか、「その他のオプション...」から手動で追加し、Homebridge画面の二次元コードの下の8桁の数字を入力すると、HomebridgeがHomeKitに追加されます。

プラグインのインストールと更新

トップナビゲーションバー(上部メニュー)の「プラグイン」というところから、新しくプラグインを検索してインストールしたり、更新したりすることができます。プラグインの環境設定を変更することもできます。

注意

接続するデバイスは、デバイス本体から、またはWi-FiルーターからIPアドレスが変わらないようにしておくことをおすすめします。
デバイスの再起動時などにIPアドレスが変わってしまうと、プラグインからデバイスにアクセスすることができなくなってしまう場合があります。

私が使っているプラグイン

ここからは、私が使っているプラグインを紹介します。
導入したいプラグインのアイデアなどの参考にしてください。

Homebridge ADB

プラグインのページはこちらです。
PCモニターとして使用しているTCLのAndroid TV(43P8B)の制御(オン・オフ)をするために導入しました。
リモコンの電源ボタンを押さなくても、Siriから音声で制御できるので楽です。

デバイスの種類はプラグインの設定から、テレビ、Apple TV、ストリーミングスティック、セットトップボックス、オーディオレシーバー、スピーカーから選んで認識させることができます(テレビを選ぶと、テレビとして認識される)。
iOSデバイスなどのコントロールセンターのリモコンから、テレビなどを操作することもできます。

Homebridge Bravia TV OS

プラグインのページはこちらです。
故障してしまって現在は使っていませんが)リビングに設置してあったBRAVIA KJ-75X8500Fの制御用に導入しました。
時々リモコンが見当たらなくなるので、そういった時には便利です。
また、テレビのオン・オフに合わせて、近くのスマート照明の電源を切り替えるオートメーションにも使っています。

デバイスの種類はテレビとして認識されます。プラグインの設定から、テレビの入力、チャンネル等を設定することで、ホームアプリから入力を切り替えることができるようになります。
iOSデバイスなどのコントロールセンターのリモコンから、テレビを操作することもできます。

Homebridge Camera FFmpeg

プラグインのページはこちらです。
3Dプリンター(Adventurer 3X)に内蔵されているカメラの映像を確認するために導入しました。
3Dプリンターに内蔵されているカメラ自体の画質があまり良くないため、印刷中に失敗していないかを大まかに確認する時に使用しています。

デバイスの種類はカメラ(HomeKit セキュアビデオ非対応)として認識されます。そのため、録画はできません。

Homebridge Camera UI

プラグインのページはこちらです。
上記プラグインからこちらのプラグインに移行しました。
このプラグインでは、カメラをHomeKitに対応させるだけではなく、Webインターフェースが用意されていたり、HomeKitセキュアビデオに対応したりなど、高機能なカメラプラグインです。

デバイスの種類はカメラ(設定によってHomeKit セキュアビデオ対応・非対応)として認識されます。
プラグインの設定から映像の動きを検知できるモーションセンサーを追加することもできます。


Homebridge Meross

プラグインのページはこちらです。
HomeKitに対応していないバージョンのスマート電源タップ(MSS425F)用に導入しました。
HomeKit対応バージョンと全く同じ使い方ができるようになったので便利です。

私が追加したスマート電源タップの場合、デバイスの種類はスイッチとして認識されますが、ホームアプリから「ファン」や「照明」として認識させることができます。
また、プラグインの設定からスイッチではなく「コンセント」として認識させることもできます。
ちなみに、クラウド経由からの制御だけでなく、ローカルネットワークから制御することも可能です。

Homebridge Mi Humidifier

プラグインのページはこちらです。
XiaomiのSmartmi スマート加湿器2をHomeKitで操作できるように導入しました。
オン・オフだけでなく、温湿度(プラグインの設定で追加可能)やファンの速度、水位なども確認できるので便利です。

私が追加した加湿器の場合、デバイスの種類は除加湿器として認識されます。
プラグインの設定から、温湿度センサーを追加したり、LEDの明るさを「電球」として追加したりなどができます。
目標湿度は30%から80%の間で設定できます。

Homebridge SmartThings Plugin

プラグインのページはこちらです。
Samsung SmartThingsのデバイスを制御するために導入しました。
詳細はこちらの記事で解説しているので、ご覧ください。

Homebridge SwitchBot

プラグインのページはこちらです。
SwitchBot公式が開発しているプラグインです。
詳細はこちらの記事で解説しているので、ご覧ください。

Homebridge Yamaha AVR

プラグインのページはこちらです。
YAMAHAのAVアンプ RX-V6Aで、AirPlay 2以外の操作をできるように導入しました。
オン・オフ以外に、入力切り替えもできるので便利です。
ホームアプリの「シーン」機能を使えば、音声で入力を切り替えることもできます。

デバイスの種類はオーディオレシーバーとして認識されます。

Homebridge webOS TV

プラグインのページはこちらです。
LGのスマートテレビで、内蔵のHomeKitでは操作できないものを操作できるように導入しました。
詳細はこちらの記事で解説しているので、ご覧ください。

Homebridge WoL

プラグインのページはこちらです。
自作PCの電源オン(Wake on Lan)とWindowsのシャットダウンをHomeKitで操作できるように導入しました。
パソコンのそばにいないときに電源を切り替えられるので便利です。

デバイスの種類はスイッチとして認識されます。プラグインの設定でシャットダウンコマンドを設定*することで、パソコンの電源を切ることができるようになります。
Windows PCの場合、ファイアウォールの設定を正しく行わないと認識されないため、注意が必要です。
ファイアウォールの設定は、こちらの記事が参考になりました(参考記事内で紹介されているレジストリの設定も必要です)。


* Netコマンドを使ってシャットダウンする場合は、Sambaがインストールされている必要があります。
私のように、MacをHomebridgeサーバーにしている場合は、HomebrewやMacPortsなどを使ってSambaをインストールしておいてください。
また、シャットダウンしたいPCでMicrosoftアカウントを使ってログインしている場合は、管理者権限を持つローカルアカウントを登録しておく必要があります。
Microsoftアカウントを指定しても、正しくコマンドが実行されません。

さいごに

Homebridgeの公式GitHub Wikiページ(macOSへのインストール、英語)には、Node.jsのアップデートや、Homebridgeのアンインストール方法などが詳しく書かれているので一度目を通しておくと良いでしょう。

最後まで読んでくださり、ありがとうございました!それではまた!

コメント

  1. ホーム.appに対応させられるのは憧れるけど難しそう・・ mac miniをサーバーにした場合 スリープ状態だとダメですよね? ずっと24時間稼動させないとかなぁ

    返信削除
    返信
    1. コメントありがとうございます。
      はい、スリープ状態にしてしまうとサーバーが停止してしまうため、アクセサリが応答なしになってしまいます。
      本体をスリープ状態にするのではなく、ディスプレイのみをスリープ状態にするよう設定することで、サーバーは動作させたままディスプレイを消灯させることができます。

      ディスプレイをオフにするまでの時間を設定した後、「ディスプレイ」設定で「ディスプレイがオフのときに自動でスリープさせない」をオンにすることでディスプレイのみがスリープ状態になるように設定されます。
      ただし、スリープ中の消費電力が増えるため、注意が必要です。

      削除
  2. なるほどです! 例えば、使いたいときだけスリープ解除して とかだと使えるかもですね。24時間稼働が理想ですけど・・!
    ラズベリーパイとかで常に動かしてるのが理想なのかなぁ・・

    返信削除
    返信
    1. 私は試したことがないのですが、もし使っていない古いAndroid端末をお持ちであれば、Android端末にHomebridgeをインストールして動かす方法もあるようですので、こちらであれば消費電力の問題はあまり考えずに動かしっぱなしにできるかと思います。

      https://unagidojyou.com/2022/09-27/android-debian-homebridge_after-update/

      ケーブルで接続したままにしておく必要があるため、バッテリーの膨張問題について考えなければならず、あまり実用的ではないかもしれませんが...
      バッテリーが取り外せる機種であれば問題ないかもしれませんね。

      削除

コメントを投稿

コメントは、このブログの管理者であるたいくんが内容を確認し、承認されるまで表示されません。
詳しくは、プライバシーポリシーをご覧ください。

広告