Newbie questions... any help appreciated for conditional programming

(Alex) #1


I am new at home automation, and have a bit of a conditional programming need and would like to know whether or not Smartthings platform could help me do it, or I need to look elsewhere. Please help if you can!

I’ve been looking at Lutron RadioRA2 and Caseta systems, but open to any similar lighting solutions as my KEY criteria is the conditional programming!

Here are my needs:

  • 2 Keypads (one at entry, one in living room) to control lights all on/off, plus mood settings
  • 4 Dimmers, 3 magnetic, 1 electronic transformer control
  • 2-3 plug-in controls (table lamps, etc…)
  • 4 on/off switches
  • 2 roller shaded (future setup)
  • 2 fan switches (on/off)
  • One switch for Fireplace
  • Integrate into Nest
  • Control Sonos
  • Control by Harmony Remote (integrate to home audio)
  • Integrate into HomeKit
    - ALL controlled via ONE APP [iPad]
  • Give me conditional programming

Conditional Programming
Climate Control

  • Winter: IF Temp on (Nest or other thermostat) below 60, turn on Fireplace (via remote switch, as Nest is not connected to fireplace)… and Baseboards (Nest controlled)… IF temp goes above 65, below 70, TURN OFF Baseboard heaters, IF temp goes above 70, TURN OFF Fireplace
  • Summer: IF Temp on (Nest or other thermostat) is above 70, Turn AC ON (Nest controlled) AND Turn the FAN ON (via remote switch, as Nest is not connected to fireplace)

If mood set to Movie, turn X, Y lights off, turn Z light to 50%, Turn on AV Receiver, change input to X, set TV Pic setting to Movie, etc…

My biggest need is the conditional formatting for climate control. This is in a condo, and I basically want to temp control fireplace, and fan that are BOTH manual right now. Nest only turns on A/C and Baseboards, but I want it to also trigger fireplace or the Fan. So, essentially I need a platform to READ the temperature off Nest, and trigger those events in Unison with Nest turning A/C or Heater on/off.


  1. Could SmartThings control Lutron RadioRA2 or Caseta lighting solutions (prefer RadioRA2)
  2. Could SmartThings control Lutron mood settings (via its keypad)?
  3. If Lutron doesn’t work, what other lighting controls are recommended? Insteon has been a hit and miss from what I’ve read
  4. Could SmartThings do the conditional programming I am looking for? If not, could another thermostat enable this?
  5. What ONE APP could integrate all of these into a single UI? I HATE to use multiple apps for various functions


( co-founder Terry @ActionTiles; GitHub: @cosmicpuppy; NOT a SmartThings Employee.) #2

Wow! You have quite the wish list… Not being facetious, but the answer is … come back in 5 to 10 years!

###The realistic (and optimistic) Answer:

SmartThings is one of the most powerful and flexible consumer (i.e., non-dealer / integrator) platforms available at this time and, with patience and the generosity of SmartThings Community members, you may actually accomplish a lot of your wish list.

  1. The first step is to ensure all of the Things (lights, sensors … devices) you wish to control are available with Device Type Handlers for SmartThings. If they are not on the officially support "Works With SmartThings"™ page (e.g., Nest is not), then you will have to do more effort to find a Community Developed DTH. That is sometimes worth the effort even for devices with official DTHs. In other words: Nest vs. Ecobee vs. Honeywell … You may or may not wish to go with the WWST choice. Look them up.

  2. If your Things have decent DTHs (conforming to some basic standards), then the Community Rules Engine (CoRE) is currently the most powerful way to do “conditional programming”. SmartThings does not come with a generalized conditional programming UI; just some simple cases like “Smart Lighting” and “Smart Home Monitor”; or the ability to write relatively low-level code based on Groovy. In short… be thankful for CoRE.

  3. Integrated into a single UI? Depends what you mean by “Integrated”. Any Thing with a properly written DTH will have some set of function (maybe a subset) exposed inside the SmartThings App. The UI builder for Things is not super powerful, so some functions are just not worth building into a DTH, or just result in a sub-par interface.

  4. Personally (as co-founder), I recommend our add-on web-based UI; ActionTiles, but it currently is focused only on supporting official Works With SmartThings devices and does not yet incorporate external device UI’s with extra richness… i.e., in some ways it is more streamlined and flexible than the UIs inside the SmartThings App, in some ways it is less, and eventually this blend will shift, hopefully in ActionTiles’s favor.

I’m sure there are dozens of helpful folks here who will chip in … some will disagree with my generalizations. You’ve got a lot to learn ;-).

(Alex) #3

Thanks so I need to do some more research. Now, generally is my climate control conditional programming possible or not?

( co-founder Terry @ActionTiles; GitHub: @cosmicpuppy; NOT a SmartThings Employee.) #4

I believe that CoRE is more than powerful enough for the case(s) you describe.

I’m not experienced enough with CoRE to give you as good an assurance as many others here, … particularly the developer: @ady624.

(Robin) #5

Using the custom (community) SmartApp / Device handler combo ‘NST Manager’ you can control everything Nest can control via Smartthings.

More info here:

Using CoRE (another community Smartapp) you can create the conditional formatting you describe and much much more!

(Robin) #6

Personally I would reccomend cheap tablets / mobile phones, wall mounted and running ActionTiles:

Plenty of alternative device options are here:

(Eddy) #7

Yes it is possible, now it depends how do you define winter/summer
I know some people use month of the year to define those.
But all in all, yes what you are trying to achieve is possible using CORE.
I started home automation with smarthings not too long ago and the amount of stuff you can automate/conditional program with CORE is ridiculous

(Anthony S.) #8

I think you can do this with a builtin nest automation call fan control (Basically turns a switch on an off based on criteria)


Welcome! :sunglasses: I moved this discussion to projects so you can get individualized responses based on your own needs and preferences.


At this point, the conditional programming is the simplest part of your request, as core is an extremely powerful and sophisticated rules engine which was created by a community member and is very popular for those with a technical background. It could be quite confusing otherwise, however, And you might need help from community members to set up individual rules if you aren’t already a programmer. You can basically think of core As a scripting language for SmartThings.


SmartThings is one of the few inexpensive home automation systems that lets customers upload their own device type handlers. And there are a number of community members who enjoy writing device type handlers and are willing to share them with others. That means there’s a lot of code available. Usually the easiest way to find it is to try the quick browse lists in the community – created wiki:

Using someone else’s code is pretty straightforward, essentially you just copy it and paste it into your own account. The following FAQ explains the concepts:

If the device is a certified Z wave device or a certified zigbee device using The zigbee home automation (ZHA 1.2) Profile, then that code is probably all you need to make it work with SmartThings. Zwave and ZHA Devices are the most common ones in a SmartThings installation, and Z wave in particular offers a number of switch choices for residential use.

There are also some official integrations for devices like the Philips Hue Bridge, the harmony home hub, the Lutron Caseta line, LIFX, etc you can find those on the official compatibility list:

For other devices/protocols, there may be individual community members who have created an integration method, typically using at least one additional device like a raspberry pi to act as a “man in the middle,” but these often require considerable technical skill and may not be kept up-to-date. They are interesting maker projects, and may prove to be very useful for others, but they do require a lot more research and effort to set them up and keep them running. Most of them are on the quick browse lists under project reports, and some of the more popular are also on the protocols list in the community-created wiki.

For example, there is one for Lutron RA2, but the community member Who created it is no longer active in the community, and I don’t know if it’s currently working or not. There have been quite a few platform changes since it was first released.

The insteon protocol is proprietary to their system and doesn’t work directly with SmartThings. There are some community members who previously had an Insteon system and have developed some “man in the middle” integrations, but I don’t know anybody who would use those if they didn’t already have insteon devices.


You didn’t say if this was a gas fireplace insert or an electric fireplace. If it’s a gas fireplace, in most US jurisdictions there will be very significant limitations on how much remote control you can create for it, for safety reasons. In many places, a fireplace remote can only legally be operated within about 20 feet. So as soon as you add the fireplace switch to SmartThings, you are in code violation, and may void your homeowners insurance. It doesn’t matter whether you never intend to use the SmartThings app while you were at the office to turn on the fireplace – – just the fact that you can is enough to violate the code.

And it’s important to note that there are occasionally reports in the forums from people who have lights mysteriously come on when they aren’t supposed to, or garage doors open, or door locks unlock.

It doesn’t happen to everyone, and it doesn’t happen all the time, but it can happen and it’s enough to raise safety concerns if you don’t also build in a number of non-– smartthings-controlled safety checks.

You can find project reports regarding fireplaces that discuss all these issues. But definitely check with your local township first.

These laws apply regardless of what Home automation system you use, it’s nothing specific to SmartThings.

If it’s an electrical fireplace, then there aren’t usually the same code restrictions.


I have HomeKit and like it and use it for most of my simple automations. But there is zero integration with SmartThings. HomeKit requires a particular hardware chip in the devices that work with it, so it can’t usually be retrofitted onto existing devices. SmartThings originally intended to be compatible with HomeKit, but, like many other home automation companies, once they found out about the hardware requirement they decided to take a wait-and-see position.

There are some individual devices that do work with both SmartThings and HomeKit, such as the Phillips hue bridge, the Lutron Caseta line, and the ecobee thermostat, but there aren’t many and not enough to cover most people’s full uses. But if your needs are just lighting and a thermostat, you can do both. So it really comes down to a case by case evaluation of possible solutions.


Nest is…complicated. Officially, there is no integration, and unlikely to be, as nest requires that its partners limit the programmable access that their systems offer to the thermostat and in SmartThings there’s just no way to do that. Once you’re in, you’re in.

There is a very popular community created integration, but it is technically a violation of the terms of service of your nest account, so officially smart things says “use it at your own risk.” It is something that could be shut down in the future if nest chose to do so (the Chamberlain garage door opener did just that with an unofficial SmartThings integration about a year ago), but a lot of people feel they will cross that bridge when they come to it.

Ecobee doesn’t have the same issue, and as just mentioned, ecobee can also work with HomeKit which nest cannot, so it’s also a very popular thermostat in the community. And there are some simpler Z wave and zigbee thermostats as well for people who want to spend less money.

There is one official integration option for nest/smartthings, and that’s to use the free IFTTT service. It works fine, it’s just much more limited in what you can do with it. But it would be possible to use conditionals as you described and access nest through its IFTTT channel/service.

The SmartThings IFTTT service is very popular and gives you full access to all of the devices on your SmartThings account, so it does make it easy to add control to many other devices/services, although you may not have full feature access to some of them. It just depends on what they’ve exposed through their IFTTT channel.


There’s a Sonos integration, but the official integration may not be as granular as you want. There are some additional community – created integrations, but I would definitely do some reading in the forums for more details on that. But this is one of those places where you may not be able to do everything all in one app.

One app to rule them all…

You can get most of what you want in just one app, the official SmartThings app, with some exceptions like Sonos as mentioned above. However, you may have to do some work with the web interface as well, called the IDE ( integrated development environment) , especially if you start doing some of that cut and paste we were talking about with regard to devices which are not officially supported. That isn’t something that you have to do every day, it’s part of the set up for a new device or a new smartapp. But it is just something to be aware of.

Also, while it’s one app, it’s not a particularly easy to use app, and some choices just aren’t available through the official features. For example, right now there is no way using only the official features to set up one scene that sets three different dimmers to three different settings. There are lots of different ways to do it, it’s just not always clear how to get there, and it may require custom code. So this is one of those “be careful what you wish for” situations. There’s one app, but I can pretty much guarantee it’s not going to be your favorite. :stuck_out_tongue_winking_eye: Again, this is an area where the company has said they want to make improvements, but they’re not there yet.

The Unasked Questions

Since you are new to home automation, I think what Terry was getting it in his reply is that there’s a whole set of questions that you didn’t ask having to do with reliability, stability, budget, and rates of change.

Home Automation has been around for about 30 years, but it’s only been around at the under $3,000 price point for two or three.

You could definitely get everything you have on your list if you went with a high-end system like control 4, and it would be reliable and stable. But it also typically costs 10% of the cost of your home, plus an annual maintenance fee. So out of budget range for most people. If I had the money, I’d get a control 4 system for sure, but I don’t. My budget is about $200-$500 per room, and I don’t do every room in the house. And an equivalent control 4 system would probably cost me 30 or $40,000, and it’s just not in my budget range. And some people have Control 4 systems that cost $100,000 and more. So, The future is now – – but only if you can afford it. :wink:

At the low-cost end, there are a number of competitors, and each has pluses and minuses. The SmartThings plus is that it is so customizable, so it’s very easy to add new devices and, as mentioned, has an amazing conditional rules engine in core.

The minuses are that it’s just not very intuitive, and if you want to get access to all of those power features you may have to come to the forums and get help. And, it has ongoing issues with reliability. The company is very aware of those issues, and has committed to improving in that area, but they’re just not quite there yet. For example, just this week Several people reported that devices that they hadn’t made any changes to themselves had started acting in a different way, including light switches that now have to be pressed at the bottom for on and at the top for off, the reverse of the previous.

One reason those changes can occur is that SmartThings is primarily a cloud-based system. For example, even if you just want to have a Lutron switch come on when you walk past a motion sensor, The system has to send a message over the Internet to the SmartThings cloud and get a response back before anything happens.

So that means two things. The obvious one is that if the SmartThings cloud is not available, a lot of things in your home automation system may not work.

The not so obvious one is that if the company makes a change to something in the cloud, and many changes are never documented or announced, things may start acting differently at your house. You’ll see a lot of forum posts like “is anyone else seeing…?” Because whenever anything gets flaky at the house, the first question people ask is “have they changed something?”

That’s not true of other non-cloud-based systems. For example, if Lutron or Phillips hue change something, you’ll usually know, because you’ll have been told an update is available and you get to control when you apply that update. SmartThings, however, can change code in the cloud whenever they want and that will affect your account.

For many people, that’s an inconvenience they’re willing to live with in order to get The power and flexibility of the SmartThings system at such a low dollar cost. But it is something to be aware of. At present, SmartThings is a pretty high maintenance system, although again, the company has publicly committed to changing that. But they aren’t there yet.