GHKit Zero と IFTTT の連携


「[GHKit Zero](https://ghkit.jp/ "GHKit Zero")」は、Google Homeに、プッシュ通知機能を追加することを目的に開発されたキットです。

ここでは、「[GHKit Zero](https://ghkit.jp/ "GHKit Zero")」と、サービス連携プラットフォーム「[IFTTT](https://ifttt.com/ "IFTTT")」との連携手順を説明します。

具体的には、[IFTTT](https://ifttt.com/ "IFTTT") の「Date & Time」サービスを使い、あらかじめ設定した時間になった際に、Google Homeに特定のメッセージ（例：おやつの時間です）を送信（再生）する手順について記載します。
![スクリーンショット 2019-04-06 12.13.14.png](https://qiita-image-store.s3.amazonaws.com/0/160696/1b9ac12f-6eae-3c00-e8dd-733a2e24fe1b.png)
IFTTTのご利用経験のある方は、任意のトリガーサービスをご利用いただいて構いません。

本手順をマスターすれば、「時間」以外にも、「カレンダーに登録されたイベントが開始される時」や「（条件に合う）ツイートがあった時」など、[IFTTT](https://ifttt.com/ "IFTTT") で利用できる数百ものイベントをトリガーにして、Google Homeにメッセージを送信（再生）することが可能になります。

# 設定前の準備

連携を設定する前に、以下の項目を確認してください。

**1. 「Google Home」と「GHKit」のセットアップ**

最初に、Google Homeをセットアップし、利用できる状態にしておいてください。

次に、HP上の手順を参考に「[GHKit Zero](https://ghkit.jp/ "GHKit Zero")」をセットアップし、Google Homeとの接続を確認してください。

**2. IFTTTのアカウント作成**

[IFTTT](https://ifttt.com/ "IFTTT") にアクセスし、アカウント作成（Sign up）してください。

Googleアカウントをお持ちの方は「Continue with Google」を選択されると簡単です。

**3. 連携情報の用意**

「[GHKit Zero](https://ghkit.jp/ "GHKit Zero")」同梱の書類より「GHKit ID」と「Code」をご準備ください。

* GHKit ID：ここでは例として「abcde12345」を用います。
* Code：ここでは例として「123456」を用います。

# 連携の設定

連携の設定は、全て [IFTTT](https://ifttt.com/ "IFTTT") の WEBサイトで行います。

あらかじめログイン（Sign in）しておいてください。

## 利用したいサービスの検索と接続（Connect）

まず最初に、利用したいサービスを検索します。

上部メニューの「Explore」をクリックし、興味のあるサービスを探します。

今回は決まった時間にアクションを起こす「Date & Time」サービスと、HTTPリクエストを送信できる「Webhooks」サービスを利用します。

###「Date & Time」サービス

「Date & Time」サービスに接続（Connect）して利用できるようにします。

検索ボックスに「Date」と入力し「Services」タブを選択すると「Date & Time」サービスが表示されます。

![スクリーンショット 2020-09-01 15.50.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160696/cba72b0f-fdaf-e8f5-7345-f682d9f9ffe5.png)

選択すると下記の画面が表示されるので、「Connect」をクリックします。

![スクリーンショット 2020-09-01 15.54.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160696/967e7ec8-769f-1160-005e-a0236e368863.png)

下記のようにタイムゾーンを設定し、もう一度「Connect」をクリックします。

![スクリーンショット 2020-09-01 15.55.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160696/83a77bf6-60e5-c5a4-a719-10565ff93115.png)

これでこのサービスを利用できるようになりました。

###「Webhooks」サービス

同様に「Webhooks」サービスに接続（Connect）して利用できるようにします。

検索ボックスに「Webhook」と入力し、「Webhooks」サービスを選択し、「Connect」をクリックします。

![スクリーンショット 2020-09-01 15.57.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160696/45e04b86-43fe-53f5-8d72-9ea02811ec20.png)

追加の設定なしに利用できるようになりました。

## アプレット（Applet）の作成（トリガーの設定）

[IFTTT](https://ifttt.com/ "IFTTT") では、連携をアプレット（Applet）という形で作成します。

上部メニューの「Create」ボタンをクリックします。

クリックすると、下記の作成画面が表示されます。

![スクリーンショット 2020-09-01 15.59.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160696/188ecf2c-e91e-447b-ff33-c281cf3f86f9.png)

連携は「This」した時、「That」するという形で設定します。

「This」がトリガー、「That」がアクションとなります。

ここではまず「This」をクリックしトリガーを設定します。

![5.png](https://qiita-image-store.s3.amazonaws.com/0/160696/38676702-f29e-268d-f4d3-20d1a3adb5ca.png "5.png")

検索ボックスに「Date」と入力し、先ほど接続（Connect）した「Date & Time」サービスを選択します。

![6.png](https://qiita-image-store.s3.amazonaws.com/0/160696/eeecebdf-3a80-d065-aff4-8ebb56fa5bd9.png "6.png")

いくつかあるメニュー（トリガー）のうち「Every day at」を選択します。

これは「毎日決まった時間になったら」を表現するトリガーです。

時間を設定します。テストの際は、現在時刻と近い時間で設定してください。

![7.png](https://qiita-image-store.s3.amazonaws.com/0/160696/47e4d6bd-44ab-6e67-c752-24a592980314.png "7.png")

「Create trigger」をクリックします。

## アプレット（Applet）の作成（アクションの設定）

次に「That」をクリックし、トリガーに対するアクションを設定します。

ここでは[GHKit Zero](https://ghkit.jp/ "GHKit Zero")へメッセージを送信するアクションを設定します。

検索窓に「webhook」と入力し、先ほど接続（Connect）した「Webhooks」サービスを選択します。

![8.png](https://qiita-image-store.s3.amazonaws.com/0/160696/67a4e993-a63e-0657-3f72-e9e8d683cae4.png "8.png")

アクションとして「Make a web request」を選択します。

ここで下記のように GHKit への接続情報を記載します。

* URL：https://zero.ghkit.jp/
* Method：POST
* Content Type：application/json

最も重要なBody部分は下記のように記載してください。

「abcde12345」は事前に準備した「GHKit ID」に、「123456」は「Code」に置き換えてください。

「message」にはGoogle Homeに喋らせたい内容（今回は「おやつの時間です」）を記述します。

```
{
"ghkit":"abcde12345",
"code":"123456",
"message":"おやつの時間です"
}
```

![スクリーンショット 2020-09-01 16.05.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160696/718493fb-1578-8185-5768-e8273c88495a.png)

> 「{」「}」「"」は全て半角です。全角にならないように注意してください。
> 特に「"」は、環境により「“」や「”」に自動変換される場合があります。
> また、message部分以外で全角スペースが挿入されたり、予期しない改行があると、エラーの原因になります。
> あわせてご注意ください。
> エラーが発生した場合は、上記をコピー＆ペースとして試されることをおすすめします。

最後に「Create action」ボタンを押し、次に「Finish」ボタンを押して作成を完了します。

![https---qiita-image-store.s3.ap-northeast-1.amazonaws.com-0-160696-a7e7f52b-a182-9188-647e-b01f3744a311.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160696/73aefae8-ed93-38fb-7a2d-ee3df2abb262.png)

上部メニューの「Home」をクリックすると、作成したアプレットの一覧が表示されます。

![https---qiita-image-store.s3.ap-northeast-1.amazonaws.com-0-160696-42792182-7eba-b2d9-709e-9649740bea7a.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160696/75220d20-62e6-1a7c-061c-940c6fa66366.png)

作成したアプレットを選択し、表示された画面右上の「Settings」ボタンより、設定項目の修正等が可能です。

![スクリーンショット 2020-09-01 16.15.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160696/95bafc38-df42-0d2b-546d-722403bafca4.png)

また上部メニューの一番右のアイコンをクリックし、表示されるリストの中から「Activity」を選択することで、各アプレットの実行状況を確認できます。

指定した時間に Google Home（スピーカー）から「おやつの時間です」という音声が流れれば成功です。

流れない場合は、設定を見直したり、「Activity」を確認してみてください。

# 最後に

今回は、IFTTT の「Date & Time」サービスを用い、あらかじめ設定した時間になったら、Google Home に特定のメッセージ（例：おやつの時間です）を送信（再生）する手順について説明しました。

この中でトリガーとなる「This」部分を変更すれば、IFTTT が用意する数百のサービスをトリガーにして、Google Home にメッセージを送信（再生）することが可能になります。

加えて、今回は取り上げていませんが、アプレット作成画面中の「Add ingredient」ボタンをクリックすると、様々な付加情報をメッセージに追加できます。（「Date & Time」サービスでは時間情報を付加して、メッセージに時間を含めることも可能です）

どのように利用するはかアイデア次第です。面白い使い方を是非発見してください。