特定の時間にのみ実行するようにIFTTTレシピを設定できますか?


15

Google Voiceを介して受信したテキストメッセージに自動的に応答する、きちんとした小さなIFTTTレシピを使用しています。これは、正確に言うと。

仕事中に実行する必要があるだけなので、必要に応じて毎日手動でオンとオフを切り替えています。

設定した時間にのみレシピをアクティブにする方法はありますか?たとえば、平日の午前9時から午後5時まではどうでしょうか。

最初は日付と時刻のチャンネルが便利だと思っていましたが、既存のレシピやチェーンレシピを一緒にトリガーするために使用する方法があるようには見えません。

インターネットで検索したところ、r / IFTTTで同じ質問をしているのに回答が得られないこの投稿を見つけました。

回答:


6

それはそれのように見えません。日付と時刻チャネルを使用して、ソリューションの半分をトリガーします。特定の曜日に特定の時間にトリガーするアクションを設定できます。したがって、午前9時にGoogle Voiceレシピをオンにし、午後5時にオフにする1つのレシピを想像してください。

ただし、IFTTTチャネルには、レシピをオンまたはオフにするなどのアクションはありません。これらの機能を追加できるかどうかを尋ねるために連絡することを検討できます。私の推測では、彼らはそれを検討し、誰もそれを使用しないか、何らかの方法で悪用されると考えたのでしょう。


7

それを行う方法はありますが、少し複雑になる可能性があり、PHP 5のUNIX Webホストが必要なので、注意してください。


ステップ1

最初に行う必要があるのは、メーカーチャンネルを追加することです。これは、他のチャンネルを追加するのと同じ方法で行います。ページ上部の「チャンネル」をクリックして検索し、クリックして「チャンネルを追加」ボタンを押します。

ステップ2

ウェブホストに空のphpドキュメントを作成します。ブラウザでアクセスできる限り、実際にはどこでもかまいません。

ステップ3

今やっていることは、トリガーがメーカーチャンネルをアクティブにするレシピを作成することです。トリガーを設定したら、メーカーチャンネルをクリックして、[ウェブリクエストを作成]をクリックします。次に、手順2で作成したドキュメントのWeb URLをURLフィールドに入力します。メソッドをGETに変更し、他のフィールドは空白のままにします。

ステップ4

ここで、Webリクエストによってトリガーされるレシピを作成します。あなたがそれを覚えている限り、あなたが好きなイベント名を付けてください。レシピの「あれ」を好きなように作成します。

ステップ5

次に、手順2で作成したPHPドキュメントにコードを追加します。このコードを追加し、許可される時間(現在の午前6時)、パス、タイムゾーン、および "example-key"を変更するURLを変更しますキー(ここにあります)および{{event}}を手順4で指定したイベントに追加します。

<?php
    date_default_timezone_set("EST"); 
$time = strftime("%H");
if($time == 6){
echo exec('curl -X POST https://maker.ifttt.com/trigger/{{event}}/with/key/example-key');
}
}
?>

文書を保存すれば完了です。


Webサーバーがない場合は、hook.io
jamesmstoneの

0

私のものではありませんが、これは私には最適です!移動にhttps://platform.ifttt.com/makerおよびアプレットを作成し、フィルタコード部でこれを使用しています。* .skip()は、トリガー後にアクションをキャンセルするように設定することが重要です。PSはコーダーではありません!

// Change startTime and stopTime to set the time range when you want // your service's action (the 'That') to happen: // var startTime = moment('03:00 pm', "HH:mm a"); var stopTime = moment('06:00 pm', "HH:mm a"); // // startTime is the first time when the action can happen // stopTime is the last time the action can happen... until time // reaches the next startTime. // // Notes: // - startTime can be later than stopTime. For example, startTime // can be 10:00pm and stopTime 06:00am. This means actions can // happen from 10pm of one day until 6am of the next day but // not between 6am and 10pm of either day. // // - startTime cannot be the same as stopTime // // - 'Skip' messages are written when the service's action does not // happen, such as after the stopTime and before the next // start time. // // - If you want to use this code with a service other than // Gmail.sendYourselfAnEmail, you must change the lines that // reference Gmail.sendYourselfAnEmail.skip to the skip method // for your service. // // -------------------------- // // The code converts everything to minutes for comparision purposes // var startTimeMinutes = startTime.minutes() + startTime.hours() * 60; var stopTimeMinutes = stopTime.minutes() + stopTime.hours() * 60; var triggerTimeMinutes = Meta.triggerTime.minutes() + Meta.triggerTime.hours()* 60; // // StartTime = stopTime not allowed. // // Set some defaults... // var doThat = new Boolean(false); var whatsup = "'That' has been skipped"; // // If start time is less than stop time, then the range is assumed to // be a continuous period during a single day. E.g., 9am-6pm. // if ((startTimeMinutes<stopTimeMinutes) && (triggerTimeMinutes >= startTimeMinutes && triggerTimeMinutes <= stopTimeMinutes)) { doThat = Boolean(true); whatsup = "range within a single day"; } // // If start time > stop time, then the range is assumed to span // midnight (12am). E.g. 10pm-6am. This range covers parts of two // days. // else if ((startTimeMinutes>stopTimeMinutes) && (triggerTimeMinutes > startTimeMinutes || triggerTimeMinutes < stopTimeMinutes)) { doThat = Boolean(true); whatsup = "range spans midnight"; } // // Out of range... // if (doThat == false) {
AndroidMessages.sendAMessage.skip("Event happened outside time range (" + whatsup +") - time of trigger was "+Meta.triggerTime.format('LT')+", but start time to allow the action is "+ startTime.format('LT') + " and stop time is "+ stopTime.format('LT') + " Debug info: minutes are "+triggerTimeMinutes + " " + startTimeMinutes + " " + stopTimeMinutes); } // // The following code can be uncommented for debugging. It writes // an entry to the activity log instead of performing the // action. // // else // { // IfNotifications.sendNotification.setMessage("Action can happen (" + whatsup +") - time of trigger was "+Meta.triggerTime.format('LT')+", start time is "+ startTime.format('LT') + ", and stop time is "+ stopTime.format('LT') + ". Debug info: Minutes are trigger="+triggerTimeMinutes + ", start=" + startTimeMinutes + ", and stop=" + stopTimeMinutes); // } // }


0

手動アプレットを作成せずにそれを達成する別の方法は、Stringify.comを仲介者として使用することです。
フローに「if if」ノードを含めることができます(フローのストリング化= IFTTTレシピ)。運がよければ、Stringifyは既にトリガーしたいものをサポートしていますが、それらがサポートする「もの」はほんの一握りです-IFTTTの過多と比較して。

IFTTTでStringifyトリガーをトリガーする「入力」レシピと、Stringifyアクションからトリガーされる「出力」レシピを設定できます。

例えば:

  • IFTTT Recipe#1は自宅のWi-Fiを離れるときにFlow#1をトリガーします
  • Stringify Flow#1は、夜間にのみ実行され、Recipe#2をトリガーします
  • IFTTTレシピ#2でeWeLinkライトがオフになります

そのサービスは😔今死んでいる
igorsantos07
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.