【Google Home】Google Homeに喋らせたい(IFTTT連携)
概要
前回,CURLでgoogle-home-notifierに任意のテキストをPOSTすることでGoogle Homeに喋らせることが可能になりました.今回はIFTTTと連携することで,例えばボタンを押すことをトリガーとしてGoogle Homeに予め決めておいたテキストを喋らせてみようと思います.
手順
IFTTTとの連携のポイント
IFTTTは様々なイベントをトリガーとしてアクションを発生させることができます.今回はボタンを押すことをトリガーとすることを目標としています.具体的にはiOSのIFTTTアプリ中のボタンを押すことをトリガーとします.
そして,アクションとして前回CURLでgoogle-home-notifierにPOSTしたようにIFTTTからgoogle-home-notifierにPOSTを行なうことが出来ればGoogle Homeを喋らせることが出来るようになるという目論見です.
IFTTTにサインイン
私は既にIFTTTのアカウントを持っていますので,そのアカウントでIFTTT(https://ifttt.com/)にサインインします.まだアカウントを持っていない方はサインアップからアカウントを取得しましょう.最終的にはiOS上のボタンをトリガーにしますが,トリガーの作成はPCのブラウザで作成可能なのでトリガーとアクションの作成はブラウザ上で行ないます.Appletの作成
サインイン後,画面右上のドロップダウンメニューから「New Applet」を選択します.
すると下図のような画面が出てきますので,「+ this」部分をクリックしてトリガーの作成を開始します.
Choose a serviceということで,沢山のアイコンが表示されると思います.これらのサービスと連携して様々なイベントをトリガーとして利用することが可能です.今回はボタンを押すことをトリガーとしたいので,「Search services」テキストボックスに「BUTTON」と入力します.すると下図のようにButton Widgetのみが表示された状態になると思います.Button Widgetアイコンをクリックしましょう.
IFTTTアプリを最新にしろと言われていますが,恐らく最新なので気にせず「Connect」ボタンを押して進めます.
「Button press」という名前でButton Widgetが登録されたようです.表されている「Button press」を更にクリックするとトリガーとして設定出来ます.
トリガーが設定されると「+ this」だったところがButton Widgetのアイコンになっています.
次に,ボタンを押したときに行なうアクションを設定します.「+ that」をクリックします.
Choose action serviceということで,また沢山のアイコンが表示されていると思います.IFTTTが実行出来るアクションも多いのですが,ここではPOSTを行えるアクションを選びます.
POSTが可能なサービス「Webhooks」を選択するため,「Search services」テキストボックスに「Web」と入力するとWebhooksサービスだけが表示されます.
「Connect」ボタンを押してサービスを利用可能な状態にします.
利用可能になったWebhooksサービスをクリックして選択します.
アクションの詳細を設定する画面が表示されます.各フィールドを下記のように設定します.- URL:
node example.js
を実行した際に表示されるngrokのURLを入力 - Method:CURLでPOSTしたようにPOSTを指定
- Content Type:application/x-www-form-urlencodedを指定
- Body:
text=[Google Homeに喋らせる内容]
形式で入力
必要に応じてこのアクションの名前を付けて「Finish」で設定終了です.
- URL:
Appletの実行
上記手順を踏んだ後,iOSのIFTTTアプリに同じアカウントでサインインすると上記設定で作成したAppletがIFTTTアプリ上に現れているはずです.IFTTTアプリ上でボタンを押すことでRaspberry Pi上で実行しているgoogle-home-notifierにnotificationがPOSTされ,Google Homeが喋ってくれます.
次回
ここまでの設定で,例えば帰宅するときにIFTTTアプリのボタンを押すだけで「今から帰るよー」とかGoogle Homeに喋らせることが可能になりました.GPSの位置情報の曖昧さを考えると,もしかしたらこの使い方の方がいいかも知れません.次回,実際その辺はどうなのかと言うことを実際に設定して試してみたいと思います. 以下蛇足ですが,いつの間にかngrokで繋がらなくなったという場合はアドレスが期限切れになっている可能性があります.そんな場合は,下記のサイトを参考にするといいと思います. google-home-notifierが気づいたら動かなくなってた時の対処法