GHKitとIFTTTの連携手順

　
---
<b>
*この記事は初期のGHKitならびにGHKit Plusの利用方法について記載しています。*
*最新の「GHKit Zero」の利用方法については[こちら](https://qiita.com/tetotetote/items/5320a9e833a91c1e128b)をご参照ください。*
</b>
---
　
「[GHKit](http://ghkit.jp/ "GHKit")」は、Google Home などのスマートスピーカーや、Amazon Echo など Bluetooth で接続できるスピーカーに、プッシュ通知機能を追加することを目的に開発されたキットです。

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

具体的には、[IFTTT](https://ifttt.com/ "IFTTT") の「Date & Time」サービスを用い、あらかじめ設定した時間になった際に、Google Home に特定のメッセージ（例：おやつの時間です）を送信（再生）する手順について記載します。

![スクリーンショット 2017-12-22 15.46.58.png](https://qiita-image-store.s3.amazonaws.com/0/160696/4a533b76-2ac8-d9bb-4a99-aba8a1af2a1d.png "スクリーンショット 2017-12-22 15.46.58.png")

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

また、接続するスピーカーを変更することで、Amazon Echo など Google Home以外のスマートスピーカーや、様々な Bluetooth スピーカーで、同様のプッシュ通知を実現できます。

# 設定前の準備

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

**1. 「スピーカー」と「GHKit」のセットアップ**

最初に、Google Home など使用したいスピーカをセットアップし、利用できる状態にしておいてください。

次に、HP上の手順を参考に「[GHKit](http://ghkit.jp/ "GHKit")」のセットアップと、使用したいスピーカーとの接続を確認してください。

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

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

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

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

「[GHKit](http://ghkit.jp/ "GHKit")」購入時に送付される下記の情報を用意してください。

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

# 連携の設定

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

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

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

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

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

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

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

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

検索ボックスに「Date」と入力すると「Date & Time」サービスが表示されます。

![1.png](https://qiita-image-store.s3.amazonaws.com/0/160696/e6f26b70-0fb0-f589-5289-fe651dc5af4d.png "1.png")

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

![2.png](https://qiita-image-store.s3.amazonaws.com/0/160696/a9d1190d-0b8f-fbae-5090-de1c7880524a.png "2.png")


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

![3.png](https://qiita-image-store.s3.amazonaws.com/0/160696/06710c80-b0ad-eeb4-729c-0f10804aa799.png "3.png")

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

###「Webhooks」サービス

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

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

![3-1.png](https://qiita-image-store.s3.amazonaws.com/0/160696/b9d4e0d9-c9b1-006f-8002-8b8d72f1201a.png "3-1.png")

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

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

IFTTT では、連携をアプレット（Applet）という形で作成します。

上部メニューの「My Applets」を選択し「New Applet」ボタンをクリックします。
（「New Applet」は右上のアカウント部分からも選択できます）

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

![4.png](https://qiita-image-store.s3.amazonaws.com/0/160696/7b38f4b2-cfbb-0e3b-3af5-0abb778e731f.png "4.png")

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

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

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

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

先ほど接続（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 へメッセージを送信するアクションを設定します。

検索窓に「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://ifttt.ghkit.jp/
* Method：POST
* Content Type：application/json
* Body：{ "message" : "IDと一緒にGoogle Homeに喋らせたい内容をここに記載" } 

特にBody部分が重要です。括弧やダブルクオテーションなどがきちんと含まれるように入力してください。

逆に「Body：」部分は不要です。「{」から「}」までを記載してください。

今回は例として、GHKit ID を「12345abcde」、Google Home に喋らせたい内容を「おやつの時間です」で設定します。

その際は、次のように入力します。（ GHKit ID は事前に準備した内容に置き換えてください）

* { "message" : "12345abcde おやつの時間です" } 

![9.png](https://qiita-image-store.s3.amazonaws.com/0/160696/913b895d-f2c2-7acb-ecdc-21cce6e69bbe.png "9.png")

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

![10.png](https://qiita-image-store.s3.amazonaws.com/0/160696/4cb3fb63-6127-7075-5d6d-882e7b49f03e.png "10.png")

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

また上部メニューの「Activity」でアプレットの実行状況を確認できます。

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

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

# 最後に

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

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

また、GHKit と接続するスピーカーを変更することで、Amazon Echo などの他のスマートスピーカーや、Bluetooth スピーカーで、同様のプッシュ通知を実現することができます。

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

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