The BEST hands down SmartApp for HVAC/Thermostat

Ok, I have thought of the BEST SmartApp for thermostat operation that will get you the most savings out of your thermostat, especially for those who are away from home frequently (most people I think).

Current problem- You set your thermostat to turn down the temperature (when set to heat) when you leave your house. 2 problems I see with this;

  1. When you get back home your house is X degrees colder and takes time to heat back up.
  2. X degrees is usually only a couple degrees off from normal temperature.

Now for how the SmartApp operates! well… I wanted to ask a couple questions about how these SmartApps operate (I know VERY little about coding) before I explain the SmartApp. Keep in mind the explanation is rather long. Also there is one thing I haven’t figured out yet. But is still possible. I’m sure I can solve this one issue with a little googling. Anyways here are the questions I have before giving my idea.

  1. Can a SmartApp compute a calculation using 2 numbers given by the user and a 3rd number being a number given my a ST sensor.
  2. The big question- There is a 4th number that is needed for the calculation I talked about in the previous question. That number would need to be the distance the nearest house member is to the house. This would require the location services being constantly updated. If this is possible, what impact will this have on phone battery usage?

I don’t know how obvious my idea is now, but there is a lot of things I have taken into consideration, and I don’t see a single flaw in this SmartApp assuming the 2 questions above are possible.

On question 1 Yes,
One question 2, Depends. Most location services do not constantly send location data. But when they get near the GPS location of Home, they can state to the phone that you are at home or near home. Some location services ping back to their servers every 5 minutes.

Also, some cases it is best NOT to setback or setforward (depending on time of year) your heating and cooling respectively. It depends on how efficient your house is, and also how efficient the HVAC is for your house. I have Geothermal, which means it is best to set and leave it alone. Some people with very efficient HVAC should do the same depending on where they live.

I am assuming that depending on your location to the house, you want the smartapp to increase or decrease the temp back to your normal setting based on arrival time. I believe many of the thermostats do this already. If that is what you are planning to do here.

I also have a geothermal setup. What I am attempting to do is to have the temperature be offset based on how far you are away from your home. For example say it takes 5 minutes to get your furnace to bump up the temperature one degree, and you are 15 minutes away from home, then the thermostat will turn it self down 3 degrees, and adjust accordingly as you get closer/farther away from your home. Of course it much more than that , but that’s the basic concept.
Say you are 2 hours away from home, I don’t see how setting the temperature down will hurt if you have a high efficiency furnace. I kind of understand why it would be bad for a geothermal since it has low air volume.

This is not a smart app but could you use multiple IFTTT recipes with different geo fences to trigger actions with different temperatures?

IFTTT is completely new to me. I actually just finished googling to see what it was :sweat_smile:. How does IFTTT work with ST? Is it something that is put into a SmartApp? Or is it a completely separate App that controls the ST App?

IFTTT is an app/service that is separate from Smartthings. It connects many different things together. Smartthings can be a trigger (if switch turned on) for an IFTTT recipe as it can also be an action (turn on switch). In your case you may want to connect your phone’s location to a virtual switch that will trigger an action.

Ahh I will definitely look into that.

Yup… it’s a bit obvious :wink:.

Nest provides this sort of functionality by integrating with another smart device, ummm… I can’t remember the name. One of those car / driver behavior tracking systems.

But it’s not a bad idea, and a great example of the power of SmartThings’s open development environment.

1 Like

Nest integrates with Automatic. I have both and plan to evaluate after getting another Automatic for my wife’s car. IIRC it is very rudimentary integration…

I’ve actually been evaluating my thermostat efficiency quite closely for over two years and considering disconnecting Nest from SmartThings entirely because I think Nest might be more efficient on its own. Nest is 13 to 17% less efficient than Ecobee when controlled by SmartThings routines (weather corrected data, but not perfect scientific analysis) based on my evaluation. Ecobee was most efficient when not connected to SmarThings but occasionally we were cold waiting for a warmup, I have not yet evaluated Nest entirely disconnected from SmartThings but plan to from January 1st.

BTW, the problem I had with Ecobee and SmartThings was that Ecobee would occasionally miss commands from SmartThings due to some Wifi network sleep state issue that Ecobee folks where never able to troubleshoot and resolve. Nest is “always” active on the network when all systems are healthy.

It makes sense for Ecobee to be technically the better thermostat. It was designed by HVAC experts and is first a thermostat, second a smart device. Nest was designed by Apple engineers and is first a smart device, second a thermostat.


Isn’t this a little too “baby out with the bathwater”?

Can Nest (and Ecobee) be connected to SmartThings for the sole purpose of occasional manual interaction (or as a simple raise / lower setpoint in a Routine), to ensure the ability to spontaneously customizing your comfort level without the need to pull up the thermo’s native App, relying on the thermo’s automatic routine determination, and/or its own third-party data integrations (e.g., Automatic)?

Or does connecting to SmartThings disrupt the thermostat so significantly that all efficiency savings is lost?

Great thought. I’ve been thinking about these as well and manual control. It seems our human bodies are not consistent. We want more heat at certain times, less at others. Probably due to activity, diet, stress level. We do sometimes adjust thermostat manually. A few times per week. Usually on ActiOn dashboard or Harmony remote. It would help nest if their app loaded the thermostat controls faster. Both web browser and smart phone are rather slow for me.

Back to your question, my experience is that if you have irregular routines then SmartThings can disrupt the smart thermostat’s natural control algorithms. This is evident when you arrive or wake up to a cold house. And in all fairness to my nest efficiency claims, I just checked and I have Nest’s Auto-Schedule and Early-On set to off. My goal was to automate through one source. Perhaps what I can do is just re-enable those and stop setting thermostat controls with smartthings routines, but retain the ability to manual adjust through smartthings.

I may try this change on December 1. I’ve been tracking monthly stats to measure efficiency. The current config is costing me money I guess!

1 Like

Well now I feel like a disappointed inventor :weary:. However my idea works a little differently. I feel like the Nest with Automatic is better for people who have a strict daily routine, where mine a more of an overall use. Rather than triggering the thermostat when at a certain location, my idea will adjust the thermostat based off of how far you are away from home. This way will require less “programming” by the user.
Here is how my idea will work:
After the user fills the required fields (sq ft, system tonnage, and a couple other variables) the app will calculate how many minutes is required to increase or lower the home temperature 1 degree fahrenheit. Say for instance it calculates that it will take 5 minutes to increase the temperature 1 degree fahrenheit (outside temp is accounted for)
So when the user is 5 minutes away from home, the thermostat will lower the temperature 1 degree, when the user is 2 hours way from home the thermostat will automatically lower the temperature 24 degrees (system set to heat/winter operation)
As the user gets closer to home the thermostat will increase the temperature.
Plus this doesn’t require any additional purchases like Automatic, all you need is your phone’s location

I think my way offers more savings (Automatic is 100$)

1 Like


As far as ecobee is concerned, I have detailed explanations on how it works with SmartThings under
the following sections of the ST community wiki:

Why ecobee vs. other connected thermostats?

In brief, even if Ecobee is connected to SmartThings,you may want to only use SmartThings to adjust your setpoints/fan settings under certain conditions (ex. Away from home, when outdoor temp is reaching some thresholds, when the ST mode is changed,etc.).

You can then maximize your ecobee’s efficiency w/o using exclusively ST for your scheduling. Personally, I don’t rely on ST for setting my programs/climates during the week, as ST scheduling is not very reliable over time.

As I live on the East Coast (Montreal to be precise), I really want my thermostat to apply the right settings at the right time (it can really get very cold in the Winter or very hot in the Summer otherwise).

I’ve coded many smartapps around the above principle to automatically adjust the setpoints (you can also do it manually via My Custom Ecobee device), and they work well.

Now, I have also coded the Automatic Device that I was planning to use for the use case described above (based on geofencing, set the right heating/cooling setpoints before coming home).

However, My Automatic device cannot process real-time events for the moment as there are limitations on both Automatic and ST sides to fully implement it.

For more details:


1 Like

Has anyone successfully implemented this idea? The trick seems to be figuring out how many minutes it will take to reach a certain setpoint. I imagine Ecobee has data somewhere already, but I don’t know how to access it.