Tôi có thể đặt công thức IFTTT chỉ chạy ở một thời điểm cụ thể không?


15

Tôi đang sử dụng một công thức IFTTT nhỏ gọn, tự động trả lời tin nhắn văn bản tôi nhận được thông qua Google Voice. Điều này , để được chính xác.

Tôi chỉ cần nó chạy khi tôi đang làm việc, vì vậy tôi đã bật và tắt thủ công mỗi ngày khi cần.

Có cách nào để làm cho công thức chỉ hoạt động tại thời điểm thiết lập không? Ví dụ như từ 9 giờ sáng đến 5 giờ chiều vào các ngày trong tuần?

Lúc đầu, tôi nghĩ rằng kênh Ngày & Giờ sẽ hữu ích nhưng có vẻ như không có cách nào để sử dụng nó để kích hoạt các công thức nấu ăn hiện có hoặc chuỗi công thức nấu ăn cùng nhau.

Tôi đã thực hiện một số tìm kiếm trên internet và tìm thấy bài đăng này trên r / IFTTT hỏi cùng một câu hỏi và không nhận được câu trả lời.

Câu trả lời:


6

Nó không giống như nó. Họ có một nửa kích hoạt giải pháp với kênh Ngày & Giờ . Bạn có thể đặt hành động để kích hoạt vào một số ngày nhất định trong tuần vào những thời điểm nhất định. Vì vậy, hãy tưởng tượng một công thức để bật công thức Google Voice của bạn vào lúc 9 giờ sáng và một công thức để tắt nó vào lúc 5 giờ chiều.

Tuy nhiên, kênh IFTTT không có hành động để làm bất cứ điều gì như bật hoặc tắt công thức. Bạn có thể xem xét liên hệ với họ để hỏi xem họ có thể thêm các tính năng này không. Tôi đoán là họ đã xem xét nó và nghĩ rằng không ai sẽ sử dụng nó, hoặc nó sẽ bị lạm dụng theo một cách nào đó.


7

Có một cách để làm điều đó, tuy nhiên nó có thể hơi phức tạp và yêu cầu máy chủ web unix với php 5, vì vậy hãy cảnh báo.


Bước 1

Điều đầu tiên bạn phải làm là thêm kênh nhà sản xuất. Bạn làm điều này giống như cách bạn thêm bất kỳ kênh nào khác, bằng cách nhấp vào "kênh" ở đầu trang và tìm kiếm kênh đó, sau đó nhấp vào kênh đó và nhấn nút "thêm kênh".

Bước 2

Tạo một tài liệu php trống trên webhost của bạn. Nó không thực sự quan trọng ở đâu, miễn là bạn có thể truy cập nó bằng trình duyệt.

Bước 3

Những gì bạn làm bây giờ, là tạo một công thức trong đó trình kích hoạt của bạn kích hoạt kênh nhà sản xuất. Khi bạn đã thiết lập trình kích hoạt của mình, chỉ cần nhấp vào kênh nhà sản xuất sau đó "Tạo yêu cầu web". Sau đó nhập URL web của tài liệu chúng tôi đã thực hiện ở bước 2 vào trường URL. Thay đổi phương thức thành GET và để trống các trường khác.

Bước 4

Bây giờ tạo một công thức được kích hoạt bởi một yêu cầu web. Đặt tên sự kiện bất cứ điều gì bạn muốn, miễn là bạn nhớ nó. Làm cho "cái đó" của công thức bất cứ điều gì bạn muốn nó làm.

Bước 5

Bây giờ, chúng tôi thêm mã vào tài liệu PHP mà chúng tôi đã tạo lại ở bước 2. Thêm mã này vào, thay đổi thời gian cho phép (hiện tại là 6 giờ sáng), vượt qua, múi giờ và URL nơi bạn sẽ thay đổi "khóa ví dụ" vào khóa của bạn (tìm thấy ở đây) và {{event}} cho sự kiện bạn đã đặt tên ở bước 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');
}
}
?>

Lưu tài liệu và bạn đã hoàn tất.


Nếu bạn không có máy chủ Web, bạn có thể dùng thử dịch vụ như hook.io
jamesmstone

0

Không phải của tôi nhưng điều này làm việc tuyệt vời cho tôi! Truy cập https: // pl platform.ifttt.com/maker và tạo applet và sử dụng phần này trong phần mã bộ lọc. * .Akip () rất quan trọng để đặt hủy hành động sau khi kích hoạt. PS không phải là một lập trình viên!

// 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

Một cách khác để đạt được điều đó, mà không cần dùng đến việc tạo một applet thủ công, là sử dụng Stringify.com như một người trung gian.
Nó cho phép bạn bao gồm một nút "chỉ khi" trong các luồng của bạn (Stringify Flow = IFTTT công thức). Nếu bạn đủ may mắn, Stringify đã hỗ trợ những gì bạn muốn kích hoạt, nhưng chỉ có một số "thứ" họ hỗ trợ - so sánh với rất nhiều thứ trên IFTTT.

Bạn có thể đặt công thức "đầu vào" trên IFTTT sẽ kích hoạt trình kích hoạt Stringify và công thức "đầu ra" được kích hoạt từ hành động Stringify.

Ví dụ:

  • IFTTT Recipe # 1 kích hoạt Flow # 1 khi tôi rời khỏi nhà wifi
  • Stringify Flow # 1 chỉ chạy khi trời tối và nó kích hoạt Công thức # 2
  • Công thức IFTTT # 2 tắt đèn eweLink của tôi

Dịch vụ đó đã chết ngay bây giờ
igorsantos07
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.