Ct 100 5-2 capability

Question about the Ct100. I am trying to find if someone has put an app to do a 5-2 programming on that device. I can do daily activity using the good Morning/good night etc apps with ST. But I want to be able to seperate my weekends to do things a bit differently ?

I have a CT100 installed in my house that has been connected to ST for about 2 weeks. I am working on an ST app that allows for a 5-2 program to be run by ST. I have pieced together parts of may other’s programs to assembly my app.

I have set up the app so that the user inputs time & temp changes for 4 times for monday-friday and time & temp changes for 4 times for Saturday & Sunday. It also uses an outside temperature sensor to change the thermostat from heat to cool based on a user defined temperature.

I have been running the app for three (3) days now and it appears to be working. But, I have yet to see an outside temp that will change to the mode from heat to cool (even though I live in the south). Once I have made sure that it fully works, I will be posting the code for others to use/modify as needed.

Mike - That’s fantastic news! I was about to embark on the same quest now that I have 2 CT100’s installed. I would love to help you test if you’d like.


Mike I’d also interested as I just installed a CT100.

Mike - how’s your programming going? Let me know if you would like some help testing. Thanks!

I’d be happy to help out as well. I have a CT100 and am looking to get a second.

I believe that the code is throughly vetted at this point. While the schedule sometimes misses a step likely due to issues with my internet cutting out and my Smartthings Hub getting disconnected.

Using parts of many different Smartthings code written by others, I have developed a 5-2 thermostat program. This code uses an outside temperature sensor (user selected temp) to determine if the thermostat should be cooling or heating. The code schedules for weekdays (Monday – Friday) and weekends (Saturday – Sunday), with four (4) temp/time changes per day, very similar to commercial programmable thermostats.
This code can easily be modified to remove the external temperature sensor.

In previous versions of the code, the program would send the command for fan mode “auto” alot, but this is believed to be corrected in this code.

The code can be found at;

Again, I did not write all of this code, mainly assembled pieces and parts from other codes, all believed to be open source. Feel free to use the code as you see fit.


Thanks, Mike! Will give it a shot.


Mike, I’ve just started using your 5/2 code, too, with a CT30. So far so good, thanks for sharing what you put together.

First, thank you so much for the code. I shamelessly took this code and modified it to be a 4-3 thermometer as my house is occupied Fridays as well. It was fun to see the reaction of people when I showed them what I meant by I was programming my thermostat.

One problem I seem to be having is it is not figuring out when the day changes. Or at least that is what I think is happening. I added a bunch of sendNotificationEvent calls to see what is happening, when changes occur, etc., and one of those calls is in initialize() for when the day changes. It does not seem to fire other than when I change any parameters. Maybe I’m not understanding how the various methods are fired, but I cannot see how the system would fire the updated() or initialize() methods other than when you first set up the program. How can I get it to update the day each day? What am I missing?

EDIT: Now I see that there are calls to schedule(time1, “initialize”), so I imagine that is what should kick the initialization off each time, but it looks like that isn’t firing? (Go easy on me - I’m a very part time C# guy who is spoiled by the Visual Studio IDE for development and debugging, so this interface and style of development is throwing me a bit.)