【Google Home】Google Homeに喋らせたい(IFTTT連携自動化)
概要
前回,IFTTTのButton Widgetを使ってIFTTTアプリのボタンを押すことでGoogle Homeを喋らせることが可能になりました.今回はボタンを押すのではなく,IFTTTアプリが取得している自己位置をトリガーとしてGoogle Homeが喋れるようにしてみたいと思います.
手順
基本的な手順は前回のButton Widgetと同様で,トリガーの設定が異なります.今回もIFTTTのWebサイトでAppletを追加していきます.まず,ホームの右上ドロップダウンメニューから「New Applet」を選択します.
「+ this」をクリックしてトリガーの設定を開始します.
今回はIFTTTアプリが端末から取得している自己位置情報をトリガーにするので「location」サービスを選択します.
次にどんなタイミングでイベントを発生させるのかを選択します.選択肢として以下の3つタイミングが選べます.
- You enter an area:エリアに入ったタイミング
- You exit an area:エリアから出たタイミング
- You enter or exit an area:エリアから入ったか出たタイミング
ここでは自宅に帰るタイミングで喋らせたいのでエリアから出たタイミングをトリガーとします.
次にエリアを設定します.地図とエリアを示す円が表示されているので,エリアの中心と地図の拡大率を変更することでエリアを調整します.GPSやWiFiベースの測位は誤差が100m程度になることもあるので,このエリアは狭くし過ぎるとエリア内にいてもエリアから出たことになってしまったりします.普段当該エリアでどの程度の精度で測位が出来ているかを確認しておくと調整しやすいと思います.
次に「+ that」をクリックしてアクションを設定します.
google-home-notifierにPOSTするために「Webhooks」を選択します.
POSTする内容を設定します.これは前回と同様で,喋らせる内容を適当に変更します.
URL:node example.jsを実行した際に表示されるngrokのURLを入力
Method:CURLでPOSTしたようにPOSTを指定
Content Type:application/x-www-form-urlencodedを指定
Body:text=[Google Homeに喋らせる内容]形式で入力
適当な名前を設定して「Finish」ボタンで設定完了です.
IFTTTのアプレットの作成が終ればIFTTTアプリにも設定が反映されるので,後は自動的にイベントが発生してGoogle Homeが喋ってくれます.
まとめ
Google Homeを喋らせる方法が分かったことで自分の中でGoogle Homeの価値が上がりました.折角なので何か他のことも喋らせてみたくなりました.例えば出勤前に自動的に今日の予定を喋ってくれるとか.なんだかんだ言ってわざわざ「ねぇ,ぐーぐる」とか言ってウェイクアップさせるのって面倒ですよね.出勤前とか準備している時間が決まっているので日時をトリガーにしてGoogleカレンダーから情報を取ってくるようなことができればいいなと思います.今後時間があれば試してみたいです.