IFTTT Maker ChannelでWebhook送受信ができるようになった。
IFTTT Maker ChannelでWebhookの送信・受信両方ができるようになったので試してみた。
インターネットに接続できるほとんどのデバイスからIFTTTを使えるようになったので夢が広がるなぁ。
Raspberry Piにセンサをつけて、センサが反応したらIFTTTで自分に通知を送ったり、逆にIFTTTのGPS機能で家の近くまできたらIRKitにWebhookを送ってクーラーをONにしたりできそう。
IFTTTのWebhookを叩く方法
普通にcURLコマンドを叩くことでできる。
チャンネルを登録すると、To trigger an Eventというページがあるので、基本的にそれに従えば良い。
{event}はそれぞれのレシピにて設定するイベント名。{secret key}はMaker Eventページにあるものをそのまま引用。
https://maker.ifttt.com/trigger/{event}/with/key/{secret key}
JSON形式で3つまで変数を送ることができる。
{ "value1" : "", "value2" : "", "value3" : "" }
curlコマンドで叩くとこうなる
curl -X POST -H "Content-Type: application/json" -d '{"value1":"aaa"}' https://maker.ifttt.com/trigger/{event}/with/key/{secret key}
試しにIFTTTにcurlコマンドを叩くことによってPushbulletに通知するレシピを作ってみた。
成功なら、「Congratulations! You've fired the {event} event」 って帰ってくる。
IFTTTからWebhookを叩く方法
手元にIRKitが転がっていたので、それをIFTTTから叩いてみる。
「#おはよう」 ってハッシュタグ付きでつぶやいたら、部屋の電気がつくように設定してみる。
IRKit - iPhone,iPadを使って外出先からエアコン等の家電を操作できる学習リモコン
- 出版社/メーカー: maaash.jp
- メディア: エレクトロニクス
- この商品を含むブログ (1件) を見る
チュートリアル通り、IRKitと同じネットワークにあるPCから、インターネットから手元のIRKitを叩くKeyを取得
~ ❯❯❯ curl -i "http://10.0.10.2/keys" -d '' HTTP/1.0 200 OK Access-Control-Allow-Origin: * Server: IRKit/2.0.2.0.g838e0ea Content-Type: text/plain {"clienttoken":"XXXXXXXXXXXXXXXXX"}% ~ ❯❯❯ curl -i -d "XXXXXXXXXXXXXXXXX" "https://api.getirkit.com/1/keys" HTTP/1.1 200 OK Server: ngx_openresty Date: Fri, 19 Jun 2015 19:14:49 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":"AAAAAAAAAAA","clientkey":"BBBBBBBBBBB"}%
電気をつける赤外線をIRKitにむけて送り、messagesをたたいてJSONを取得
~ ❯❯❯ curl -i "http://10.0.10.2/messages" HTTP/1.0 200 OK Access-Control-Allow-Origin: * Server: IRKit/2.0.2.0.g838e0ea Content-Type: text/plain {"format":"raw","freq":38,"data":[5048,5049,1679,1679,1679,1679,1679,1679,1679,3504,1679,3704,1679,2704,1679,3704,1679,1679,1679,65536,0,4171,5049,5049,1679,1679,1679,1679,1679,1679,1649,3704,1679,3704,1679,3704,1679,3704,1679,1679,1679]}%
IFTTTのMakerは次のように設定
curlで-dで何個もつなげるタイプは&でつなげていく。
載せてあるレシピは各自変更が必要なBodyのみ記入すれば良い。
URL
https://api.getirkit.com/1/messages
Method
POST
Content Type
application/x-www-form-urlencoded
Body
clientkey=BBBBBBB&deviceid=AAAAAAAAA&message={"format":"raw","freq":38,"data":[5049,5049,1679,...,1679]}
IFTTTの{secret key}をリセットする方法
ブログを書いたり、あ、っべー。IFTTT の {secret key}見せてしまった!って時はReconnect Channelを押して新しいsecret keyを取得。
この時、curlを叩いているスクリプトのkeyもちゃんと変更しないと通知がされないので注意が必要。