Google Home と mornin' を使って声でカーテンを開閉する

Posted on

この記事は 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’ を動かすことにしました。

本記事の手法にて利用するもの

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 さんです。楽しみですね。