Google Homeに話しかけて娘のおむつ交換を記録する

好きなモノは酒と女とラーメン、LIFULLのてぃば(@rechiba3)です。
弊社にはふたりの千葉がいますが、私のことは“人妻の方の千葉”で覚えて下さい！
# はじめに
この記事は[LIFULL Advent Calender2017](https://qiita.com/advent-calendar/2017/lifull2)　その2の4日目の記事です。

今年の１月に誤って天使を地上へ産み落としてしまいまして、そりゃもう、毎日が幸せです。
天使は生後〜２ヶ月ぐらいは１５回／１日ほどおむつ交換の必要があり、それからは徐々に１０回、６回と減っていきます。

はじめは、おむつを替える度に育児手帳のような紙に記録していたのですが、ペンを持って時間を見て、印を付けて…といったフローが億劫でした。
なのでGoogle Homeを利用して記録できるようにしました。

## ちなみに記録する目的
夫婦の共有のためです。
いつ交換したか、うんちは出ているか、便秘ぎみか、軟便ぎみか、などなど
娘の健康のために把握しておく必要があります。

# Google スプレッドシートに記録する
Google Home を経由して、Google スプレッドシートへ記録します。

## 手順
###　１． Google スプレッドシートを作る
#### 1-1. シート内容を整える
<img width="1089" alt="20171204_qiita001.png" src="https://qiita-image-store.s3.amazonaws.com/0/86461/39df2ab6-2d6d-e341-7c98-1f7b7c781eb8.png">
必要なのは**時間・うんちしたか・おしっこしたか**なので見出し行をつけます。

#### 1-2. GASでタイムスタンプが追加されるようにする
なぜか現在の仕様ではタイムスタンプは自動で追加されないようです。残念。
なのでGoogleAppsScriptで追加します。
参考：[Google Home、IFTTT、Googleスプレッドシートを使って独自音声コマンドでログをとる（ついでにNode.jsやngrokやらも使ってLINEやGoogle Homeに通知する）](https://qiita.com/miso_develop/items/be562d8a823ad2639d94)
参考：[【スプレッドシート】更新時間を自動記入させる方法](http://bonheur.hatenablog.jp/entry/2017/06/30/130437)

```actionscript
function insertLastUpdated() {
  var ss = SpreadsheetApp.getActiveSheet();
  var currentRow = ss.getActiveCell().getRow();
  var currentCell = ss.getActiveCell().getValue();
  var updateRange = ss.getRange('A' + currentRow)
  Logger.log(updateRange);

  if(currentRow>1){
  if(currentCell) { 
  updateRange.setValue(new Date());
  　}
  }
}
```
スプレッドシートはこれでとりあえずOKです。
### 2. IFTTTでGoogle Homeのレシピを作る
#### 2-1. IFTTTにNew Appletを追加
つぎにIFTTTでGoogle　Assistantと連携させます。
[https://ifttt.com/create](https://ifttt.com/create)を開いて**+this**を選びます。
**Search services**と書かれた検索フォームに**Google**と入力すると、いちばんめに**Google Assistant**がサジェッションされるので選択して先へ進みます。
<img width="627" alt="20171204_qiita002.png" src="https://qiita-image-store.s3.amazonaws.com/0/86461/63d3d1f0-f3ca-e20e-c661-bbfd3054f178.png">

**Choose trigger**と見出しが出て複数の選択肢が出てくるので**Say a simple phrase**を選びます。

その後**+that**を選び、先程と同じように**Search services**と書かれた検索フォームに**Google**と入力すると、何番目かに**Google Sheets**がサジェッションされるので選択して先へ進みます。

#### 2-2. Complete trigger fieldsへの入力
それぞれ入力項目は以下のようになっています。

- What do you want to say?
    - 「OK Google」の後に言う言葉
- What's another way to say it? (optional)
    - これも「OK Google」の後に言う言葉。バリエーション増やしておくといい
- And another way? (optional)
    - さらにこれも「OK Google」の後に言う言葉
- What do you want the Assistant to say in response?
    - 上記が認識された後のGoogle Homeの返答。
- Language
    - 言語設定

私は下記のように設定しました。
<img width="347" alt="20171204_qiita003.png" src="https://qiita-image-store.s3.amazonaws.com/0/86461/5db12a3c-63c5-c67c-cb13-1ea0ede19b5d.png">

これで、「ねぇ、Google うんちした！」って言えばうんちの時間を記録してもらえます。

#### 2-3. Update cell in spreadsheetへの入力
- Drive folder path (optional)
    - 1で作成したGoogleスプレッドシートのパスを貼り付けます。
    - https: //drive.google.com/ ではじまるやつ
- Spreadsheet name
    - 1で作成したGoogleスプレッドシートのシート名を記載します
- Which cell?
    - 記録するセルを入力します。今回はB列ですね
- Value
    - 記録したい値を入れます。今回はうんちしたってわかりやすい絵文字を入れておきます
    - 絵文字対応◎最高◎

以上を入力して**SAVE**、完了です！

### 3. うんちの報告をします
「ねぇ、Google うんちした」
<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/GoogleHome?src=hash&amp;ref_src=twsrc%5Etfw">#GoogleHome</a> で娘のおむつ交換したら記録してもらえるようにした💩💩💩 <a href="https://t.co/rayo67OkGU">pic.twitter.com/rayo67OkGU</a></p>&mdash; ホームシックなてぃば (@rechiba3) <a href="https://twitter.com/rechiba3/status/937679570840428545?ref_src=twsrc%5Etfw">2017年12月4日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

スプレッドシートはこんな感じ
<img width="323" alt="20171204_qiita004.png" src="https://qiita-image-store.s3.amazonaws.com/0/86461/1fbbb119-5456-f539-ec0e-ec04b2569877.png">

### おまけ. 応用を効かせてGoogleカレンダーへも記録
IFTTTの**+that**選択後に**Google Calendar**を選びます。
必要事項を同じように入力すると出来上がり！
こんな感じ。
<img width="568" alt="20171204_qiita005.png" src="https://qiita-image-store.s3.amazonaws.com/0/86461/54d764f6-831e-8dc0-308e-78f24067afe5.png">
Googleカレンダーの仕様的に終了時刻が必要なので、それがちょっと気持ち悪いな〜向いてないかも〜と思っている感じです。

# まとめ
ミルクの時間記録、や、参考に挙げさせていただいたような薬の時間を記録など様々なライフログに応用が効くな、と感じました。
手が空くって最高、ストレスフリーです。

普段から「ねぇ、Google！」と言いまくっている所為か、娘が「アイツがGoogleだ」と理解したようでGoogle Homeを怪訝な表情でじっと見つめています。
新しいデバイスと仲良くインターネッツを楽しんでほしいな！ママからのお願いだよ！

# 進化したうれぴー！なリンク集
- [Google Homeを使って娘のオムツの情報をGoogle Spreadsheetに記録する](https://qiita.com/ahiru_z/items/8385256228625c3a6674) @ahiru_z さん
    - python＋heloku+dialogflowで「うんこなう」→「うんちの状態はどうでしたか？」を実現されています。