IFTTT, Google Assistant, Google Sheetsで赤ちゃんの授乳を記録する

Geek Women Japanアドベントカレンダーの9日目です。

qiita.com

ただいま、今夏に生まれた第2子の育休中です。そして気が付きました。授乳中は身動きがほとんど取れない…!何なら視線さえも縛られる…しかし口だけは自由だ!と。

お手軽なIFTTTを使って、Google Assistant + Google Sheetsで赤ちゃんの授乳記録を作ることにしました。

準備

アカウント

  • IFTTTアカウント
  • Googleアカウント

これらは、既に用意されているものとします。

また、IFTTTにGoogleアカウントを連携しておきます。

Google Assistant

iOSの「Google アシスタント」アプリを使って動作を試しました。 アプリにも、IFTTTに連携したGoogleアカウントを設定しておきます。

Google Homeで動作させてみたかったのですが、今日までに届きませんでした!残念!)

記録するもの

毎日の赤ちゃんの授乳状況を記録するものとします。

そして一口に「授乳」と言っても、実際の手法は様々なのですが、、今回は「ミルクの授乳」について取り扱います。

IFTTT

f:id:takopomm:20171209010538p:plain

アプレットを作成してみます。

何をするか

アシスタントからの入力で、

  • いつ
  • ミルクを
  • どのくらい飲んだか

スプレッドシートに記録します。

例えば、「ミルクを140」と言ったら、「現在日時にミルクを140ml飲んだ」ことを記録するようにします。

This

Google Assistant」を選びます。

f:id:takopomm:20171209010426p:plain

Choose trigger

数値を1つ含むので、「Say a phrase with a number」を選択します。

f:id:takopomm:20171209010810p:plain

Complete trigger fields

例えば「ミルク100」と言ったら動作して欲しいので、このようにしました。

f:id:takopomm:20171209011215p:plain

#で数値が取得できます。#の前(後)には空白が必要です。

アシスタントからの返答には、お母さんへのねぎらいの言葉を付け加えておきます。(もしミルクをお父さんがあげている場合は、お父さんへ!)

f:id:takopomm:20171209011515p:plain

言語は「日本語」を選択して「Create trigger」すれば、Assistantの動作の出来上がりです。

That

スプレッドシートに記録したいので、「Google Sheets」を選びます。

f:id:takopomm:20171209012010p:plain

Choose trigger

行を追加したいので、「Add row」を選びます。

f:id:takopomm:20171209012347p:plain

Complete action fields

記録先のスプレッドシートの指定と、セルに書き込む内容を指定します。

f:id:takopomm:20171209012516p:plain

自分のGoogle Driveスプレッドシートを作成しておきます。 私の場合は、

というものを用意したので、上の画像のような設定になっています。

セルに書き込む内容の指定で、「日時」はCreatedAtパラメータを利用したいところですが、現状動作していないそうです。 そのため、スプレッドシート側にスクリプトを埋め込んで、日時を記録できるようにします。

Spreadsheet

日時を記録するために、スプレッドシートスクリプトを追加します。

f:id:takopomm:20171209013552p:plain

function

セル(最後の行, 指定の桁)に、現在日時を書き込みます。

function addDate(e) {
  var row = SpreadsheetApp.getActiveSheet().getLastRow();
  SpreadsheetApp.getActiveSheet().getRange(row, 1).setValue(new Date());
}

トリガー

「シートに値の変更があった時」に、上のfunctionが実行されるようにします。

f:id:takopomm:20171209013644p:plain

参考

動作確認

Assistantアプリで、「ミルク120」と言ってみます。

「ミルクを120ミリリットルですね。お疲れ様です!」と返してくれました。

f:id:takopomm:20171209014329p:plain

スプレッドシートにはこのように記録されました。

f:id:takopomm:20171209014531p:plain

実際には、ミルクだけでなく母乳の場合も記録できるように、IFTTTにいくつか追加しました。 phraseが多少異なるだけで、やることは同様です。 すごくお手軽に、なかなか実用的なものが出来る…!!!

感想

  • 個人的には手書きの日記も好きなので、スプレッドシート上に完全移行するかどうかは決めかねていますが、身動きが取りづらい状況でも記録できるのはとても便利。

  • 1日に何分授乳したか、1ヶ月に何時間授乳したか…といった情報を返してくれるようにもしたい。 手書きの育児日記からは読み取りにくいデータを、お手軽に知れたら面白そう。

  • DialogFlowも使ってみよう。

  • 授乳を頑張るお母さんの心もアシストできるといいな!