I think that IFTTT support for SmartThings is a great idea with some real potential, but in the small amount of time I’ve played with IFTTT integration, I’ve run into enough bugs and strange implementation decisions that it’s really not usable.
Overall, the actions are more or less fine - although there can be a significant amount of lag between event generation and the action actually taking place. Most of the time that’s not an issue.
The triggers, however, seem to have a lot of problems. For starters, they’re not very reliable. As a test, I set up an IFTTT recipe to log door open/close events to a Google spreadsheet. Quickly I realized that open/close events were frequently getting missed entirely. When they aren’t missed, they are often written into the spreadsheet in a mystifying order not representative at all of the order that things happened in (e.g, if I open and close a door 3 times in 3 minutes, I’ll frequently see 3 open events in a row followed by 2 close events – a strange order and a missing close event). Occasionally I’ll even get duplicate events. The events include a timestamp that might be able to help me sort some of this out, but it’s reported in a custom string format that can’t be used to sort and needs special parsing (e.g., “April 03, 2014 at 09:55AM” - which doesn’t match the IFTTT documentation, BTW). Additionally, the timestamp only has minute-wide resolution and doesn’t include a timezone/offset (desperately needed if you have locations in different timezones).
I would much prefer to see a timestamp (or at least an alternate timestamp) with second-wide resolution in a standard /easily parsed format like “2014-04-03T13:30:07-0700” (i.e., a Java format string of “yyyy’-‘MM’-‘dd’T’HH’:‘mm’:'ss Z”). A string like that sorts properly without formatting and can easily be parsed into anything else you might want.
I suspect, however, that even with a better timestamp there are fundamental problems with the way these events are sent to IFTTT that would make things difficult to use, given the frequent missed events and out-of-order delivery.
As it stands, the IFTTT integration is at best a toy. The unreliability means that you would never want it to be responsible for anything even remotely important.