ラズパイ(Raspberry Pi)でパソコンをリモート起動 HomeBridge-WOLの使い方


homebridge-wolとは、Wake on LAN(WOL)に対応したデバイスに対してマジック・パケットを送信して、リモート起動させることができるプラグインです。 デバイスのIPアドレスが固定されているなら、定期的にpingを打って稼働状態を確認することもできます。 また、SSH接続ができ、シャットダウンのためのコマンドが打てるデバイスに対しては、リモートシャットダウンも可能です。
なお、ここでは前提として、すでにHomeBridgeが動作しているRaspberry Piが準備されているものとします。 Raspberry PiにHomeBridgeをインストールする方法については、 ラズパイ(Raspberry Pi)で家電をコントロールする HomeBridgeの使い方 をご覧ください。
ラズパイ(Raspberry Pi)で家電をコントロールする HomeBridgeの使い方
HomeBridgeのオフィシャルサイト
homebridge-wolのオフィシャルサイト(github)
もくじ
必要なもの

Raspberry PiにHomeBridgeをインストールする方法については ラズパイ(Raspberry Pi)で家電をコントロールする HomeBridgeの使い方 をご覧ください。
ラズパイ(Raspberry Pi)で家電をコントロールする HomeBridgeの使い方
Raspberry Pi正規総代理店:RSコンポーネンツ
Raspberry Piを買う(Amazon.co.jp)
Raspberry Pi Camera V2を買う(Amazon.co.jp)
micro SDカードを買う(Amazon.co.jp)
Raspberry Pi ACアダプタを買う(Amazon.co.jp)
プラグイン“homebridge-wol”のインストール

homebridge-wolのインストールは、コンソールから
sudo npm install -g homebridge-wol
と入力するだけです。
リモート起動するデバイスを定義する
プラグイン“homebridge-wol”でリモート起動するデバイスは、HomeBridgeの設定ファイルである config.json に記述します。config.jsonの場所を確認する
config.jsonの場所は、HomeBridgeのインストール方法によって変わります。 通常以下のいずれかに格納されています。
- /root/.homebridge/config.json
- /home/[username]/.homebridge/config.json
- /var/homebridge/config.json
- /var/lib/homebridge/config.json
systemdを使った自動起動を設定しているときは、 通常インストールされる”/home/[username]/.homebridge”フォルダは systemdのようなサービスには不適切であるため、 /var/lib/homebridge や /opt/node/lib/node_modules/homebridge などに設定されていると思います。
config.jsonにデバイスを定義する

“accessories”セクションのカギカッコの中に、デバイス1つにつき1セット、中カッコで囲って“accessory”セクションを記述します。 複数のデバイスを登録するときには、“accessory”セクションを並べます。このとき中カッコの後ろにも“,”を付けるのを忘れないようにします。
デバイスの定義の記述方法
キーワード | 必須 | 意味 |
---|---|---|
accessory | ○ | 「NetworkDevice」固定 |
name | ○ | 機器の名前を任意の文字列で指定する。ホームアプリおよびSiriで使用される。"My Windows PC"とか。 |
mac | 機器のMACアドレス。マジックパケットの送信先。Wake on LAN(WOL)起動させるときは必須。 書き方は「XX:XX:XX:XX:XX:XX」または「XXXXXXXXXXXX」 | |
ip | 機器のIPv4 IPアドレス。pingの送信先。ホームアプリに起動状況を表示させるときは必須。(対象機器のIPアドレスを固定する必要がある) | |
pingInterval | IPアドレス指定時の、ping送信間隔(秒数)。規定値は2(25)秒。 | |
wakeGraceTime | 対象機器の起動後に、起動確認のpingを送信し、キーワード wakeCommand で定義したコマンドを発行するまでの待ち時間(秒数)。規定値は45秒。 | |
wakeCommand | 対象機器の起動後に、HomeBridgeサーバー(ラズパイ)に実行させたいコマンド。 Macパソコンではスリープに入れないため、ここで“caffeinate”を指定すると良い。 | |
shutdownGraceTime | キーワード shutdownCommand で定義したコマンド実行後、終了確認のpingを送信するまでの待ち時間(秒数)。規定値は15秒。 | |
shutdownCommand | 対象機器を終了させるために、HomeBridgeサーバー(ラズパイ)で実行するコマンド。 | |
pingCommand | pingの代わりに実行させる、対象機器の起動/終了確認用コマンド。 | |
log | ステータスメッセージをログするか否か。規定値はtrue。 | |
logPinger | pingメッセージをログするか否か。規定値はfalse。 | |
timeout | pingの終了待ちタイムアウト時間(秒)。規定値は1。 | |
broadcastAddress | WOLマジックパケットの送信先アドレス。 |
詳しい記述例については、以下の各サイトで読めます。 Windowsパソコン、Macパソコン、Raspberry piマシンなどについて、起動/シャットダウンのための設定の記述方法が読めます。
homebridge-wolのオフィシャルサイト(github)
homebridge-wolのオフィシャルサイト(libraries.io)
homebridge-wolのオフィシャルサイト(npm)
homebridge-wolのオフィシャルサイト(DevHub.io)
ラズパイ起動時にHomeBridgeも自動起動する
これについては ラズパイ(Raspberry Pi)で家電をコントロールする HomeBridgeの使い方 の中の 「ラズパイ起動時にHomeBridgeも自動起動する」 をご覧ください。
ラズパイ(Raspberry Pi)で家電をコントロールする HomeBridgeの使い方
homebridgeにPACKET送信の許可を与える
プラグイン“homebridge-wol”を使う場合は、 HomeBridgeサービスにPACKET送信の許可を与えておきます。これについては ラズパイ(Raspberry Pi)で家電をコントロールする HomeBridgeの使い方 の中の 「homebridgeにPACKET送信の許可を与える」 をご覧ください。
ラズパイ(Raspberry Pi)で家電をコントロールする HomeBridgeの使い方
HomeBridgeサーバー(ラズパイ)を再起動する

sudo shutdown -r now
でラズパイを再起動し、HomeBridgeが正しく動作しているか確認しましょう。
動作状況を確認する方法については ラズパイ(Raspberry Pi)で家電をコントロールする HomeBridgeの使い方 の中の 「HomeBridgeの動作状況を確認する」 をご覧ください。
ラズパイ(Raspberry Pi)で家電をコントロールする HomeBridgeの使い方
デバイスをリモート起動する


それぞれのスイッチをタップすると、すぐさまWOLマジックパケットが送出され、デバイスが起動します。 IPアドレスを固定しているデバイスでは、電源のON/OFF状況も確認できます。
なお、WOLマジックパケットでデバイスをリモート起動させるには、デバイス側にも設定が必要な場合があります。 パソコンの設定方法については Wake on LAN(WOL)を設定してパソコンをリモート起動する方法 をご覧ください。
関連リンク集
HomeBridgeのオフィシャルサイト
homebridgeオフィシャルサイト(github)
homebridgeをRaspberry-Piで動作させる方法(github)
homebridge用プラグインのいろいろ(libraries.io)
homebridge-wolのオフィシャルサイト(github)
homebridge-wolのオフィシャルサイト(libraries.io)
homebridge-wolのオフィシャルサイト(npm)
homebridge-wolのオフィシャルサイト(DevHub.io)