Edited at

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

More than 1 year has 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 をクリック