Edited at

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

More than 1 year has passed since last update.

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の操作と混同して「対応する機器が登録されていません」のようなエラーになってしまうことがある。仕方がないので「テレビオン」のようなフレーズにした。(「エアコンつけて」はうまくいくのに「エアコン消して」はうまくいかないという事象も発生した)


参考サイト

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