kun432's blog

Alexaなどスマートスピーカーの話題中心に、Voiceflowの日本語情報を発信してます。たまにAWSやkubernetesなど。

〜スマートスピーカーやVoiceflowの記事は右メニューのカテゴリからどうぞ。〜

Google Home + GHKit + IFTTTで、奥さんの晩ごはん作りのタイミングを支援する

スマートスピーカーIFTTT 大喜利 Advent Calendar 2018の2日目です。Advent Calender 初参加です。よろしくおねがいします。

こういう使い方は既出ネタだと思いますが、「少しづつ改善」して「きちんと家族の役に立ってるよ」ということを、我が家のユースケース交えて説明します。

課題その1

毎日会社から帰るときにお家の方に「帰るよー」メールをする方、多いと思います。うちでも、毎日帰る前に奥さんにメールをしますが、うちの奥さんはこのメールをトリガーにして晩ごはんを作り始めます。

が、これ、たまに忘れちゃうんですよね。。。ということで、IFTTTを使ってこれを自動化する話です。

イメージ

f:id:kun432:20181201215541j:plain

トリガー

IFTTTのthisは「Location」を選択します。

これでIFTTTアプリからスマホの位置情報を利用して

  • エリアに入ったとき
  • エリアから出たとき
  • エリアに入ったとき or 出たとき

がトリガーになります。「帰るよー」の場合は、

  • エリア:会社近辺
  • エリアから出たとき

でOKです。あんまりピンポイントなエリア選択にすると、GPSの精度的にうまく拾えない場合もあるので、多少広めに設定するほうが無難です。

アクション

次にthatですが、まあ普通に考えると、奥さんのスマホにメール/SMS/LINEで通知すればよいと思いますが、なんせ晩ごはん時ですから、奥さんは手が離せない、という問題もありますのでここはスマートスピーカーに話させましょう。ただし、IFTTTのthatにはスマートスピーカー系のものはないです。そこで「GHKit」を使います。

GHKitを使うと、プッシュ用のAPIが用意されて、JSONでPOSTすれば、GHKit経由でGoogle Homeに喋らせることができます。Raspberry Pi + Google Home Notifierでも同じことができます。

ということで、GHKit+IFTTTの設定例は以下を参考にして「Webhook」の設定を追加するだけですね。

  • URL:https://ifttt.ghkit.jp/
  • Method:POST
  • Content Type:application/json
  • Body:{"message": "XXXXXXXX 旦那さん、会社を出たよー"}
    • ※ X部分にGHKit IDを入れる
    • ※ メッセージは自由に。

最終的なIFTTT設定

f:id:kun432:20181125233837p:plain

簡単ですね。とりあえずこれで「会社を出て、家へ帰り出した」ということをGoogle Homeから声で伝えれるようになりました。

課題その2

これでメールを忘れた場合でも、まずは会社を出たことは伝わるようになりましたが、以下のような要望がありました。

  • 帰ってくるタイミングが確実にわかるようになってよかった。ご飯炊き始めるのにちょうどよい。
  • でも、パスタとかの場合は15分ぐらい前にもわかるようにしたい。

ということで、これも解決していきます。

イメージ

f:id:kun432:20181201215544j:plain

トリガーとアクション

課題その1でやったことをLocationを変えてやるだけですね。私の場合は途中で乗り換える駅があるのでそこに設定してます。

  • Location
    • エリア:乗り換える駅
    • エリアに入ったとき
  • Webhook
    • URL:https://ifttt.ghkit.jp/
    • Method:POST
    • Content Type:application/json
    • Body:{"message": "XXXXXXXX 旦那さん、○○駅についたよー"}
      • ※ X部分にGHKit IDを入れる
      • ※ ○○に乗り換え駅名を入れる。その他のメッセージは自由に。

ほとんど同じなので、スクショは省略します。

少しだけ工夫しているのは、

  • 最初と違って、「エリアに入ったとき」「ついたよー」にしている。
    • IFTTTの場合、タイムラグがあってすぐに実行されない場合もある。
    • 出たよー、だと、もうすぐ家に着く、早く作らないと!というプレッシャー回避
  • 自宅の最寄駅にしていない。
    • 最寄駅だと、休みの日に駅前のスーパーとかへ行くだけで通知されるのでうざい。
    • 最寄り駅だと、着いた!家まですぐじゃん?!早く作らないと!というプレッシャー回避

というところですかね。

休日はどうするの?

平日は通勤経路が決まってるので問題ないんですが、休みの日に私が一人でどこかに出かけたりする場合とか、出張でいつもと違う経路を通ったり、というような場合には対応できません。これについてはさすがに自動化まではできないので、Foursquareのチェックインを使うことにしました。

ifttt.com

スマホのswarmアプリからのチェックインをトリガーにして、さっきと同じようにWebhookからGHKitにメッセージを飛ばすようにしてます。

  • Webhook
    • URL:https://ifttt.ghkit.jp/
    • Method:POST
    • Content Type:application/json
    • Body:{"message": "XXXXXXXX 旦那さんが VenueName にチェックインしました〜"}

VenueNameFoursquareでチェックインした場所名が入ります。

帰り道のポイントポイントでチェックインすることで、なんとなく「あ、そろそろ帰ってきてるっぽいなー」みたいな雰囲気で伝える感じです。いろんな場所でチェックインしたいと言う私の欲求も満たせるのでWIN-WINな感じです。

f:id:kun432:20181202003208p:plain

まとめ

たまにWebhookに失敗してたりタイムラグがあったりはしますけど、概ね好評です。ちなみに、会社の行きも設定は別にしてあって、毎日無事に会社に着いている・無事に帰路についている、というのが確認できて安心というのも大きいみたいです(今年は災害が多かったので)。

とはいいつつ、メールも並行でやってます。自動化しちゃうことでコミュニケーションの機会が減っては意味がないですしね。日頃のコミュニケーションを「支援」するような形でいろいろできたらなぁと思っています。