グーグルホーム・ミニ(Google Home Mini)を入手しました。米国でグーグルからPixel 2を購入すると、グーグルホーム・ミニがオマケに付いてくるのです。といっても、クーポンコードがメールで送られてくるので、それを使って自分でグーグルストアから購入します。最初、米国の知人宅に送ってもらうようにしたのですが、配達がされてもいないのに配達完了となってしまい、ちょっとしたトラブルに巻き込まれました。どうも米国では送った荷物が着かないというのは日常的にあるようです。グーグルのサポートとメールのやりとりをして、何人か担当者をタライ回しにされ、最初は、クーポンは返金できないから、交換にするから送り先を教えろ、と言われて、今度は別の知人宅へ送って貰おうとしたのですが、結局、クーポンコードがもう一回来ました。

このクーポンコード、日本のグーグルストアでも普通に使えたので、日本で購入してみたところ、香港からの国際便で到着しました。日本で購入したのですから、大手を振って日本国内で利用できます。さて、テレビのCMなどでは「電気をつけて」みたいな音声に応答していますが、こうした「ホームオートメーション」に対応させてみたいとおもい、少し調べてみました。

グーグルホームを拡張するには

グーグルホームとは、グーグルアシスタント(Google Assistant)が内蔵されたスピーカーです。ある意味、グーグルアシスタントそのもの、あるいはグーグルアシスタント専用マシンといえます。グーグルアシスタントの本体は、クラウド側、つまりグーグルのデータセンターにあります。このため、グーグルアシスタントは、チャットアプリのAlloを介しても利用することができました。同じように、グーグルホームもグーグル側の機能を使って動くため、スマートフォンのような高性能なハードウェアは不要です。グーグルは、組み込み用ボードでグーグルホームを自作するためのソフトウェアキットなども公開しています。

すでにグーグルアシスタントは、音声を介していろいろな機能が使えます。ですが、自宅の電気をオンオフするといった「ホームオートメーション」に関しては、自宅機器とグーグルホームを連携させる必要があります。

米国だとグーグルホームに対応したパートナー企業が多数あり、ホームオートメーションなども機器を購入したり、業者にたのめばOKという感じですが、日本だとまだまだという感じです。

グーグルアシスタントの機能を拡張する方法としては、「Actions on Google」があります(以下Actionsと略す)。

Actionsは、音声で起動される、クラウド上のアプリケーションです。基本的にActionsはその名前を使って、

  • オーケーグーグル(名前)と話したい
  • オーケーグーグル(名前)につなげて

などとして起動させます。あるいは、Actionsによる指示を含めて、

  • オーケーグーグル(名前)に××と言って
  • オーケーグーグル(名前)で××して

などとします。たとえば、アシスタントには最初からGメールの送信機能があり、「お母さんにメールして」などといってメールを送ることができます。もっともアシスタントがお母さんのメールアドレスを知っている必要があり、天国のお母さんにはメールは送れません。

また、Googleの説明によれば、Actionsの名前や説明、カテゴリなどを元にユーザーの言ったことを推定して自動的にActionsを選択することもできるとのことですが、それらしい動作をさせることはできませんでした。いまのところ、Actionsだからといって、インターネット検索などよりも優先度が高いといったこともないようです。

なお、現時点で利用できるActionsは、スマートフォンでグーグルアシスタントを起動し、画面右上の引き出しのアイコンをタップすれば、調べることが可能です。

  • Actionsを調べるには、スマートフォンでグーグルアシスタントを開き、右上の引き出しアイコンをタップ

  • 「使い方・ヒント」のページの最後に「すべてのカテゴリ」があるのでこれをクリック

  • カテゴリが表示されるので、どれかを選択する

  • カテゴリに属するActionsが表示される

Actionsは、アンドロイドのアプリに似ていますが、グーグルのサーバー側で動作します。このため、グーグルホームのようにローカルでアプリケーションを動作させる仕組みがなくても利用可能です。

Actionsは、グーグルのActions用の開発ページで会話のモデルを設定したり、スクリプトなどを登録して動作させます。また、英語に関しては、トリビアゲームなどを簡単に作ることができるテンプレートが用意されているようです。

簡単にやってみる

非常に簡易には、Actionsとしてすでに連携しているIFTTTというサービスを使って、コマンドになる文章と動作を定義することもできます。IFTTTは、インターネットのさまざまなサービスで発生したイベントを検出して、やはりインターネットのサービスに何かをさせるための「サービス」です。

きっかけとなる文章とそれを検出したときの動作を指定することで、簡単な動作を行わせることができます。しかも、IFTTTは、スマートフォンのアプリからも設定が行えるため、PCも不要で簡単に試すことができます。

実際に試したところ、IFTTT側に登録するトリガーとなる文字列は、グーグルアシスタントの認識した文字列と完全に一致する必要がある点に注意が必要です。グーグルアシスタントに「たぬきのおなべはうまい」と呼びかけると「たぬきのお鍋はうまい」と認識文字列が表示されます。このためIFTTTに登録するのは「たぬきのお鍋はうまい」でないとなりません。「タヌキのお鍋はうまい」ではダメ、「タヌキのおなべはうまい」でもダメです。ひらがな、カタカナ、漢字などの文字種も含めて完全に一致していなければなりません。なので、動作テストをグーグルホームで行ってしまうと、ディスプレイがないのでどう認識されたのかがわからないので注意が必要です。特に同音異義語には注意が必要で、「たぬきのおなべはあつい」と言うとグーグルアシスタントは「たぬきのお鍋は暑い」と認識するようです(人によって違いはあるかもしれません)。これは訂正することもできないので、IFTTT側には「たぬきのお鍋は暑い」と登録するしかありません。

グーグルホームあるいはグーグルアシスタントから音声で何かをさせるにはActionsを作るか、IFTTTのようなサービスを使う必要があります。さらに、自宅内のハードウェアがネットワーク経由で制御できるとしても、これをインターネット側から行う方法を考える必要があります。次回はこのあたりをもう少し追求する予定です。

  • IFTTTで単純な応答を作った。最初の2つの項目は動作を始めるきっかけとなる文字列

  • 応答として「食べてしまいました」と返し、ツイッターにダイレクトメッセージを送る設定にした。言語をJapaneseにしておく必要がある

  • テスト中。IFTTT登録前は「たぬきのお鍋はうまい」はインターネット検索になっていたが、登録すると「食べてしまいました。」と応答するようになった

  • IFTTT側を見ると、最後に動作した時間や回数が表示されている