ifttt
IRKit
GoogleAssistant
GoogleHome

IFTTTとIRKitでGoogleHomeから家電をコントロールする

IMG_4141.JPG

概要

ゴール

  • GoogleHomeに「エアコンつけて」といったらエアコンがつくようにする

手順

  • IRKitの接続情報を取得する
    • IRKitのIPアドレスを取得する
    • IPアドレスをキーに、クライアントトークン(clienttoken)を取得する
    • クライアントトークン(clienttoken)をキーに、クライアントキー(clientkey)とデバイスID(deviceid)を取得する
  • リモコンの信号をスキャンする
  • IFTTTにレシピを登録する
    • If This Then ThatのThisとThatに次のように登録する
      • 「This」側にはGoogleAssistantを選択する
      • 「That」側にはWebhooksを指定する
        • Webhooksを選択
        • URL:https://api.getirkit.com/1/messages
        • Method:POST
        • Context Type:"application/x-www-form-urlencoded"
        • Bodyはスキャンした信号とキー情報を編集して入力
          • clientkey=xxx&deviceid=xxx&message={xxx}

IFTTTの設定(Googleアシスタント側)

2017-10-09-01.PNG

IFTTTの設定(Webhooks側)

2017-10-09-02.PNG

参考サイトの補足情報

後述の参考サイトに詳しい記述があるので、それを参考にすればよい。
参考サイトどおりにできなかった箇所のみ補足する。

  • Windows環境にcurlコマンド等がインストールされていない場合はGowをインストールするのをおすすめ(Cygwinよりも簡単)
  • 参考サイトではIFTTTのThat側に「Maker」を使用しているが、2017/10/09現在検索できなかったため「Webhooks」を選択した
  • Googleアシスタント側に「TVをつけて」のようなフレーズ登録すると、Chromecastの操作と混同して「対応する機器が登録されていません」のようなエラーになってしまうことがある。仕方がないので「テレビオン」のようなフレーズにした。(「エアコンつけて」はうまくいくのに「エアコン消して」はうまくいかないという事象も発生した)

参考サイト

以下のサイトを参考にさせていただきました。ありがとうございます。