This is an advanced DTH for Z-Wave and Z-Wave Plus thermostats. It fixes bugs in stock ST thermostat DTH, thermostat firmwares, enables advanced features to be accessed via SmartThings and adds additional functionality like battery saver modes, max/min setpoint limits, deadband synchronization, filters, differential, power source, enabling auto modes, recovery modes etc. (See below for a detailed list per model)
It will only show C-Wire if the thermostat was paired with the hub in repeater mode (i.e. with the C-Wire connected) otherwise it shows the battery level.
To enable repeater mode on CT-xxx/ZTS-500 thermostats, exclude the thermostat, connect the C-Wire and then pair the thermostat with the hub
The DTH automatically detects the available features on the thermostat and enables the appropriate tiles (otherwise itāll show a blank).
To enable detection of Aux/Emergency/Multi stage heating for NON CT-xxx/ZTS-xxx thermostats (e.g. GoControl, Trane, MCO, Honeywell etc), enable the option in the device preferences page (disabled by default since most thermostats do not report it correctly)
If have a C-Wire with battery backup, enable the setting to report battery with C-Wire connected
How to soft reset CT-xxx thermostats (i.e. reconnect with the controller)
Open the thermostat top cover and there is a reset button. Press it for 1 seconds. Now open the ST app and click on the refresh tile to resync all the settings.
How to factory reset CT-xxx Thermostat & Z-Wave module
Switch the thermostat to Oļ¬ Mode
Press and hold the lower left corner of touch screen for 5 seconds. The thermostat then resets itself, displays its current ļ¬rmware version, and restarts in Oļ¬ Mode.
How to factory reset CT-xxx Z-Wave module
From the Menu screen, touch Mate icon. The Radio screen appears.
Touch & hold Mate icon 10 seconds until you hear a beep. The thermostat will restore the Z-Wave module to the factory default settings.
How to factory reset CT-xxx Z-Wave module (alternative)
Press the Mode button unless itās in Off position
Press the Menu button
Press and hold the center of the screen for about 5 sec until the screen shows a number in the center of the screen and up/down arrows on the right side of the screen
Press the Up arrow and wait for the onscreen count down to complete
Press the Down arrow and wait for the onscreen count down to complete
RBoy
(www.rboyapps.com - Making SmartThings Easy!)
3
Yes I can but the whole point of the posting the changes above is for 2 reasons:
Users can pick and choose the customizations they want
When ST updates the base code, you can always just readjust the changes
Posting the whole code will just make it increased work to maintain the code (which is what happened with the original thread).
Iāve tried to make it step by step details walk through of how to make the changes and categorized it so you can choose the ones you want/donāt want. If you feel I can make it simpler, let me know and Iāll update it.
First, thank you. This thread has been immensely helpful. I have the CT80 and donāt need the battery portion but the humidity and clock set are awesome. Two questions:
The up/down arrows only allow a slow change, one degree at a time. Is this a ST thing or something that can be adjusted? I could go back to the slider I suppose but I like the arrows better.
My current mode state isnāt functioning properly. I switch to heat, refresh and it goes back to āoffā. Seems to be a problem with the base ST code. Plan to dig into it, but wondered if you guys knew how to correct.
Iām not a coderā¦ just trying to learnā¦
Thanks!
RBoy
(www.rboyapps.com - Making SmartThings Easy!)
5
No unfortunately it canāt run faster, thatās the way it works. Slider works great for large changes, up/down for smaller changes.
I think your thermostat may not be responding to all the modes correctly. Check this piece of code and check what your thermostat returns as supported modes:
standardTile("mode", "device.thermostatMode", inactiveLabel: false, decoration: "flat") {
state "off", label:'${name}', action:"switchMode", nextState:"to_heat"
state "heat", label:'${name}', action:"switchMode", nextState:"to_cool"
state "cool", label:'${name}', action:"switchMode", nextState:"..."
state "auto", label:'${name}', action:"switchMode", nextState:"..."
state "emergencyHeat", label:'${name}', action:"switchMode", nextState:"..."
state "to_heat", label: "heat", action:"switchMode", nextState:"to_cool"
state "to_cool", label: "cool", action:"switchMode", nextState:"..."
state "...", label: "...", action:"off", nextState:"off"
}
RBoy
(www.rboyapps.com - Making SmartThings Easy!)
6
The reason it canāt run faster has nothing to do with this code, but to do with the underlying device type code. The device type does a set followed by a get with a 1 second delay between to let the device the commands. This delay is what youāre seeing. If you used a custom device code and removed the delay, this delay will dissappear.
Itāll be there irrespective of what type of inputs you use, slider or buttons
Thanks for posting! I followed RBOYās steps and opted to leave the sliders in place instead of the up/down controls. I am able to display humidity and battery perfectly in the App for one of my ct100ās. Looks like it auto-sets the clock as well (looking at the activity log).
On my other ct100, the clock auto-sets butā¦ the humidity and battery tiles were each displaying a pair of hyphens ("ā"). The only difference I can see between the two ct100ās are in the Device List. One shows Status as INACTIVE and the other shows as ACTIVE. The one showing Status as INACTIVE displays the pair of hyphens for battery and humidity. After closing the App and terminating it a couple times, the Humidity started to display correctly on the device that had appeared as INACTIVE. Checking the Device LIst, again, both ct100ās now appear as ACTIVE.
Since Iām mainly interested in Humidity, its not a big issue getting Battery to display correctly for the 2nd ct100, but am curious if Iām missing something.
Any suggestions would be greatly appreciated, and thanks again for posting the improved code!
Wow! Just a quick shout-out for this app and for the helpful thread too. (Quick side question, how often does it auto-set the thermostat clock, just once or every so often?)
Yesterday we installed my 2gig CT100 thermostat and successfully connected it to my ST ecosystem. This was thing #20, reaching a minor yet fun milestone - hooray!
The stock code seemed alright but I was curious about humidity and battery life, and so I went searching through the community to see what was out there. And here we are!
This morning I followed the directions posted above, worked my way through the code and made the changes (I chose to go all-in with the mods) and voila, it works like magic.
Just wanted to thank you again - this indeed is very helpful code, and the ability to see the battery life and the humidity is great (plus the better icons, and the up/down buttons).
Cool - Iām now on day two with the custom app, and I have a question about a potential mod or enhancement to it (or maybe it does this and Iām not sure how to activate it).
What Iād like to do is visually see if the fan blower is active or idle; I see the status in the logs so Iām assuming itās doable; perhaps a different color tile to indicate active vs. idle?
Any hints or suggestions? Iād love to roll up my sleeves and try coding the ideaā¦ just was looking for a nudge in the right direction and/or some guidance to get me started.
Iāve been trying to get this working properly but Iām stuck. Everything seems to function properly other than the tiles updating. It may be a silly question but whatās the best way to confirm what my stat supports as far as modes? Iāve been trying to find it in documentation, no luck. Not sure if Iām just looking in the wrong place or thereās an easier way. Again, I have the Radio Thermostat CT80. Thanks.
RBoy
(www.rboyapps.com - Making SmartThings Easy!)
16
Check the live logs and also the manual.
RBoy
(www.rboyapps.com - Making SmartThings Easy!)
17
Fixed battery updates not working after new year on some thermostats
Just wanted to take a minute to thank all involved in this. I was struggling to find a thermostat without needing a C wire. I was excited once I found out I could use the Lowes brand. Would have been fine without humidity and battery levels but now realize how great it is.
Was easy to step thru the code, took me while since this was my first time, and it worked the first time.
Mine seems to be working fine except if we manually set the desired temp on the thermostat itselfā¦it does not reflect on the app. For example, if I set the temp to 72 on the app then later we bump it up to 73 from the thermostatā¦it still shows 72 on the app. It shows the correct current temp itās just that one that does not always sync up. Setting the temp on the app does show the change on the thermostat.
Anything I can try?
RBoy
(www.rboyapps.com - Making SmartThings Easy!)
20
Thatās correct, the device app doesnāt poll the device to the use set temp, the app only displays the last configured temperature. Interesting point, will see if it can be done.