HomeassistantをGoogle Assistant (Google Home)からコントロールする

いままでHomebridgeをハブとしてiPadのSiriで電灯スイッチのボイスコントロールが出来ていました。が、Siriは精度が悪すぎました。

「Hey,Siri.寝室の電気を消して」
「すみません。寝室の天気がわかりません。」

「Hey、Siri!」
「・・・」
「Hey,Siri!」
「聞こえてますよ。」

上はほんの一例。
「行っている意味がわかりません。」はしょっちゅうです。

やっぱり音声認識Googleでやりたい。
HomeassistantをGoogle assistantでコントロール出来るようにしました。

まずは、Homeassistantのコンフィグを設定します。
私の環境では、
/home/homeassistant/.homeassistant/configuration.yaml
にあります。
このファイルの最終行に"cloud"アドオンの設定を書きます。

cloud:

これだけ。
で、Homeassistantを再起動します。

うちの環境ではGentooのお作法に従い、/etc/local.d/に起動スクリプトと停止スクリプトを書いています。

/etc/local.d/homeassistant.start

#!/bin/sh
sudo -u homeassistant -H /home/homeassistant/bin/hass --pid-file /home/homeassistant/hass.pid  --daemon > /var/log/home-assistant.log 2>&1

/etc/local.d/homeassistant.stop

#!/bin/sh
kill $(cat "/home/homeassistant/hass.pid") 2>&1

このスクリプトで停止と起動をしています。

/etc/local.d/homeassistant.stop
/etc/local.d/homeassistant.start

echoコマンドを設定していないので、物静かに停止と起動をしています。

で、https://192.168.0.x:8123(IPアドレスは各自の環境に読み替えてください)にアクセスし、「設定」をクリックすると、"Home Assistant Cloud"という項目が増えています。これをクリックします。
f:id:naoyukinagano:20180621212647p:plain

サインインするページが現れますが、まずは先に最下部の「Create Account」でHomeassistant Cloudのアカウントを作ります。
f:id:naoyukinagano:20180621213934p:plain

メールアドレスを入力し、パスワードを設定し、「CREATE ACCOUNT」をクリックします。
f:id:naoyukinagano:20180621214201p:plain

すると、メールが飛んでくるので、メール本文の「Confirm Email」をクリックします。
f:id:naoyukinagano:20180621214301p:plain

この画面で完了です。
f:id:naoyukinagano:20180621214508p:plain

Homeassistantの設定画面に戻り、メールアドレスとパスワードを入力して「SIGN IN」します。
f:id:naoyukinagano:20180621220546p:plain

下記のような画面でHomeassistant側は完了です。
f:id:naoyukinagano:20180621220627p:plain
このアカウントは2018年7月22日が有効期限のようです。というのも、Homeassistant Cloudは現在は無料ですが、今後はコミュニティーサポートとして有料化するようです。

次にAndroidスマホからの設定です。
「アシスタント」アプリから設定します。右上の青い○に皿の絵のようななんともいえないアイコンをタップします。
f:id:naoyukinagano:20180621223337p:plain

使い方・ヒントが表示されますが、右上のメニューアイコン「︙」をタップします。
f:id:naoyukinagano:20180621223429p:plain

メニューの中から「設定」をタップします。
f:id:naoyukinagano:20180621223718p:plain

スクロールして機能カテゴリーにある「スマートホーム」をタップします。
f:id:naoyukinagano:20180621223751p:plain

スマートホームのデバイスを追加するため、右下の「+」をタップします。
(すみません。画像がデバイス追加後の画像になっちゃってます。)
f:id:naoyukinagano:20180621223842p:plain

スクロールして「hass.io」を探してタップします。
f:id:naoyukinagano:20180621224030p:plain

先ほどHomeassistant Cloudで設定したアカウントとパスワードを入力し、Sign inをタップします。
f:id:naoyukinagano:20180621224115p:plain

サインインすると、「GoogleがHome Assistantにリンクしてあなたのデバイスをコントロールできるようにして良いですか?」と訊かれるので、「Allow Access」をタップして許可します。
f:id:naoyukinagano:20180621224209p:plain

これで、HomeassistantのデバイスGoogle Assistant(Google Home)でコントロール出来ます。
「タップして部屋を割り当て」とでてますが、このページからやるよりも、部屋の設定画面から設定した方が楽です。
f:id:naoyukinagano:20180621224412p:plain

より正確にコントロールできるように、ニックネームを設定すると良いです。
というのも、Homeassistant上で"Living Snowball"と設定している照明があるのですが、「スノーボールを消して」と言ってもWeb検索の結果が出るため、googleアシスタント上では「スノーボール」とカタカナのニックネームをつけています。

Googleのスマートウォッチ Wear OSからもコントロール出来るようになりました!