AutomateをIFTTTのトリガー(IF)に設定する(Webhooks使用)

📅

スマートホーム化に欠かせないIFTTTですが、『1トリガー、1アクション』という制約があるため、複雑な条件分岐等はできません。(そのシンプルさ故、ここまでメジャーになったとも言えますが。)

そこでIFTTTの機能を補完するために私が使用しているアプリがAutomateです。このアプリはスマホ内の様々な自動化を行うためのモノですが、これをIFTTTと組み合わせて使うことによって
  • トリガーの数を増やす
  • アクションの数を増やす
  • 条件によってアクションを変える
等のIFTTTだけではできない複雑なスマートホームの制御を行うことができます。
(以前はアプリ『Automagic』を使っていましたが、サポートが終了したしまったため、現在せっせせっせと移行中です😋。ちなみにAutomagicはまだまだ現役で使用可能です(2021.8.16現在)。詳細はこちらをご覧ください。)

AutomateをIFTTTのアクション(THEN)に設定する方法はすでに紹介しましたが、今回はAutomateをIFTTTのトリガー(IF)に設定する方法です。


■AutomateとIFTTTの連携方法

●使用するアプリ・サービス

●設定方法

1. IFTTTの導入・Webhooksの準備

1-1. IFTTTを導入する

アプリを端末(スマホ等)にインストールし、アカウントを作成してサインインします。
IFTTT (- Google Play)


1-2. Webhooksの準備(トリガーURLの取得)

Webhooksはアプリではありません。IFTTTのトリガーとして動作するサービスでIFTTTが提供しています。

このサービスを利用するには多少の準備が必要ですので、以下に紹介します。

IFTTTのWeb版のWebhooksのページをPCのブラウザで開き『Documentation』を選択します。

開いた画面の『Make a POST or GET Web request to:』に記載されているのがトリガーとなるURLです。このURLを保存します。
このURLのうち『{event}』の部分(イベント名)をトリガー毎に変更することになります。
これでWebhooksの準備は完了です。


2. Automateの導入

アプリを端末(スマホ等)にインストールします(Automateはローカルアプリなのでサインイン等は必要ありません)。
PushbulletアプリとAutomateアプリは必ず同一の端末(スマホ、Android TV BOXなど)にインストールしてください。


3. Automate ⇒ Webhooks ⇒ IFTTTの流れ

ここでは例として、(実用性は全くありませんが)『21:00になったら、端末のBluetoothをOFFにする』というAutomateのフロー・IFTTTのレシピを作成します。


3-1. Automateのフローを作成する

3-1-1. Automateのトリガー(時刻)の設定
Automateを開くと以下の画面になるので右下のプラスボタン(+)を押します。

開いた新規フロー画面作成画面で新しいブロックを追加するために右下のプラスボタン(+)を押します。

開いたブロック選択画面で『Day & time』から『Time await』を選択します。

するとフロー画面に『Await time awake』のブロックが表示されるので、そのブロックを選択します。

開いたブロックの設定画面で、時刻『21:00』を設定します。

ここまでで時刻の設定部分は作成完了です。


3-1-2. Automateのアクション(WebhooksのURL発行)の設定
次にWebhooksのURLを発行する部分を作成します。
戻ってきたフロー作成画面で新しいブロックを追加するために右下のプラスボタン(+)を押します。

開いた『Search blocks…』画面で左下の『Connectivity』を選択します。

開いたプルダウンメニューで『HTTP Request』を選択します。

フロー作成画面に戻るので『HTTP request』のブロックを選択します。

開いたHTTP Requestの設定画面で 『Request URL』欄に先程取得したWebhooksのURLを入力します。この時『{event}』の部分には適当なイベント名を入力します。今回は『time21』とします。

更に同じ画面で
  • 『Request method』は『GET』に
  • 『Request content type』を『Text』に
  • 『Timeout』を『1m』に
  • 『Save response』を『Save to variable as text』に
それぞれ設定します。


以上でWi-Fi変更の部分も作成完了です。
戻ったフロー作成画面で各ブロックをファイバー(線)で繋げばフローが完成です。

最後にフロー作成画面から戻った画面で『START』ボタンを押下すればフローが実行されます。
ただし、この画面でPrivileges(権限)にチェックがついていない場合があります。これは権限がAutomateに付与されていないことを意味します。
この場合はPrivileges(権限)のチェックボックスをチェックします。すると、権限に応じてGoogle Playでアプリインストールを促されたり,Androidの権限設定を促されたりしますので、必要に応じてインストールしたり設定をしたりして全てのチェックボックスを有効にします。

以上ですべての設定は完了です。『START』ボタンを押すとフローが実行されます。


3-2. IFTTTのレシピを作成する

3-2-1. IFTTTのトリガー(Webhooksの受信)の設定
IFTTTのトリガーにWebhooksを選んで『Receive a web request』を選択します。

開いた画面の『Event Name』欄にAutomateで入力したURLの『{even}』(イベント名)すなわちここでは『time21』を入力します。


3-2-2. IFTTTのアクション(端末のBluetoothオフ)の設定
トリガーの設定を保存したらアクションを設定します。
アクションで『Android Device』で『Turn off Bluetooth』を選択します。

設定を保存してIFTTTのレシピは完了です。


21:00になれば、設定した端末のBluetoothがOFFになりますよ♪
0 件のコメント: