いままで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"という項目が増えています。これをクリックします。
サインインするページが現れますが、まずは先に最下部の「Create Account」でHomeassistant Cloudのアカウントを作ります。
メールアドレスを入力し、パスワードを設定し、「CREATE ACCOUNT」をクリックします。
すると、メールが飛んでくるので、メール本文の「Confirm Email」をクリックします。
この画面で完了です。
Homeassistantの設定画面に戻り、メールアドレスとパスワードを入力して「SIGN IN」します。
下記のような画面でHomeassistant側は完了です。
このアカウントは2018年7月22日が有効期限のようです。というのも、Homeassistant Cloudは現在は無料ですが、今後はコミュニティーサポートとして有料化するようです。
次にAndroidスマホからの設定です。
「アシスタント」アプリから設定します。右上の青い○に皿の絵のようななんともいえないアイコンをタップします。
使い方・ヒントが表示されますが、右上のメニューアイコン「︙」をタップします。
メニューの中から「設定」をタップします。
スクロールして機能カテゴリーにある「スマートホーム」をタップします。
スマートホームのデバイスを追加するため、右下の「+」をタップします。
(すみません。画像がデバイス追加後の画像になっちゃってます。)
スクロールして「hass.io」を探してタップします。
先ほどHomeassistant Cloudで設定したアカウントとパスワードを入力し、Sign inをタップします。
サインインすると、「GoogleがHome Assistantにリンクしてあなたのデバイスをコントロールできるようにして良いですか?」と訊かれるので、「Allow Access」をタップして許可します。
これで、HomeassistantのデバイスをGoogle Assistant(Google Home)でコントロール出来ます。
「タップして部屋を割り当て」とでてますが、このページからやるよりも、部屋の設定画面から設定した方が楽です。
より正確にコントロールできるように、ニックネームを設定すると良いです。
というのも、Homeassistant上で"Living Snowball"と設定している照明があるのですが、「スノーボールを消して」と言ってもWeb検索の結果が出るため、googleアシスタント上では「スノーボール」とカタカナのニックネームをつけています。