1. When wanting to tweet if a button was pressed, a door was opened or some other one-shot action occurred, the timing is off, as shown in the screenshots below. I made sure that after publishing a 1 (pressed, opened, etc.) immediately a 0 is published so as to trigger only a one-shot event. IFTTT unfortunately does not reveal how frequently it watches an Adafruit IO topic. Are these sometimes up to 20 minutes long delays between a value registered at the Adafruit IO feed and the corresponding tweet appearing in the Twitter timeline normal? Is there an Adafruit IO or IFTTT limit? Is there a way around the delay?

Yeah, well... just gave Zapier a try. Looks neat, but AIO > IFTTT > Twitter response time is 5 to 17 minutes, while AIO > Zapier > Twitter response time is 15 minutes minimum as per Zapier's $0 and $19.99 per month plans. I pitched IFTTT against Zapier and IFTTT won by 7 minutes, quite a difference. For true near-real-time alerts, SMS is probably the better option.

Also, IFTTT is happy tweeting away, while Zapier's free tier has a 100 tasks per month (e. g. tweets) limit, and then Zapier stopped after the first tweet because it says Twitter blocks duplicate tweets. The timestamp added prevents this reliably via IFTTT but not via Zapier, so it seems.

In that sense, IFTTT is better, also because if Zapier checks only every 15 minutes, it will surely catch a value of 0 after a button was pressed, a door was opened or some other one-shot action occurred.

For our academic projects, I am ok with spending $99 for AIO and maybe, just maybe, $199 for IFTTT, in case one gets a better response time with the IFTTT developer account instead of the free tier. There's no information on that. I have to ask, I guess.

Problem with Zapier > Twitter is that, for some reason, adding a timestamp to a tweet still invokes the "duplicate tweet" error, so even if one expects a message seldomly, only the first one will ever arrive. IFTTT > Twitter with added timestamp works.

Systembolaget wrote:Yeah, but Twitter somehow doesn't respect that, while it does so with the one added in IFTTT.

Strange, I personally only use zapier to tweet and haven't hit that issue.

You may want to check...

Before posting updates to Twitter, a Zap will first check that the same post hasn't been made by any Zaps under the same Zapier user's account. The error message means that the same status was posted by either the same Zap or another Zap. Twitter has strict policies on automation and the use of multiple accounts

Is the second way the one you do it to avoid duplicate tweets? First way is only a static timestamp at Zap creation time?

By the way, what about Zapier's free plan (every 15 minutes) polling of an Adafruit IO feed, wouldn't that miss an event that triggers a 1 and immediately after a 0 - a "one shot" action, like a button pressed or a window smashed?

Too bad, also a proper timestamp results in Zapier stopping the Zap from tweeting the same notification more than once.

"Your Zap named Create tweet in Twitter when get feed data in Adafruit IO was just stopped. This happened because our systems detected this Zap posted a duplicate tweet, which is against Twitter's Terms Of Service."

Strange, I personally only use zapier to tweet and haven't hit that issue.