Categories: IoT

homebridge-nremoを使ってホームアプリのシーンに対応してみた

iOSのホームアプリには複数のアクションを動作させることができる「シーン」という機能があります。

そして、私のオーディオは切り替えるために、「入力切り替えボタンをおした」後に「上下ボタンを押す」という動作をしないと切り替えができない。

2アクションが必要になる。

ということで、このときに出番になるシーンをつかって複数の条件で動作を行ってみました。

しかし、一度に複数の動作を実施するとRemo側で処理ができなくなってしまう。

ということで今回homebridgeのプラグインである、「homebridge-nremo」を用いてシーンを実装してみた。

前提としてRaspberry Pi Zero Wをキーボードとマウスを使わずにインストールしてwifi設定するはやってある前提とします。

インストール

npmには登録されていないので、homebridgeがインストールされているところまで移動して、homebridge-nremoをインストールする。

$ cd /usr/local/lib/node_modules
$ sudo git clone https://github.com/nillpo/homebridge-nremo.git

config.json設定

これでconfig.jsonのaccessoryに「NatureRemo」が指定できるようになる。

これによって何が嬉しいかというと、delayが指定できるようになるのです。

ということで、以下のようなコンフィグを準備してみた。

微妙にirkitのときと入力方法が違うので注意。

(##以降のコメントは消してください)

$ vi /home/pi/.homebridge/config.json
## 以下を追記
            {
                   "accessory": "IRKit", ## IRKitでの入力の場合。delayは使わないのでそのままIRKitにしている
                   "name": "オーディオ入力",
                   "irkit_host": "192.168.2.20",
                   "on_form": {"format":"us","freq":40,"data":[2318,653,...]},
                   "off_form": {"format":"us","freq":40,"data":[2318,653,...]}
            },
            {
                   "accessory": "NatureRemo", ## delayをいれるためにNatureRemoを選択
                   "name": "オーディオ上",
                   "host": "192.168.2.20", ## irkit_host → hostに変わっているので注意
                   "path": "/messages",  ## pathも設定する
                   "delay": "800", ## delayをいれる
                   "on": {"format":"us","freq":40,"data":[2316,657,...]}, ## on_form→onにかわっているので注意
                   "off": {"format":"us","freq":40,"data":[2316,657,...]} ## off_form→offに変わっているので注意
            },
            {
                   "accessory": "NatureRemo",
                   "name": "オーディオ下",
                   "host": "192.168.2.20",
                   "path": "/messages",
                   "delay": "800",
                   "on": {"format":"us","freq":40,"data":[2318,658,,...]},
                   "off": {"format":"us","freq":40,"data":[2318,658,...]}
            }

設定を書き換えたのでhomebridgeを再起動しておきます。

※init.dスクリプトを作ってない方は前に書いた「Raspberry Pi Zero Wをキーボードとマウスを使わずにインストールしてwifi設定する」を参照。

$ sudo /etc/init.d/homebridge restart

ホームアプリ設定

これでホームアプリをひらくとさきほど追加した「オーディオ入力」「オーディオ上」「オーディオ下」が追加されている。(オーディオ上と下はsiriに反応させないためにhomeアプリ側の名前を変えてます)

右上の「+」ボタンより、「シーンを追加」する

Siriで呼ぶときの名前は「オーディオ上」と名付けて、「アクセサリを追加」を選択

同時に操作したい「オーディオ入力」「audio入力上」を選択して「完了」

どちらも「オン」にしないとちゃんと動作しなかったので「オン」にし、「このシーンをテスト」でテストして動作すれば「完了」を選択。

シーンが追加されました。

Hey!! Siri!!

ためしにオーディオ上とかいってみると、作成したシーンを実行してくれます。

この動画の画面を切り替えてるところがちょうど今回の設定の部分になりますね。

まとめ

homebridgeのプラグインである、homebridge-nremoを使うことで複数のボタンの操作を無事することができました。

これ使えばテレビの入力切替とかもうまくできそうですね。

mogmet

View Comments

  • Your article gave me a lot of inspiration, I hope you can explain your point of view in more detail, because I have some doubts, thank you.

  • Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me.

Share
Published by
mogmet
Tags: IoT