Google Homeを使って規則正しい生活をしたい

#はじめに
このご時世ですのでみなさんも家族全員で引きこもり生活をされているのではないかと思います。
在宅ワークやってて思うこと。学校が無いのでどんどん生活リズムが崩れてしまう。
そんな事はありませんか？親も子も「規則正しい生活」をしないと心身にダメージがきます。
朝は定時に起きる。
勉強、仕事をする。
夜は早めに。
規則正しい生活をして、気持ちも安定して過ごしたいですよね。
多分、こんなGASでスクリプトを作らなくてもIFTTTだけでもできそうですが、
Spreadsheetで一覧で管理したいこともあり、
そんなとき、我が家で実践しているGoogle HomeとGoogle Apps Scriptを使った、
チャイムといいますか、アラームシステムを構築しましたので、ご紹介させていただきます。
ちなみに、私の自宅の環境は[このような](https://qiita.com/freddiefujiwara/items/4f340c32c86312705c94)感じになっています。

![Google Homeに喋らせてみた.png](https://qiita-image-store.s3.amazonaws.com/0/1817/ba4fc8cb-8955-54d1-0ae6-7c7b090e034d.png)
また、それぞれの時間でpush callしたい、文言を下記にならべます。


| Alerm            |      Push Message                                    | 
|:-----------------|------------------------------------------------------:|
|6:00:00 AM        |HH時MM分です。朝になりました！起きましょう。| 
|6:30:00 AM        |HH時MM分です。そろそろ起きましょう。私はすっかり起きましたよ| 
|7:00:00 AM        |HH時MM分です。さすがにそろそろ起きましょう。運動や語学の勉強なんかどうですか？| 
|8:00:00 AM        |HH時MM分です。朝ごはんを食べましょう| 
|10:00:00 AM       |HH時MM分です。そろそろ休憩でもいかがでしょうか| 
|12:00:00 PM       |HH時MM分です。お昼ごはんの準備を始めましょう| 
|1:00:00 PM        |HH時MM分です。お昼ごはんを食べましょう| 
|3:00:00 PM        |HH時MM分です。そろそろおやつの時間かな?| 
|5:30:00 PM        |HH時MM分です。晩ごはんの準備を始めましょう| 
|6:30:00 PM        |HH時MM分です。晩ごはんを食べましょう| 
|8:30:00 PM        |HH時MM分です。お風呂に入りましょう| 
|10:00:00 PM       |HH時MM分です。そろそろ寝ましょう。私は寝ます。おやすみなさい| 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1817/c89208eb-ed63-2f57-54df-bfba6f9e38ab.png)



#1)IFTTT側の準備
## 1-1)My Servicesに行きます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1817/b99a07cf-2726-cfa9-ab90-b3301acde053.png)

## 1-2)Webhookを設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1817/c1c93b18-c17a-92ff-7b78-9156dafd4d6d.png)

Webhooks>settingに行きます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1817/9f72c424-576f-9333-95fd-872651f08d20.png)

下記の赤枠のURLをコピペしてブラウザのアドレスに貼り付けて行きます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1817/a50e3443-04a4-6949-0946-d619c4509b26.png)

遷移したら Triggerの右横の{{event}}って書いてある箇所を"alarm"に変更し,
curl -X POSTの右側のURLをコピーして起きます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1817/94bd09be-275b-2d30-51d4-172d6f07e9e5.png)

#2)Google側の準備
##2-1)Spreadsheetを作成
SpreadシートにはトリガーにしたいGMailを下記のように作成しましょう

- A列 アラームをセットしたい時間
- B列は　=ENCODEURL(CONCATENATE(HOUR(A12),"時",MINUTE(A12),"分です。何かメッセージ"))

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1817/98101e39-031a-8329-f71b-2d9325b2daf5.png)


##2-2)GASを作成
先程のSpreadsheetからTools>Scripteditoを選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1817/5da4a118-d6f7-6751-fa94-1c0b1ccb4be4.png)

##2-3)GASを実装
下記の赤枠の部分に
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1817/55e243fb-4160-56a0-e69f-74d2f9d1a523.png)

IFTTTのURLの部分を1-2)でコピーしたものに変更して保存してください

```JavaScript
function myFunction() {
	// !!please set your ifttt webhook url!!
	var IFTTT = 'https://maker.ifttt.com/trigger/さっき保存じたURL';
	// get data from spread sheet
	var labels = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
	// for all labes;
	for (var v = 0; v < labels.length; v++) {
		if (labels[v].length < 2) {
			return;
		}

		// calculate the time difference between now and target
		var now = new Date();
		var target = new Date(labels[v][0]);
		// adjust target's YYYY/MM/DD to current YYYY/MM/DD
		target.setFullYear(now.getFullYear());
		target.setMonth(now.getMonth());
		target.setDate(now.getDate());

		// trigger "alarm" if the difference is within 50 secs
		if (Math.abs(now - target) < 50 * 1000) {
			//  POST IFTTT if you've got "alarm"
			Logger.log(IFTTT);
			var res = UrlFetchApp.fetch(IFTTT, {
				'muteHttpExceptions': true,
				'method': 'post',
				'contentType': 'application/json',
				'payload': JSON.stringify({
					"value1": labels[v][1]
				})
			});
			Logger.log("Response:" + res);
		}
	}
}
```
##2-4)GASをテスト実行
三角の矢印を押下してください
初回は色々GoogleSpreadsheetやGmailとの連携をするためにポップアップがでますが
すべて許可してつないでください

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1817/bd1700f7-8d41-b970-d3d7-3f52b0076c8b.png)


##2-5)GAS Triggerを設定
最後にここを押して
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1817/466a1cb8-3783-f9e8-5efe-1d1b6c2a006f.png)

"+Add Trigger"を押して新しいトリガーを下記の様に設定しましょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1817/0e18fdad-bdef-70b1-092a-ea1d3dc5ba49.png)

#デモ
[![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/W7x76ws5jV8/0.jpg)](http://www.youtube.com/watch?v=W7x76ws5jV8)

#最後に
皆さま、最後までご覧いただき、ありがとうございました。
いかがでしたか？
少しでも規則正しい生活の助けになったら幸いです。
いいな、と思ったらLGTMお願いします！