특정 시간에만 실행되도록 IFTTT 레시피를 설정할 수 있습니까?


15

Google 보이스를 통해받은 문자 메시지에 자동으로 응답하는 깔끔한 IFTTT 레시피를 사용하고 있습니다. 이것은 정확합니다.

직장에있을 때만 실행하면되므로 필요에 따라 매일 수동으로 켜고 끌었습니다.

설정된 시간에만 레시피를 활성화하는 방법이 있습니까? 예를 들어 평일 오전 9시에서 오후 5시 사이처럼?

처음에는 날짜 및 시간 채널이 유용 할 것이라고 생각했지만 기존 레시피 또는 체인 레시피를 함께 트리거하는 데 사용할 수있는 방법은 아닙니다.

나는 인터넷 검색을하고 r / IFTTT 에서이 질문에 대해 같은 질문을하고 답을 얻지 못했습니다.

답변:


6

그 것처럼 보이지 않습니다. 그들은 날짜 및 시간 채널 과 솔루션의 절반을 트리거 합니다 . 특정 시간에 특정 요일에 트리거 할 동작을 설정할 수 있습니다. 오전 9시에 Google 보이스 레시피를 켜고 오후 5시에 레시피를 끄는 레시피 하나를 상상해보십시오.

그러나 IFTTT 채널 에는 레시피를 켜거나 끄는 것과 같은 작업이 없습니다. 이러한 기능을 추가 할 수 있는지 문의하기 위해 문의하는 것을 고려할 수 있습니다. 내 생각에 그들은 그들이 그것을 고려하고 아무도 그것을 사용하지 않거나 어떤 식 으로든 남용 될 것이라고 생각했습니다.


7

그것을 할 수 있는 방법이 있지만 조금 복잡 할 수 있으며 PHP 5의 유닉스 웹 호스트가 필요하므로 경고하십시오.


1 단계

가장 먼저해야 할 일은 제작자 채널을 추가하는 것입니다. 페이지 상단의 "채널"을 클릭하고 검색 한 다음 클릭하고 "채널 추가"버튼을 눌러 다른 채널을 추가하는 것과 같은 방식으로이 작업을 수행합니다.

2 단계

웹 호스트에 빈 PHP 문서를 만듭니다. 브라우저로 액세스 할 수있는 한 실제로 중요하지 않습니다.

3 단계

지금하는 일은 트리거가 메이커 채널을 활성화하는 레시피를 만드는 것입니다. 트리거 설정이 완료되면 메이커 채널을 클릭 한 다음 "웹 요청"을 클릭하십시오. 그런 다음 2 단계에서 작성한 문서의 웹 URL을 URL 필드에 입력하십시오. 메소드를 GET으로 변경하고 다른 필드는 비워 두십시오.

4 단계

이제 웹 요청에 의해 트리거되는 레시피를 작성하십시오. 이벤트 이름을 기억하는 한 원하는 이름으로 만드십시오. 레시피의 "그것"을 원하는대로 만드십시오.

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');
}
}
?>

문서를 저장하면 완료됩니다.


당신은 웹 서버가없는 경우, 당신은 같은 서비스 시도 할 수 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 을 중개인으로 사용하는 방법도 있습니다.
플로우에 "만"노드를 포함시킬 수 있습니다 (Stringify flow = IFTTT 레시피). 운이 좋으면 Stringify는 이미 트리거하려는 것을 지원하지만 IFTTT의 과다와 비교할 때 지원하는 소수의 "사물"만 있습니다.

IFTTT에서 Stringify 트리거를 트리거하는 "입력"레시피와 Stringify 작업에서 트리거되는 "출력"레시피를 설정할 수 있습니다.

예를 들어 :

  • IFTTT Recipe # 1은 집 Wi-Fi를 떠날 때 흐름 # 1을 트리거합니다.
  • Stringify Flow # 1은 밤에만 실행되며 레시피 # 2를 트리거합니다.
  • IFTTT Recipe # 2는 eWeLink 표시등을 끕니다

그 서비스는 지금 죽었다
igorsantos07
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.