Home AssistantとGoogle Homeを連携して音声操作!【無料】

スマートホーム化

Home Assistantのデバイスを音声で操作したいな・・・

Home Assistantのスクリプトを音声で操作したい

Google Homeと連携できると解決できそうなんだけど

このように思っていませんか?

今回はHome AssistantとGoogle Homeを連携する方法を詳しく説明していきます。

連携することで、Home Assistant上にあるデバイスやスクリプトをGoogle Homeから操作したり、音声で操作することができるようになります。

この記事でわかること
  • Home AssistantとGoogle Homeの連携方法
  • 無料で連携する方法

Home AssistantとGoogle Homeを連携してできること

Home AssistantとGoogle Homeを連携すると以下のことができるようになります。

  • Google HomeからHome Assistant上のデバイスを操作できる
  • Home Assistant上のデバイスを音声操作できる
  • Home AssistantのスクリプトをGoogle Homeで使用できる

Home AssistantとGoogle Homeの連携方法

連携方法は大きくわけて 以下の2つがあります

  • Home Assistant Cloudによる自動セットアップ(有料)
  • マニュアルセットアップ(無料)

Home Assistant Cloudを使用すると簡単にGoogle Homeと連携することができます。ただし、こちらは有料プランとなっており、30日間の無料トライアルを過ぎた後は有料になります。

無料で連携させたいという場合は、マニュアルセットアップをする必要があります。

この記事ではマニュアルセットアップのやり方を詳しく説明していきます!

なお手順はこちらのYouTube動画でも説明していますので、参考にしてみて下さい!

マニュアルセットアップのやり方

マニュアルセットアップは公式Webページ(英語)に書かれている手順で進めていきます。

公式ページはこちらです。

Google Assistant
Setup for Google Assistant integration

大きな手順は以下の通りです。

  1. Actions on Googleの設定
  2. Google Cloud Platformの設定
  3. Configuration.yamlの修正
  4. Google Homeの設定

前提条件

まず始める前の前提として、Home Assistantが外からアクセスできる状態になっていないといけません。具体的にはDuck DNSの設定が完了していることです。

もし、まだ設定されていない場合は、以下の記事を参考に設定してみてください。

Home Assistantに外からアクセス!DuckDNSの設定方法
Home Assistantに外からアクセスする方法やDuckDNSの設定方法を解説します!「Home Assistantに外からアクセスしていろんな機器を操作したい」「DuckDNSの設定がわからない」と感じている人には必見です。

Actions on Googleの設定方法

まず、Actions on Google の設定をしていきます。

以下からActions Consoleにアクセスし、次に「New project」を選択します。任意のProject Nameを入力します。

Sign in - Google Accounts

そして、「Smart Home」カードを選択し、その後、右上の「Start Building」ボタンを押します。

次にQuick setup内の「Name your Smart Home action」を選択します。次の画面でDisplay nameを入力します。これは任意の名前で問題ありません。Google Homeアプリ上で表示される名前になります。

次に、Overviewタブをクリックし、オーバービュー画面に戻ります。Build your Action内の「Add Action(s)」を選択します。

Fulfillment URLにはHome AssistantのURLを入力します。この時、アドレスの最後に「/api/google_assistant」 を加えます。(例えば、https://○○○.duckdns.org/api/google_assistant)

そして、右上の「Save」ボタンをクリックします。

右上の3点ドットのアイコンから「Project settings」を選択します。すると、Project IDが書かれています。このProject IDは後ほど 使用しますので、メモ帳などにコピーしておいてください。

また、Overview画面に戻ります。Quick setup内の「Setup account linking」を選択します。

OAuth Client InformationのClient IDには「https://oauth-redirect.googleusercontent.com/r/(Project ID)を入力します。(例えば、https://oauth-redirect.googleusercontent.com/r/home-assistant…)

(Project ID)は先ほどコピーしたものに置き換えてください。

Client secretには任意の文字を入力してください。こちらはHome Assistantでは使えません。

Authorization URLには「(あなたのHome AssistantのURL)/auth/authorize」を入力します。(例えば、https://○○○.duckdns.org/auth/authorize)

最後にToken URLには「(あなたのHome AssistantのURL)/auth/token」を入力します。 (例えば、https://○○○.duckdns.org/auth/token)

入力ができたら「Next」ボタンを押して、Use your app for account linkingは何もせず(チェックを入れず)に「Next」ボタンを押します。

Configuration your clientには「email」と「name」という2つのScopesを追加します。一番下のGoogle to transmit clientID and secret via HTTP basic auth headerにはチェックを入れません。

そして「Next」ボタンを押して、最後に「Save」ボタンを押します。

上部のDevelopタブをクリックし、右上のコーナーにある「Test」ボタンを押します。

以上でActions on Googleの設定は終わりです。

Google Cloud Platformの設定

次に、Google Cloud Platformの設定を行います。

まず、Google Cloud Platformにアクセスします。

Google Cloud Platform
Google Cloud Platform lets you build, deploy, and scale applications, websites, and services on the same infrastructure ...

そして左上のプルダウンからActions on Googleで設定したプロジェクト名を選択します。

左の3本線のメニューからAPIとサービスを選択し、その中の認証情報をクリックします。

認証情報のビューの中で「認証情報を作成」をクリックし、「サービス アカウント」を選択します。

サービスアカウント名には任意の名前を入力し、「作成して続行」をクリックします。

ロールの選択では「Service Accounts」内の「サービス アカウント トークン作成者」を選択します。そして、「続行」をクリックし、最後に「完了」をクリックします。

すると、一番下のサービスアカウントに登録した名前のものが表示されているはずです。その中の鉛筆マークのボタンをクリックします。

キーのタブをクリックし、「鍵を追加」から「新しい鍵を作成」をクリックします。JSON形式を選択してダウンロードします。

ダウンロードしたファイルの名前を「SERVICE_ACCOUNT.JSON」に変更します。このファイルをHome AssistantのConfiguration.yamlと同じディレクトリにコピーします。

コピーをしたらGoogle Cloud Platformに出ているポップアップを「閉じる」で閉じます。

上段にある検索窓で「HomeGraph API」を検索し、HomeGraph APIの画面を表示します。 左上の方にある「有効にする」ボタンをクリックしてHomeGraph APIを有効化します。

以上で、Google Cloud Platformの設定は完了です。ここまで来たらほぼ終わりに近いです。

Configuration.yamlの修正

次に、Home AssistantのConfiguration.yamlを修正します。

細かいことをやりだすと追記する内容は色々ありますが、まずは以下の4 行を追加してください。

google_assistant:
  project_id: (Actions on Googleで取得したProject ID)
  service_account: !include SERVICE_ACCOUNT.JSON
  report_state: true

追加ができたら保存して、Home Assistantを再起動します。

細かい詳細の記述についてはこちらを参照ください。

Google Assistant
Setup for Google Assistant integration

Google Homeの設定

最後にGoogle Homeの設定を行います。

スマートフォンからGoogle Homeアプリを開き、デバイスの右下にある「+ 追加」ボタンを押します。

そして、「Googleと連携させる」を押して、検索窓に「test」と 打ち込みます。すると、「[test](プロジェクト名)」というものが表示されると思いますので、これを選択します。

Home Assistantのログイン画面に遷移するので、Home Assistantのアカウントでログインします。この時に、たまに連携に失敗することがありますが、その場合は、もう一度「Googleと連携させる」からやり直してください。

うまくいくとGoogle Homeのデバイス一覧にHome Assistantのデバイスが表示されるようになります。

以上でGoogle HomeとHome Assistantの連携は完了です。

スクリプトをGoogle Homeで使う方法

最後にGoogle HomeでHome Assistantのスクリプトの使い方をご紹介します。

例えば、Google Homeでオートメーションを新規作成します。この時に、アクションの項目で「スマートホーム デバイスの調整」を選択し、下の方にある「シーンの追加」という項目を選択すると、Home Assistantで設定したスクリプトの名前が表示されます。

これを選択するとGoogle Homeから音声でスクリプトを呼び出すことができます。

まとめ

いかがだったでしょうか?

今回はHome AssistantとGoogle Homeを連携する方法を紹介しました!

Google Home上でHome Assistantのデバイスやスクリプトを音声で操作できるようになるので非常に便利になります。

他にもスマートホームやHome Assistantの記事を書いています。ぜひこちらもご覧ください。

【必見】スマートホーム化の徹底解説まとめ!【安くて簡単】
スマートホーム化のしくみ、やり方、具体例、応用編などスマートホームに関連する情報をまとめています。これからスマートホーム化をする人、もっと上級編に取り組みたい人、スマートホームをするすべての人の指南書・参考になってほしいです。

Home Assistantを簡単に始められる入門キットを販売しています。Raspberry PiにHome Assistantをインストールして提供し、必要な付属品も付けた状態で販売するので、商品到着後にすぐにHome Assistantを始められます。

https://jp.mercari.com/item/m65207132345

コメント

タイトルとURLをコピーしました