この記事は WACUL Advent Calendar 2017 の 12 日目の記事です。
11 日目の記事は @kyoh86 さんの 「Go の俺的 scaffold はこれだ!2017 年版」 でした。
tl;dr
Google Home から IFTTT をキックして Pushbullet で送ったプッシュ通知をトリガーに Tasker で mornin' の Android アプリを操作する
Motivation
我が家では以前から Nature Remo を利用してエアコンをアプリ経由で屋外から操作したりしていましたが、10 月に Google Home が発売されたことで声でエアコンやテレビを操作できる様になりました。Google Home と Nature Remo の連携は 公式のドキュメント に記載されている通り簡単に行うことができます。
また、テレビやエアコンだけでなく mornin' を使って起床時間にカーテンが自動的に開くようにしているのですが、これを取り付けていると手動でカーテンを開け閉めできずアプリ経由で操作しなければなりません。頻繁に開け閉めするわけではないとはいえ、毎回スマートフォンを手にとりアプリを起動して操作する事には煩わしさを感じていました。そこで mornin' も Google Home から声で操作できるようにしました。
mornin' をプログラマブルに利用するときの制約について
mornin' には開発者向けの API や IFTTT との連携が用意されておらず、 Bluetooth で接続したスマートフォン上のアプリから操作することでしか操作できないため、今回は使っていない Nexus 5X を自動操作することで mornin' を動かすことにしました。
本記事の手法にて利用するもの
- Google Home
- mornin'
- IFTTT
- Pushbullet
- 以下のアプリを導入した適当な Android 端末
1. Google Home から IFTTT をキックする
IFTTT にログインし、 MyApplet > NewApplet
から新しい Applet を作成し、 トリガーに Google Assistant > Say a simple phrase
を選択します。
Google Home に反応してもらう適当なフレーズを設定します。
2. IFTTT から Pushbullet を叩く
アクションに Pushbullet > Push a note
を選択します。
タイトルに Tasker に反応させる適当なキーワードを設定しておきます。
3. Tasker に mornin' のアプリを操作する Task を登録する
Tasker を起動して、新しい Task を追加する。
4. Pushbullet の通知をトリガーに mornin' を操作する
Profiles > Event > UI > Notification
から Pushbullet の Notification をトリガーに先ほど登録した Task を実行する Profile を作成する。
ここまで設定すれば Google Home に喋りかけることでカーテンを操作することができます。試してみましょう。
IFTTT や Pushbullet が間にいることや Tasker での自動操作に Wait を入れていることもあり少し時間がかかっていますが、声でカーテンを操作できるようになりました。
明日 13 日目は @podhmo さんです。楽しみですね。