Help us understand the problem. What is going on with this article?

IRKit と IFTTT でエアコンを決まった時間に自動でオフする

More than 3 years have passed since last update.

昨晩、エアコンをつけっぱなしだったので、設定中。

http://ifttt.getirkit.comhttps://blog.hello-world.jp.net/irkit/3462/ を参考に。

  • まず、操作した IRKit の clientkeydeviceid を取得する。これは、IRKitと同じネットワークにいる必要が有る。(つまり同じアクセスポイントにアクセスしている必要が有る。)
$ dns-sd -B _irkit._tcp
Browsing for _irkit._tcp
DATE: ---Sun 04 Sep 2016---
10:29:20.535  ...STARTING...
Timestamp     A/R    Flags  if Domain               Service Type         Instance Name
10:12:34.567  Add        2   4 local.               _irkit._tcp.         irkitFFFF
  • この irkitFFFF の部分の名前から、IPアドレスを取得
$ dns-sd -G v4 irkitFFFF.local
ikeuchis-air:aws-iot-shadow-test ikeyasu$ dns-sd -G v4 irkitFFFF.local
DATE: ---Sun 04 Sep 2016---
10:34:56.678  ...STARTING...
Timestamp     A/R Flags if Hostname                               Address                                      TTL
10:34:56.789  Add     2  4 irkit42e7.local.                       192.168.1.4                                  10
  • 192.168.1.4 と分かりました。
$ curl -i "http://192.168.1.4/keys" -d ''
HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Server: IRKit/2.1.2.0.g424fa95
Content-Type: text/plain

{"clienttoken":"0123456789ABCDEF"}
  • これで、clienttokenが分かりました。これをもとに、api.getirkit.com に clientkeydeviceid を問い合わせます。
$ curl -i -d "clienttoken=0123456789ABCDEF" "https://api.getirkit.com/1/keys"
HTTP/1.1 200 OK
Server: openresty
Date: Sun, 04 Sep 2016 01:37:53 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 94
Connection: keep-alive
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: X-Requested-With
X-Content-Type-Options: nosniff

{"deviceid":"ABCDEF0123456789","clientkey":"0123456789ABCDEF0123456789"}
  • 次に、リモコンの信号を取得します。以下のコマンドは直前に受信したリモコン信号を返します。まずは、コマンドを何度か実行して、以下以外の文字が表示されないようにしてください。
$ curl -i "http://192.168.1.4/messages"
HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Server: IRKit/2.1.2.0.g424fa95
Content-Type: text/plain
  • 次に、操作したいリモコンのボタンを押し、再度実行します。
$ curl -i "http://192.168.1.4/messages"
HTTP/1.0 200 OK
Access-Control-Allow-Origin: *
Server: IRKit/2.1.2.0.g424fa95
Content-Type: text/plain

{"format":"raw","freq":38,"data":[7371,3704,904,904,904,2813,904,904,904,2813,904,904,904,2813,904,1002,904,2718,904,1037,843,2813,935,935,935,2813,935,2813,935,935,935,2813,935,935,935,2813,935,2813,935,2813,935,2813,935,935,935,935,935,2813,935,2813,935,935,935,935,935,935,935,935,935,2813,935,935,935,935,935,935,935,935,935,935,935,935,935,935,935,935,935,935,843,1002,843,1002,1002,2718,935,935,935,935,935,935,935,935,843,2813,843,1002,843,1002,843,1002,1002,1002,843,1002,843,1002,843,1002,1002,843,1002,2813,935,935,935,935,935,2813,935,935,935,2813,935,935,935,935,935,935,935,935,843,1002,843,1002,843,2813,935,2813,935,935,935,2813,935,935,935,935,935,935,843,1002,843,2813,935,935,935,935,935,2813,935,935,935,2813,935,935,935,2813,935,2813,935,935,935,935,935,2813,935,935,935,935,935,935,935,2813,935,935,935,2813,935,935,935,2813,935,2813,935,2813,935,2813,935,1037,843,935,935,935,935,2718,935,935,935,935,935,935,935]}

ここで取得できた信号を使います。

  • IFTTT で、create recipe をクリック。
    https://ifttt.com/myrecipes/personal/new

  • this をクリックし、date & time を選択。
    regular.png

  • 繰り返しの種別を選択。ここでは、Everyday at をクリック。

  • 時間を設定。

  • thatをクリック。

  • Makerをクリック。(2017/10/13現在、Webhooks に名前が変わっています)
    regular-2.png

  • Make a web request をクリック。

  • URL を入力。https://api.getirkit.com/1/messages

  • Method を POST に

  • Content Type を "application/x-www-form-urlencoded"に

  • body は入力。clientkeyと、deviceid、messageを先ほど取得したものに置き換えてください。

clientkey=0123456789ABCDEF0123456789&deviceid=ABCDEF0123456789&message={"format":"raw","freq":38,"data":[7371,3704,904,904,904,2813,904,904,904,2813,904,904,904,2813,904,1002,904,2718,904,1037,843,2813,935,935,935,2813,935,2813,935,935,935,2813,935,935,935,2813,935,2813,935,2813,935,2813,935,935,935,935,935,2813,935,2813,935,935,935,935,935,935,935,935,935,2813,935,935,935,935,935,935,935,935,935,935,935,935,935,935,935,935,935,935,843,1002,843,1002,1002,2718,935,935,935,935,935,935,935,935,843,2813,843,1002,843,1002,843,1002,1002,1002,843,1002,843,1002,843,1002,1002,843,1002,2813,935,935,935,935,935,2813,935,935,935,2813,935,935,935,935,935,935,935,935,843,1002,843,1002,843,2813,935,2813,935,935,935,2813,935,935,935,935,935,935,843,1002,843,2813,935,935,935,935,935,2813,935,935,935,2813,935,935,935,2813,935,2813,935,935,935,935,935,2813,935,935,935,935,935,935,935,2813,935,935,935,2813,935,935,935,2813,935,2813,935,2813,935,2813,935,1037,843,935,935,935,935,2718,935,935,935,935,935,935,935]}

  • create recipe をクリック

  • 名前をつけて、create recipe をクリック

ikeyasu
(株)ACCESS Co-CTO。 主にIoTとクラウドとAIとドローン屋やってます。
access
SDNからセンサ、家電、電子書籍まで。ACCESSはあらゆるレイヤのデバイス、サービスを「繋げて」いきます。
http://jp.access-company.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away