2020.5 記事を最新化しました!
どうも、CHASUKEです。
これまで、スマートリモコンIRKitをHomebridgeでHomeKit対応し、Appleホームアプリから家電操作をしてました。だが、どうも最近調子が悪い。ということで、後継機「Nature Remo」に世代交代させました。
その結果、高性能なNature Remoのおかげで、Appleホームアプリからサクサクと家電操作できるようになった。

今回、せっかくの機会だったので、初期設定済みのラズパイにHomebridgeサーバを設定し、Appleホームアプリから家電操作するまでの手順をメモることにしました。
Nature RemoやNature Remo miniをお使いで、AppleホームアプリやSiriから家電操作したい人は、ぜひ参考にしてみてください。
Homebridgeとは?
Homebridge(ホームブリッジ)とは、iOS HomeKitAPIをエミュレートし、ホームネット上で実行できるNode.jsサーバーのこと
Nature Remoがあれば赤外線リモコンで操作できる家電に対し、Remo専用アプリやAIスピーカーから操作することが可能です。しかし、HomeKitには非対応のため、Apple標準のスマートホームアプリには追加できません。
そこで活躍するのが『Homebridge』
ラズパイなどにHomebridgeサーバーを稼働させれば、あたかもHomeKit対応したかのように、いつでも家電操作ができます。

必要なもの
iOS端末(ホームアプリ)
今回の目的は、Appleホームアプリで利用するためなので、当たり前だがiOS端末は必要。僕は、iPhoneを使って操作していきます。
必要なモノを書いておきます。
ラズベリーパイ一式
僕は、ラズベリーパイ3B+に最新OS「RASPBIAN STRETCH WITH DESKTOP」をインストールして利用しました。ラズパイ本体の他にも、SDカードや電源ケーブルなど付属品が必要となるので、これから用意するならスターターキット(※購入・設定記事はこちら)がおすすめです。
-
【初心者におすすめ】ラズパイ3B+ スターターキットを導入・リモート活用方法
【追記】最新モデルは「ラズベリーパイ4B」です。こちらも開封レビューしてます。
-
【開封レビュー】LABISTS ラズパイ4B(メモリ4GB)セットを購入してみた!
Nature Remo/Nature Remo Miniモデル
今回「Nature Remo」をHomeKit対応させてみましたが、「Nature Remo mini」でも同様の手法でHomeKit対応できます。
これから購入するならコンパクトで低価格なNature Remo miniがおすすめです。
それぞれの違いは以下のページを参考に。
-
『Nature Remo』と『Nature Remo mini』の違いを比較してみた
必要ライブラリのインストール
【追記】こちら要チェック!
Homebridgeのサーバー管理は、Webブラウザで視覚的に使えるプラグインがおすすめです。断然使いやすいです。
Homebridge構築に必要なソフトを、初期設定済みのラズベリーパイにインストールします。ターミナルからコマンド入力して実施します。
事前準備
設定していく前に、パッケージの最新化をしておきましょう。
$ sudo apt-get update $ sudo apt-get upgrade
Node.jsのインストール
Homebridgeは、Node.jsサーバなので必要。
偶数が安定バージョンなので、8系をインストールした。【追記】現在なら14系でOK。
$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - $ sudo apt install -y nodejs
実施後は、バージョン確認コマンドでインストールされているか確認する。
$ nodejs -v v8.11.3 $ npm -v 5.6.0
Avahiのインストール
ラズパイ(Homebridge)から話し相手(Nature Remo)を見つけるために必要です。
$ sudo apt-get install libavahi-compat-libdnssd-dev
Homebridgeのインストール
親玉であるHomebridgeをインストールする。
$ sudo npm install -g --unsafe-perm homebridge
正常にインストールできたら、下記コマンドでサーバを起動させ、QRコードやHomeKit設定コードがターミナル上に表示されることを確認しましょう。
$ homebridge
これが表示できていれば、成功です。以降設定が続くので、とりあえず中断「control + c」でサーバ停止しておきましょう。
Homebridgeプラグインをインストール
親玉にプラグイン追加する形で、Nature Remoを操作できるようにします。
今回はNature RemoのローカルAPIを使ったHomebridgeプラグイン「Homebridge Nature Remo Local」を使ってます。このプラグインを使えば、送信する赤外線信号を設定ファイルに直接指定できる点です。
$ sudo npm install -g homebridge-nature-remo-local
Nature Remo操作用のプラグインは、上記以外にも、Remoアプリに登録された「家電ID」を使った方法があります。例えば、以下プラグインでは、簡単な設定で照明ON/OFFが操作できます。
設定ファイルを編集
インストールが完了すると、ディレクトリ「/home/pi/.homebridge」が作成されているはずです。
このディレクトリ配下にHomebridge設定ファイル「config.json」を作成する必要があります。
config.jsonの編集
テレビ電源を操作する場合、設定ファイルイメージはこんな感じ。
{ "bridge": { "name": "Homebridge", "username": "XX:XX:XX:XX:XX:XX", "port": 51826, "pin": "031-45-154" }, "description": "Nature Remo Control", "accessories": [ { "accessory": "NatureRemo", "name": "テレビ", "instance": "Remo-XXXXA", "learnButton": false, "signals": { "power": [2352, 639, ..(省略).. 641, 556] }, "on": [ { "signal": "power", "delay": 0 } ], "off": [ { "signal": "power", "delay": 0 } ] } ] }
連続実行は、on/offのリストに複数signalを指定すれば可能です。
▼設定項目は以下の通り
accessory | 「NatureRemo」固定 |
name | 任意 |
instance | Remoホスト名 |
learnButton | 学習ボタンの表示有無 |
signals | 赤外線信号 |
on/off | 操作したときの挙動 |
設定ファイルの編集で重要なのが、Nature Remoを探すための「instance」と、そこから送信する赤外線信号「signals」である。
この2つの設定方法を次で説明します。
Remoホスト名(instance)の設定方法
下記のNatureRemo公式ページに記載があります。
ラズパイではなく、同ネットワークに接続したPCから以下のとおりコマンドを叩いて、「Remo-xxxxx」を特定することができた。
$ dns-sd -B _remo._tcp $ dns-sd -G v4 Remo-XXXXXX.local
このホスト名を、設定ファイルに編集すればOK。
赤外線信号(signals)の取得方法
赤外線信号を取得する方法は2つあります。
- コマンドを叩いて取得
- プラグインを使って取得
①コマンドを叩いて取得
PCからNature Local APIを叩いて赤外線信号を取得します。
Nature Remo本体に向けて、リモコンボタンを押すと、表面が青色に点滅します。その後に下記コマンドを実行すると、直前に受け取った赤外線信号を返してくれます。
$ /usr/bin/curl -i "http://Remo-xxxxxx.local/messages" -H "X-Requested-With: curl" HTTP/1.0 200 OK Server: Remo/1.0.62-xxxxxxxx Content-Type: application/json {"format":"us","freq":40,"data":[2347,659,....]}
上記で取得した値(data)を、設定ファイルに編集します。

②プラグインを使って取得
プラグインの設定項目「learnButton」を「true」にして、①で使ったコマンドをホームアプリ上から実行出来るようになります。
先にsignalsは空っぽにして、次章のホームアプリへの登録が必要
▼アクセサリを追加すると「Learn Signal」スイッチが使えます。
①と同様にRemoにリモコン操作した後に、「Learn Signal」というスイッチを押すと、Homebridgeのログコンソールに信号が表示されます。
Appleホームアプリに登録する
最後の仕上げです。
これまで、設定してきたHomebridgeサーバーを再度起動させます。設定ファイルが読み込まれ、エラーが表示されずに、QRコードやHomeKit設定コードが表示されれば、成功です。
▼Appleホームアプリからアクセサリを追加。
表示されているQRコードをカメラで読み込ませればOKです。
▼これで追加され、設定ファイルに記載した分のアクセサリを登録していきます。
僕は16個分のアクセサリが作られました。
メモ
もし、「既に登録済みアクセサリ」みたいなエラーになったら、「/home/pi/.homebridge」にある「accessories」と「persist」のディレクトリの中身を削除して再度起動してやれば上手くいくはずです。
▼これでホームアプリから家電操作ができるようになった!
少し大変ですが、必要なボタン分、設定ファイルのアクセサリに追加が必要です。
エアコンならこっちがおすすめ!
これで、Nature Remoの赤外線を1つずつホームアプリから操作できるようになった。
しかし、エアコンに関して言えば、もっと便利に利用できるHomebridgeプラグインが存在しました。それが「homebridge-nature-remo-aircon」です。
▼使い方はこちらに記事にしました。
これを使えば、こんなインターフェースで温度変更や冷房/暖房の切り替えが自在にできます。とても使いやすい。

最後に
Nature RemoをAppleホームアプリで使うためのHomebridge設定方法を紹介しました。
HomeKit対応の家電はまだまだ少ない。この方法ならNature Remo経由で、様々な家電を操作できます。iPhoneユーザーとしては嬉しい限り。
この記事が何かの参考になれば幸いです。それでは良いスマートライフを。
▼Nature Remo
▼Nature Remo mini
▼ラズベリーパイ4B