暫定 - 技術メモなど

今のところはRaspberry Piを使ったIoTが話題の中心です

Google Home Miniでの家電コントロールとiPhoneの呼び出し

homebridgeとIRKitの組み合わせ、Philips Hue、Koogeekのおかげで、多くの家電をiPhoneでコントロールできるようになりました。
操作はほぼホームアプリを使用しているのでさほど気にはならなかったのですが、私の滑舌の悪さでしょうか、音声コントロールをしようとするとSiriが反応してくれないこともままあり、音声コントロールに不便さを感じることがありました。
試しにGoogle Home Miniを導入してみると、聞き取りの間違いもあまりなく、音声コントロールが非常に快適になりましたので、今回はその話題を取り上げてみたいと思います。



※IRKitは生産が終了していて、現在はNature Remoという温湿度センサーが搭載された機能増強版が発売されています。Nature Remoだと、IFTTTとの連携なしでGoogle Home Miniから赤外線リモコン家電の音声コントロールが可能になるとのこと。

Nature Remo

Nature Remo

1.Google Home Miniでできるようにしたこと

スマートスピーカー元年とも言われる2017年、発売されて一ヶ月後にGoogle Home Miniを購入しました。
当初はHueとの連携のみしていましたが、IFTTTを使用することで、IRKitと連携できることがわかりました。

men-bou.net

また、iPhoneが見つからないときに、Google Home MiniからiPhoneを呼び出せることもわかりました。

defmementomori.hateblo.jp

これらのサイトを参考に、IFTTTとの連携によって下記をGoogle Home Miniで実行できるようにしています。

  • 暖房のON/OFF
  • エアコンのON/OFF
  • ドライのON/OFF
  • デスクライトのON/OFF
  • プロジェクターのON/OFF
  • 室温を25度に上げる
  • iPhoneを呼び出す

2.IRKitとの連携

まずはIRKitとの連携についてです。

clientkeyとdeviceidの取得

上記サイトに従い、IRKitの公式サイトの POST /keys と POST /1/keys の項目にある通りに clientkey と deviceid を取得します。
■IRKit公式サイト
IRKit - Open Source WiFi Connected Infrared Remote Controller

赤外線情報を取得

こちらも公式サイトに従い、IRKitに赤外線リモコンを向け、リモコンのボタンを押し、 GET /messages の項目に従って赤外線情報を取得します。

■参考:「2.IRKitのセットアップと赤外線情報の取得」
yorino.hatenablog.com

既にhomebridgeにIRKitで取得した赤外線情報が実装されている場合は、その情報を流用できますので、新たに取得する必要はありません。

IFTTTの設定

iPhoneでIFTTTを起動し、[My Applets]の右上にある+をタップ、[+this]には Google Assistant を選択し、[Say a simple phrase]をタップします。
f:id:yrn7:20180602125132p:plain
f:id:yrn7:20180602125229p:plain
[What do you want say?]には「暖房をつけて」など、Google Home Miniに聞かせる言葉を入れます。
別の言い方を設定する場合はその下のoptionalにも入力します。
[What do you want the Assistant to say in response?]にはGoogle Home Miniに言わせたい回答を入れ、[Language]は Japanese を選択します。
f:id:yrn7:20180602125402p:plain
[Next]をタップして最初の画面に戻り、[+that]には Webhooks を選択します。
f:id:yrn7:20180602125434p:plain
f:id:yrn7:20180602125448p:plain
Webhooksの画面では下記のように入力/選択します。

  • URL: https://api.getirkit.com/1/messages
  • Method: POST
  • Content Type: text/plain
  • Body: clientkey=取得したクライアントキー&deviceid=取得したデバイスキー&message={"format": "raw","freq": 38,"data": [(赤外線情報中略)]}

f:id:yrn7:20180602125501p:plain
[Next]をタップし、次の画面でtitleを編集して[Finish]をタップして終了です。
これをON/OFF一組で作成していきます。

稼働テスト

IFTTTの設定が完了したら、テストを行います。
Google Home Miniに向かって「オーケーグーグル、暖房をつけて」など、登録した言葉で指示して、実際に動作すればテスト終了です。

3.Google Home Miniを使ってiPhoneを呼び出す

たまにiPhoneをどこに置いたかわからなくなるときがあります。そんなときには、いつも2台あるどちらかのiPhoneiPadの「iPhoneを探す」を使って音を鳴らしていましたが、Google Home Miniに「iPhoneを探して」と言って鳴らしてもらう方が便利です。
方法は、IRKitとの連携と同じく、IFTTTを使用します。

IFTTTの設定

iPhoneでIFTTTを起動し、[My Applets]の右上にある+をタップ、[+this]には Google Assistant を選択し、[Say a simple phrase]をタップします。
[What do you want say?]には「アイフォンを探して」などとしておきます。
※私の環境では「iPhoneを探して」だとうまくいきませんでした。

「アイフォンを鳴らして」など、別の言い方を設定する場合はその下のoptionalにも入力します。
[What do you want the Assistant to say in response?]には「携帯に電話をかけます」など、Google Home Miniに言わせたい回答を入れ、[Language]は Japanese を選択します。

[Next]をタップして最初の画面に戻り、[+that]には VoIP Calls を選択します。

VoIP Callsの画面が表示されたら[Voice message]には「by Google Home」など、Google Home Miniからの呼び出しを受けたときに流れるメッセージを入力します。
(日本語も可)

稼働テスト

IFTTTの設定が完了したら、テストを行います。
Google Home Miniに向かって「オーケーグーグル、アイフォンを探して」など、登録した言葉で指示して、実際に動作すればテスト終了です。
※同じIFTTTアカウントでログインしているiPhoneが複数ある場合は、同時に呼び出されます。

4.最後に

寝る前や朝などは音声で家電をコントロールできてとても便利に感じています。
ただ、IRKitを使った家電コントロールの場合、Google Home Miniを使って行った家電コントロールの状態はiPhoneのホームアプリに連携されないので、エアコンはついているけど、ホームアプリではOFFの表示になっている、ということが当然ありえます。
※Hue等は連携します。
それを除けば、使用感もよく、快適な生活を送ることができていると言えます。