Bir IFTTT reçetesini yalnızca belirli bir zamanda çalışacak şekilde ayarlayabilir miyim?


15

Google Voice aracılığıyla aldığım kısa mesajlara otomatik olarak yanıt veren düzgün küçük bir IFTTT tarifi kullanıyorum. Bu kesin olmak gerekirse.

Sadece işteyken çalıştırmam gerekiyor, bu yüzden gerektiğinde her gün manuel olarak açıp kapatıyorum.

Tarifi sadece belirli zamanlarda etkin hale getirmenin bir yolu var mı? Örneğin, hafta içi sabah 9 ile akşam 5 arasında mı?

İlk başta Date & Time kanalının yararlı olacağını düşündüm, ancak mevcut tarifleri veya zincir tariflerini birlikte tetiklemek için kullanmanın bir yolu yok gibi görünüyor.

Biraz internet araması yaptım ve aynı soruyu soran ve cevap almayan r / IFTTT'de bu yazıyı buldum .

Yanıtlar:


6

Öyle görünmüyor. Tarih ve Saat kanalıyla çözümün tetikleyici yarısına sahiptirler . Haftanın belirli günlerinde belirli saatlerde tetiklenecek eylemler ayarlayabilirsiniz. Bu nedenle, Google Voice tarifinizi sabah 9'da açmak için bir tarif ve akşam 5'de kapatmak için bir tarif düşünün.

Bununla birlikte, IFTTT kanalının bir tarifi açmak veya kapatmak gibi bir şey yapmak için hiçbir eylemi yoktur. Bu özellikleri ekleyip ekleyemeyeceklerini öğrenmek için onlarla iletişime geçmeyi düşünebilirsiniz. Tahminimce bunu dikkate aldılar ve ya hiç kimsenin kullanamayacağını ya da bir şekilde istismar edileceğini düşündüler.


7

Bunu yapmak için bir yol var, ancak biraz karmaşık olabilir ve php 5 ile bir unix web barındırma gerektirir, bu yüzden uyarılırsınız.


Aşama 1

Yapmanız gereken ilk şey yapımcı kanalını eklemektir. Bunu, başka bir kanalı eklediğiniz gibi, sayfanın üst kısmındaki "kanallar" ı tıklayıp arayarak, ardından tıklayıp "kanal ekle" düğmesine basarak yaparsınız.

Adım 2

Web barındırıcınızda boş bir php belgesi oluşturun. Bir tarayıcı ile erişebildiğiniz sürece, nerede olduğu önemli değil.

Aşama 3

Şimdi yaptığınız şey, tetikleyicinizin yapımcı kanalını etkinleştirdiği bir tarif yapmaktır. Tetikleyicinizi ayarladıktan sonra, yapımcı kanalını ve ardından "Web isteği yap" ı tıklayın. Ardından, URL alanına 2. adımda yaptığımız belgenin web URL'sini yazın. Yöntemi GET olarak değiştirin ve diğer alanları boş bırakın.

4. Adım

Şimdi bir web isteği ile tetiklenen bir tarif yapın. Etkinlik adını hatırladığınız sürece istediğiniz şekilde yapın. Yapmasını istediğiniz herşeyin tarifini "o" yapın.

Adım 5

Şimdi, 2. adımda yaptığımız PHP belgesine kod ekliyoruz. Bu kodu, izin verilen zamanı (şu anda 06:00), geçişi, saat dilimini ve "örnek anahtar" ı değiştireceğiniz URL'yi değiştirerek ekleyin. (burada bulunur) anahtarınıza ve 4. adımda adlandırdığınız etkinliğe {{event}} ekleyin .

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

Belgeyi kaydedin ve işiniz bitti.


Web sunucunuz yoksa hook.io
jamesmstone

0

Benim değil ama bu benim için harika! Https://platform.ifttt.com/maker adresine gidin ve uygulama oluşturun ve bunu filtre kodu bölümünde kullanın. * .Skip () işlevi, tetikleyiciden sonraki eylemi iptal etmek için önemlidir. PS bir kodlayıcı değil!

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

Bunu başarmanın bir başka yolu, manuel bir uygulama oluşturmak zorunda kalmadan Stringify.com'u aracı olarak kullanmaktır .
Akışlarınıza "yalnızca eğer" düğümü eklemenizi sağlar (Stringify flow = IFTTT tarifi). Yeterince şanslıysanız, Stringify zaten tetiklemek istediğiniz şeyi destekliyor, ancak destekledikleri sadece bir avuç "şey" var - IFTTT'deki plethora ile karşılaştırıldığında.

IFTTT'de bir Stringify tetikleyicisini tetikleyecek "girdi" tariflerini ve Stringify eyleminden tetiklenen "çıktı" tarifini ayarlayabilirsiniz.

Örneğin:

  • IFTTT Tarif # 1 ev wifi'mi terk ettiğimde Akış # 1'i tetikliyor
  • Stringify Flow # 1 yalnızca gece olduğunda çalışır ve Tarif # 2'yi tetikler
  • IFTTT Tarif # 2, eWeLink ışığımı kapatıyor

Bu hizmet şimdi öldü 😔
igorsantos07
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.