IFTTT, Spark and automation, would it work?

I was really excited when I read about the IFTTT announcement. I tried IFTTT when it was first released and archived it waiting for an opportunity to put it to good use…

I recently finally picked up my Sparks and started playing with them in order to automate some simple things in my house like running the ventilation, turning lights on/off and other pretty simple stuff but that actually makes day to day life a bit more smooth. Personally that’s where IOT will have the greatest impact if you ask me. I have done similar things with 1-wire and zwave but kind of felt it wasn’t the right technology for the task or too complicated interfaces, too much stuff needed with gateways and stuff. Spark and its cloud approach feels like a great solution.

As a seasoned developer, not an electronics guy, Spark was simple enough to get started though I am really looking forward to seeing ready-made pluggable sensors and actuators for the Spark-LEGO-of-things. But then there is still the need for simple logic building blocks in the cloud to get stuff done. Thus my excitement over Spark IFTTT. Sure I can program my Sparks for their special tasks but when this gets powerful is when you can orchestrate scenarios without having to code.

Unfortunately IFTTT is too basic (and one of its strengths) to manage a simple rule like “if the sun is set and time is not later than midnight, then turn the lights on” (I might not understand or have not found some feature of IFTTT that makes it possible but I have tried so please correct me if I’m wrong).

I think Spark is great and I think IFTTT is great but Spark is for tinkering (before the pluggable sensors I want is out) and IFTTT is kind of the same. Both need just a little more to become useful for my scenario. That inspires me to keep working and playing with Spark and a high level logic interface of my own, but I don’t want to be the one saying –“hey look at the wheel I just invented” if there’s a better option. What do you say? What is your bet for Spark-home-automation, could IFTTT be right or is there some other technology you know that does the trick?

I agree that IFTTT appears to be limited, unless I am not aware of how to use it at 100%

For example they need to allow for advanced recipes, such as “if THIS then THAT, if THAT then such” etc

However I am glad to see Spark.io having support on IFTTT as it will make for simple devices to be simply configured :smile:

Able it being a little bit more complicated, node-red might be a viable alternative. You can make your own schemes with a drag-and-drop interface. There’s even a special module floating around here for the Spark. Search the forum for node-red :slight_smile:

2 Likes

@jon those are great insights and comments! I think you’re right that sometimes IFTTT can be for pretty simple stuff but that’s one of the reasons we’re excited about it. In the long run we want to give people the means to use Spark whether you’re an electronics expert, experienced developer, both or neither. Hopefully IFTTT will get some people going with simple recipes- either saving them time or encouraging them to expand their skill-set even further. In the coming months we’ll continue working on our docs, tutorials and new features to offer options for people of many different levels and interests.

IFTTT should be pretty cool though and particularly appealing for those of us who are neither an electronics expert or a web developer but are excited to learn!

1 Like

Granted, you can’t easily chain events together with IFTTT, it’s supposed to be simple. But, you could implement some of that extra complexity in the SparkCore itself! What IFTTT brings to the table is an easier way to tie your Spark notifications to other services, without having to use a lot of precious RAM to add your own network functions.

In your example of turning on a light “if the sun has set and time is not later than midnight” (something you’d only have to worry about near the poles, right? :wink: ), you could use IFTTT for the sunset notification, but use the Spark’s native time functions to double-check the midnight condition.

I’ve got a recipe tied into my iOS Location so that when I drive into my neighborhood, it turns on a Wemo Insight switch that I’ve plugged an LED strip into (old-school analog strip, not addressable). This alerts my wife and kids that I’m about to be home. But instead of the Wemo, it could just as easily be a SparkCore. And it could control an addressable LED strip, using different colors or patterns to indicate different areas that I enter or leave.

Going in the other direction, let’s say I’ve got a temperature sensor in my house, and I want to get notifications on my phone if it reads too high or low. But I don’t need the notifications when I’m at home, or during my daily 9-10 a.m. status meeting at the office. I could use iOS Location notifications to track when I enter or leave my home and office, and send that status to the Spark. If my last location notification was for arrival at home, don’t send temperature readings. Likewise, if my last location was arrival at work, but the time is in the 9:00 hour, suppress them. Otherwise, set a variable that triggers a Pushover notification through another IFTTT rule.

5 Likes

I think there has been a lot of great discussion above but I just wanted to offer a slightly different perspective: I view IFTTT as a bridge between services on the net. If I can’t do everything using one service or platform, I can use IFTTT to combine them to get my desired outcome.

In particular, I think IFTTT is going to be a key tool to work-around the lack of HTTPS access from the Spark core or other IoT devices.

Say you want to have your core send a tweet without running your own server–IFTTT can enable that. Say you want to have your core flash the room lights when you get a new Instagram follower, IFTTT can enable that too.

Connecting social media and the modern web with personal projects and devices is what I think IFTTT is great at.

6 Likes

I think what @bko writes makes sense, not to see it as a “rules engine” (as was kind of my approach) but more as a bridge between services. I will sit down and think up something else to try out the IFTTT integration with than automation. Though this thread is about IFTTT my questions in my post opening this thread are still open…

@Moors7 I will have a look at node-red. I started playing with Google Blockly but got stuck.

2 Likes

Node-red is phenomenal. I’ve had a great time pulling data from 2 spark cores, making decisions and logging data that I care about.

In my mind node-red and spark were meant for each other.

1 Like