In years past, products for smart homes were made by only a few companies, and there was limited ability to openly integrate products from different manufacturers. The manufacturers of professional automation processors even used proprietary communications protocols to lock customers into only using their light switches, thermostats, etc.
Even consumer/hobbyist-oriented systems had significant limitations in what peripheral products would work with their hubs. Communications standards were, in many cases, only loosely followed by the companies that manufactured “compatible” products, leaving many customers frustrated when they purchased, for example, a new light switch and they couldn’t get it to connect to their smart home processor/hub.
Things have changed for the better. Wireless communications standards, including Z-Wave and Zigbee, are much more closely followed and include certification tests so consumers have some assurance that a product will work in their home. In addition, a vast number of products can be integrated through Wi-Fi.
That being said, we still have challenges.
For better, or worse, Wi-Fi is becoming the communications mechanism of choice for many smart home products (see my previous article on this here: https://restechtoday.com/rip-smart-hubs/). And, even though more and more companies are building Wi-Fi into their smart home products, it seems that every company has to re-invent the wheel and create their own unique application programming interface (API).
The API defines, among other things, the exact commands that a smart home processor/hub must send, over Wi-Fi, to a peripheral product to control it or obtain status from it. For example, people don’t want a smart security camera in their home constantly recording video. So, a smart home processor/hub that is integrated with an alarm system can send a message to the camera to start recording when the burglar alarm is triggered. This is a nightmare for both consumers and the manufacturers of processors/hubs, for two main reasons:
- Every time a consumer wants to upgrade their smart home, they need to research whether the peripheral they want to install is compatible with their smart home processor/hub. If it isn’t, then they make a support request to the manufacturer of their processor/hub and pray that their request will be fulfilled in a reasonable amount of time, if at all.
- Smart home processor/hub manufacturers are faced with an endless cycle of adding additional software to their system to allow it to communicate with every new peripheral product their customers want to use. This is a very expensive and time-consuming proposition.
In some cases, the processor/hub manufacturers require the peripheral manufacturer to write the driver software that allows the processor/hub to communicate with the peripheral manufacturer’s new product. This isn’t a better situation, as that company now has to spend the time and money to write the code to make their product compatible with a long list of different smart home platforms.
Fortunately for both consumers and manufacturers, If-This-Then-That (IFTTT) has provided an alternative for almost 10 years. It has been a free (to consumers) cloud service that provides a way for manufacturers to expose their API in a way that makes it easy for consumers to use it to integrate smart home products into their homes.
As can be seen in the list below, IFTTT can be used with most of the major smart home platforms. And, according to IFTTT founder and CEO, Linden Tibbets, IFTTT has more than 10 million users that have connected at least one smart home product to the platform.
Consumer/Hobbyist Smart Home Platforms that Support IFTTT:
- Alexa
- Google Assistant
- Hubitat
- Homeseer
- SmartThings
- And many more
Professional Smart Home Platforms that Support IFTTT:
- Control4 – using a third party integration driver from chowmain software and apps
- Crestron – using the IFTTT module that I wrote that can be downloaded from my GitHub: https://github.com/jbasen/Crestron-IFTTT-Module
- Elan – using a third-party integration driver from chowmain software and apps
- URC – using a third-party integration driver from chowmain software and apps
It is important to note that even with all these major manufactures supporting IFTTT, there are two major names that are still missing: Apple and Savant.
Integration between products from different manufacturers is easy to accomplish using IFTTT. Integrations are encapsulated in what IFTTT calls an applet. A user can either choose to use an applet that already has been published on the IFTTT site or create their own. An applet implements a simple rule based on the programming paradigm of “if this then that.” The easiest way to understand this is to look at some examples.
Example 1: IF you leave home THEN tell your smart home processor/hub to turn off the lights
Example 2: IF the alarm system connected to your smart home processor/hub sounds the burglar alarm THEN tell your security cameras to start recording video
Example 3: IF your Alexa alarm clock goes off THEN tell your smart home hub to turn on a smart, Z-Wave outlet that your coffee maker is plugged into
In each of the above examples, the portion in bold is called the “trigger” and the portion in italics is called the “action.” The IFTTT smart phone app, or web interface, makes it very easy to create as many applets as you want. To help a user make sure their newly written applet is working properly, IFTTT will optionally send the user an email each time it runs.
Security is a prime concern for many smart home owners. However, if hackers do attack a smart home, it probably won’t be through IFTTT. IFTTT has created a secure environment, including two-factor authentication, to absolutely minimize the chance hackers will be able to compromise a customer’s smart home through their cloud service.
IFTTT has not only made sense for consumers, it has also made sense for manufacturers.
- It is a very simple way for manufacturers to expose a simplified version of their API to their customers without requiring their customers to be computer programming professionals to use it
- With 10 million users, IFTTT provides manufacturers with access to a large number of potential customers
- A manufacturer can make changes to their API over time and, in many cases, these changes won’t impact IFTTT users because the nitty-gritty details, and complexity, of the actual API are hidden
- It expands the way a customer can use a product
- It reduces the number of different platforms a manufacturer has to write code to support
IFTTT isn’t just for manufacturers of smart home products. For example, Amazon has provided a trigger in the IFTTT Alexa channel when an item is added to a user’s shopping list. The Google Sheets IFTTT channel includes an action for adding a row to a spreadsheet. Combining these together allows a homeowner to add an item to their Alexa shopping list and have it show up on a spreadsheet they could use for tracking their family budget.
The Downsides of IFTTT
Unfortunately, IFTTT is not the perfect solution for the integration of every peripheral into a smart home. My experience has been that it takes about two seconds for communications to/from IFTTT and for IFTTT to process an applet. So, you might not want to wait two seconds to push the button on a keypad before a light turns on. Those two seconds could mean the difference between walking safely into a room and a severe injury from tripping in the dark over the toy that your child left on the floor.
It is also very important to remember that IFTTT is a cloud service, so none of your applets will work if you are in the middle of an internet outage. You might have a great applet that turns on your heat to keep your pipes from freezing if the temperature in your home gets too cold while you are away on vacation. Finding a way to keep that logic inside your home makes much more sense given the thousands, or even tens of thousands, of dollars of damage that could occur if a pipe bursts, when nobody is home, and your ISP is having technical issues.
Another downside of IFTTT is that direct-to-consumer tech support has been non-existent. I have personally emailed their tech support a number of times over the years that I’ve been using their service, including asking some questions in preparation for this article. I have never, ever received a response. Given that IFTTT has been free to consumers and that they have 10-million users, this is probably not unexpected. Fortunately, IFTTT has been easy enough to use that the times I’ve wanted to contact them have been few and far between.
There are ways that consumers can get help with IFTTT. Documentation available on IFTTT’s Help Center – https://help.ifttt.com/hc/en-us and through the IFTTT subreddit – https://www.reddit.com/r/ifttt/
Another issue is that there isn’t a way to view the triggers and actions a manufacturer has made available for a particular product until you have purchased the product and linked it to IFTTT. IFTTT used to allow customers to do this. Unfortunately, IFTTT updated their user interface a while back and this feature was removed. So, if a manufacturer advertises that they support IFTTT, then you are just going to have to take their word before purchasing their product that their IFTTT service has all the functionality you need. If it doesn’t, you won’t find out until you purchase the product and try to create your first applets.
One other problem that I’ve encountered is that manufactures rarely seem to add new features to their IFTTT channel. Many manufacturers seem to view IFTTT as an item that needs to be checked off a list of requirements that their marketing department has put together. Whether their IFTTT channel really meets their customers’ needs seems to be less important than being able to advertise that they are “IFTTT compatible.”
Up until now, I have found IFTTT to be a valuable tool for smart home integration. It has been reliable, fast enough for most actions in a smart home, and very useful. But it is a cloud service, so you need to make sure you use it carefully and ask yourself – each time you create a new applet – what would happen if your internet connection went down.
Introducing IFTTT Pro
To address some of IFTTT’s limitations, as well as fulfill a user’s desire to create more sophisticated applets, IFTTT has just announced IFTTT Pro – a subscription service for more advanced users. IFTTT Pro includes:
- Multi-step applets
- Queries
- Conditional logic
- Multiple actions
- Faster applet execution
Until October 7, IFTTT Pro is being offered as a one-year, “set-your-own-price” subscription.
Unfortunately, with the introduction of IFTTT Pro, IFTTT has gutted the capabilities of their free tier. IFTTT now only allows people who don’t subscribe to IFTTT Pro to create three of their own applets, though they can use an unlimited number of applets published by manufactures and other users. Since I have never found pre-published applets that are designed to integrate IFTTT with a smart home processor/hub, this limitation means that anyone using the service for smart home integration will probably be forced to purchase a subscription to keep using the service, even if they only want to use it to integrate one, or possibly two, smart devices with their smart home.
To demonstrate how constraining a limit of three custom applets is, here is an example of how an owner of a Roomba vacuum/mop might use the iRobot IFTTT service to integrate these products with their smart home:
- First applet – When your smart home processor detects that the home isn’t occupied, trigger the Roomba vacuum to clean the house. Since Roomba vacuums and mops use cameras for navigation, the smart home processor/hub will also turn on lights in dark rooms around the house, so the robots will be able to see to navigate.
- Second Applet – When the Roomba vacuum finishes cleaning, send a trigger to the smart home processor so that the smart home processor knows that vacuuming has been completed
- Third applet – When the smart home processor receives a trigger that the vacuum is finished, send a trigger to IFTTT to tell the mop to clean the house. The smart home processor can now turn off the lights in rooms with carpeting because the mop will not be going into those rooms
- Fourth applet – When the mop completes cleaning the house, send a trigger to the smart home processor to turn off the remaining lights.
While IFTTT Pro is being introduced on a “pay-what-you-want” basis until October 7, on the https://ifttt.com/pro web site, it shows a price tag of $9.99 a month for the service. So, if the only thing you want to do is to integrate an iRobot vacuum and mop into your smart home, it will cost $120 per year. If you expect to keep these iRobot products for five years, you can add $600 onto the price you will pay for them because iRobot doesn’t support any other smart home integration options.
IFTTT Pro has some great features for true power users. But the free tier is so limited that even people who want just a few basic custom applets for their smart home are being forced into it. Only time will tell if, one year from now, after the pay-what-you-want period expires, people will stick with IFTTT or will have spent the time finding an alternative that fulfills their integration requirements for less money.