The one thermostat to rule them all


(Eric R) #1

I had the problem of having a window air conditioner that I wanted to control using ST. I was using the virtual thermostat, but it wasn’t enough for me. I didn’t like that I had to have a different app installed for each mode that I wanted a different temperature in and it also didn’t turn on right at the mode change. It waited for the temperature to change for the sensor first. So I started writing my new app.

I borrowed a lot from @geko 's Smart Alarm App. Currently, you can set up multiple rooms with a thermostat, plug-in heaters, plug-in air conditioners, and a temperature sensor. You can also set the set temperature to change at mode changes with three different mode types (Home, Away, Asleep - modeled after what modes I use). Each room has its own set temperature and own mode program and you can set it to “heat”, “cool”, and “off”. The temperature sensor controls the plug-ins.

There is still a lot I plan on implementing but haven’t had time to work on it yet:

  • The thermostat doesn’t do anything yet - I plan on just setting the set temp for the thermostat and the set mode for the thermostat and letting the thermostat manage itself. (I don’t need this to manage the window air conditioner right now)
  • I want to be able to schedule times for temperature changes (so I can have it turn on the heater 30 minutes before I get up in the winter) - I haven’t figured out the best way to schedule these times with the multiple rooms having different programs
  • I want to add a web interface to control the program and display the current and set temperatures.
  • I also need to clean up and add some of the interface helper text
  • I want to add some notification stuff too.

Other than those things, the code is tested and functional to run any plug-ins. If you have any other ideas, feel free to let me know. The code is at https://github.com/baldeagle072/smartthings-the_one_thermostat


Anyone running a geothermal system with a SmartThings compatible thermostat?
(Edward Pope) #2

Excellent work, it is not something that I need, but I am sure that other people will. Thank you so much for sharing and helping us here in the community.


(Tim Slagle) #3

Awesome! I also have no use for this but its really awesome!!!


(Eric R) #4

I added the thermostat functionality. I haven’t tested it yet, but it is fairly straight forward. Next project to tackle is scheduling temperature change times.


Trigger switch with temperature
(Eric R) #5

I added quite a bit over the weekend. The scheduling times works. I added a web interface both with mappings and php code to access them. And I cleaned up the helper text. Check it out over at the same Github repo.

I did discover that you can access the mappings in an app without going through the Oauth process. I was having a hard time using the Oauth with my app, but discovered you can use the installed app ID # (that is found in the logs on the ide) to access the mappings. It does require you to authenticate, but not by going through the ST interface. Check out the php file for more info.


(Edward Pope) #6

Thanks again for your awesome work here @baldeagle072


(Eric R) #7

It has been updated again! It now has a browser interface. I used @625alex’s Web Dashboard and it does the same thing where it put’s the link in the logs. This will create a separate link for each room created. I inserted the link for my setup into a guest web page on my home server for people on my network to access using an <object> tag.


(Ronny Carr) #8

Nice work here @baldeagle072! I have a similar setup at home, window units, floor fans, and electric heaters. I had a very complex app that controlled it all for a while. At first I thought it was great but wanted it to feel more like I had a full blown HVAC system. I’ve just recently created a virtual thermostat device that functions just like the regular SmartThings thermostat. It uses an app to connect the devices (sensors, ac units, and heaters) to the virtual interface. The great thing about it is one can use the standard heating/cooling setpoint options within hello, home actions and any other thermostat command from any app that supports them.


(Michel Labelle) #9

@ronnycarr just looking for the virtual thermostat code you said you created. Any chance of sharing?

Thanks


(Ronny Carr) #10

Hey there, you can see what I’m using as far as device and apps to control my setup here:
https://github.com/ronnycarr/SmartThings/tree/master/virtual_thermostat

It’s a combination of a few projects I’ve found here on the forums. It’s pretty specific to my needs (the apps, not really the device) but can easily be changed to work for you I’m sure.