IFTTTをcurlで操作
IFTTTをcurlで操作
smart plugをスクリプトから操作したい
最近、Smart Plug (いわゆる遠隔操作ができるコンセント) が安くなっています。ただ、スマホからOn/Offするだけではもったいない。
自家サーバ (というなのRaspberry Pi君) が、一定温度以上になったら、勝手に外付けファンをOnにできないものかと、思っていた。
そこで、IFTTTにある、Webhookと、Smart Lifeを組み合わせて、自動化に挑戦してみた。
- Webhook: 作成したAppletに対して、curlインターフェースを提供するサービス
- Smart Life: Smart Plugの一派 (スマホで、Smart Lifeアプリで動作するもの)
- Meross: Smart Plugの一派 (スマホで、Merossアプリで動作するもの)
IFTTTでのMy Applet作成
「Choose a service」とでて、検索バーがでてくるので、「webhook」と入力
登録するイベント名称を入力
イベント名称は、curlでアクセスするURLが使う文字列になるので、空白や特殊文字は避けたほうが無難です。どのデバイスを制御するのか聞かれるので、プルダウンから選択。(ここの例は、スマホで"empty"と名付けたdeviceを指定)
Merossでも、大体同じ展開。(ここでは、スマホで"USB Fan"と名付けたdeviceを指定)
11. 最後に、確認画面をながめて、Finishをクリック
12. My Appletに登録されているか、確認して、終了
webhookの使い方を確認する
- 上部にあるサーチボタンをクリック
- serviceのタブをクリック (デフォルトは、Appletなので、その右)
- すると、webhookが表示される。webhookをクリック
- 右上に注目。「Documentation」と「Settings」が現れる
- Documentation アクセス方法が記載された説明書
- Settings アクセス方法で使用するトークンを管理
Settings
- URLに記載されたURLが、webhookで利用するURL。トークンの部分があるので、本当はもっと長いURLデス
- Edit connectionを押すと、トークンが変化する。つまり、表示されるURLのトークン部分が、変化していくのが確認できる
Documentation
{event}と書かれているところに、イベント名で指定したものを入れて使う。ここの例ですと、TurnOffFanとなる。
Curlしてみる
それでは、実際に、curlしてみる。上記、Documentationに書かれているまんま実行
$ curl -X POST https://maker.ifttt.com/trigger/{TurnOffFan}/with/key/abcdefghijklmnopqrstuv
Congratulations! You've fired the TurnOffFan event
無事に、ファンが止まれば成功。(実際にとまりました)
Author And Source
この問題について(IFTTTをcurlで操作), 我々は、より多くの情報をここで見つけました https://qiita.com/mbamba/items/c9ec0ffa9de35823e1d0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .