パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。時々更新!

Google Home + RM mini3 + RM Bridge(Android スマホ) で音声でエアコン ON/OFF

Google Home を使っている人が必ず?やっている、家電の音声によるコントロールを小生もやってみた。先人の知恵は多々あるにも関わらず、そこそこ手間がかかったので、ひっかかったポイントを特に列挙しておこう。

まず、最初に必要なのは、RM mini3 を、自宅の Wifi に接続すること。eHome というアプリを使った。ただし、eRemote じゃなく RM mini3 なので、Wifi の設定だけに使用。余っているスマホにインストール。言語を英語にして、アプリを起動して設定する。正規品ではない、と言われたら、そこで、Wifi の設定は完了している。スマホも RM mini3 も同じ 2.4GHz 帯の Wifi に接続するのが、とりあえずトラブルを避けやすそう。というか、スマホWifi 設定が、RM mini3 へ送られる感がある。設定が終わればスマホは 5GHz 帯にしても大丈夫っぽい。

テストがてら、Intelligent Home Center もインストールして使ってみた。拙宅のリビングの三菱のエアコンと東芝のテレビは、プリセットのリモコンコードで動いたが、結構後ろの方だった。後というのは、エアコン→三菱と選んだ後に、29 個くらいから選ぶのだが、一つずつテストしていって、三つ目くらいでなんか警告が出るが、あきらめずに残りもテストし続けると、20個以降で、エアコンが反応して、スマホから操作できるようになった。まぁ、今回の音声でコントロールするのには関係ないのだが。

さて、スマホに RM Bridge をインストールして、ルーターにポートフォワーディングの設定をする。スマホは、IP が変わると困るので。DHCP じゃなくて固定(静的)IP にしておく。拙宅では複数の Wifi 親機があるので、どちらに繋がっても同じ IP になるようにしないといけないので、少々面倒だった。とりあえず、この辺りの設定がうまくいっていれば、外部から(他のスマホのブラウザから 4G/LTE 接続等で)自宅のアドレスの 7474 ポート(デフォルトだと)にアクセスして、Invalid Request とかエラーが出れば OK。

RM Bridge の設定というか、RM Bridge に渡すべきリモコンの一つ一つのコマンドに対応する URL コマンドは、外部の Web ページで生成できる。Fun2code さんのページにやり方が書いてある。Code learning のページに行って、上から設定していく。一番上は、RM Bridge のスマホの IP アドレス等。LAN のアドレスで OK。Load Devices で HTTP404 とかのエラーが出なければ OK。スマホの IP アドレスを変更したときは、RM Bridge のアプリを再起動しないといけないのに、ちょっと引っかかった。

次に、その下に、適当な名前(Name)と、RM mini3 の MAC アドレス、Type は RM2 を入力(ちゃんと入れる)して、Add Manually すると、Step2 の所に、適当に入れた名前が出てくる。ちなみに MAC アドレスは、Advanced IP Scanner というソフトで調べた。

そして、リモコンの操作に対するコードを調べる。Learn Code ボタンを押して、五秒以内に、RM mini3 に向けて実際のリモコンを操作する。おそらくリモコンのボタンなら一回押すだけで OK。数秒して、そのコードが表示される。これを IFTTT に設定するわけである。一応 Test Code で、ちゃんと機器がリモコン信号に反応するかテストしておいた方がいいみたい。ちなみに、リモコンのボタンの押し方によって、コードの長さが変わったりする。複数回コードを学習してしまっていたりするのだろうか。

IFTTT の設定も多少てまどった。最初にアカウントの作成。小生は Google のアカウントでサインインした。サインインすると、LINE の宣伝がでたり、いきなり色々なアプレットが多量に並んでビビってしまうが、My Applets で、New Applets する。所望のものとぴったりくるのがあれば、それを使えばいいが、作ってしまった方が速い気がする。ちなみに IFTTT のアカウントは、Google Home のアカウントと一緒じゃなくても OK。ただし、下記の Google assistant のアカウントは Home と合わせる必要あり。

まずは、[+]this をクリックして、検索窓に、assistant(assi くらいまででもよさげ)とか入れると、Google Assistant に絞られるので、それを選ぶ。家電の ON/OFF だと、単なるキーフレーズだけを使うのを選ぶ。そのほかのも使いこなしたいところだが。キーフレーズは、普通に日本語で入力すればいいようだ。全部ひらがなとかカタカナにしないでもいいみたい。漢字交じりでもいけそう。キーフレーズは3種類入れられるので、~つけて、とか ~スタートとか入れてみた。また、その際の Google Home からの返事も、適当に日本語で入れる。最後に日本語を指定して、トリガーの設定は完了。

そして、[+]that で、検索窓に web とか入れると、WebHooks があるので、それを選ぶ。そして先ほどの RM Bridge の Web ページで生成した、URL を入れるのだが、小生の場合はうまくいかなかった。http://自宅のIP:7474/?cmd=~ というのを入れるのだが、Command URL の方ではなくて、Plain Command の方を cmd=~ の~の所に入れた URL だとうまくいった。'{' なんかを %7B とかに変換しないものを書いた方が良いらしい。Create Action して Finish で完了。Check Applet というのも一応やっておく。何をやってくれるのかわからないが…

ここまで上手く行っていると、「オーケーグーグル、エアコンつけて」、で、エアコンをつけられたりする。それほど一日に何度もやるような事でもないし、そんなに便利になった気はしなかったり? リモコンを探さなくてもいいのは、いいかも。エアコンは、オンとオフが違うコードなので、それぞれアプレットを作ったが、テレビはオンとオフ、両方同じボタンの同じコードなので、オンとオフを使い分けられない。そんなに問題ではないが。

RM Bridge が、ノーガードなのはちょっと困る所。IFTTT から BASIC 認証を使えるのだろうか。IFTTT で、複数操作のシーケンスが設定できるのだろうか。まだまだ色々、調べたいことはあるなぁ。→ BASIC 認証使えた。そんなに難しくない。いつか書く。→ 書いた