IFTTT対応デバイスをWebhooksから操作する
IFTTTからは操作できるのに、Webからは操作できないデバイスやサービスを、Webから操作するための方法を紹介する。
WebAPIのないデバイスでも、IFTTTのアクションにさえ指定できれば、Webhooksをトリガーにしたアプレットを用意するだけで、Webから操作できる。
https://gyazo.com/6fb793878e159a3b180276cc5a87bbf9 http://amzn.to/2I102TB
Webhooksをトリガーにしたアプレットを作る
まず、IFTTTの New Applet で、Webhooks トリガーを選び、イベント名を入力する。 例えば、このスマートプラグに接続するのが、サーキュレーターなら、イベント名を fan_on とする。 https://gyazo.com/e793761ee36105f9cd812a15057c360f
次に、アクション(that)に、スマートプラグを選び、電源をオンにする設定をして、アプレットを完成させる。 WebhooksのアクセスキーとURLを取得
作成したアプレットをWebhooks経由でアクセスするための、キーとURLを取得する。
IFTTTの My Services で Webhooks を選んで、右上の Documentation をクリックする。 https://gyazo.com/5a4971384bb36dc9c409e26ac4dafb79
すると、このようなページが表示されて、WebhooksのキーとURLを取得できる。
https://gyazo.com/1b3698489cc2659bb0ab80add65c92d4
ブラウザからデバイスを操作
試しに、Webブラウザで、次のURLを叩けば、デバイスを操作できることが確認できる。
https://maker.ifttt.com/trigger/fan_on/with/key/<あなたのキー>
UNIXコマンドを作る
Webhooksを叩くコマンドを用意しておくと便利なので、次のようなファイル ~/homebot/bin/webhook.sh を作る。
code:sh
event=$1
key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx # あなたのWebhookキー
このファイルに、実行権限を与える。
code:sh
$ cd ~/homebot
$ chmod 755 bin/webhook.sh
このコマンドにfan_onを渡せば、スマートプラグがONになり、サーキュレーターが起動する。 code:sh
$ bin/webhook.sh fan_on
hubotにUNIXコマンドを登録
hubotからWebhooksを叩けるようにするため、上述のUNIXコマンドをhubotに登録する。
command fan bin/webhook.sh fan_'#'
hubotに次のメッセージを送れば、サーキュレーターが起動する。
send fan(on)
エアコンをONにする際に、サーキュレーターもONにしたければ、次のメッセージを送ればよい。
send aircon:on fan(on)
2018/3/4 Amazon.co.jpアソシエイト