[RELEASE] Enhanced Z-Wave Plus Thermostat Device Handler - Honeywell, GoControl, CT, Linear, Trane, MCO, Remotec

I’m not sure if something has changed in the device handler or the thermostat itself, but previously, I could set the heating and cooling setpoints to the same temp (not using auto mode) for my CT-100. Now, when I set the cooling setpoint, it changes the heating setpoint, and it doesn’t seem entirely cooperative in changing them back. Looks like it’s trying to keep about a 3 degree separation between the two.

If it helps, I’m trying to use the DH in conjunction with webCoRE. I haven’t had any issues until temps started to cool this year. Is this expected behavior that I (for some reason) wasn’t seeing before? Or has something changed?

I want to keep a fairly constant temp when I’m home. I just want to use +2/-2 increase/drop in temp to determine which mode needs to be active. Any thoughts as to what’s happening?

Edit: to add Thermostat model

The DH is enforcing a deadband between your heating and cooling setpoints. Check in the configuration options for the DH in ST.

As an aside, it is tremendously energy inefficient to set both setpoints to the same temperature, particularly in Auto mode. A deadband prevents your HVAC system from running too often and artificially wearing itself out, and helps conserve energy and thereby help you spend less $. Your mileage may vary, but most modern thermostat systems will enforce a deadband of at least 2-3 degrees.

2 Likes

That’s is correct. In the latest version we have reduced the default dead band to 1 degree (SmartThings stock handler still uses 3 degrees) which is the default for most thermostats but if the thermostat enforces a deadband that’s different from the default value, the DH reads it from the thermostat and synchronizes it with SmartThings. For such thermostats, as you pointed out, you can configure the deadband settings through the device preferences page and it will configure the thermostat settings and synchronize them with SmartThings.

I said it, but maybe I wasn’t clear enough. I’m not using Auto mode. I do understand that would be a fairly stupid idea.

Mine, I thought, was slightly better. I specifically only use Heat and Cool… and if a Window is open, Off. I monitor the variation in temperature. It’s technically a two degrees plus or minus the temp I prefer, 70. When the temp cools to 68 or heats up to 72 (the points I start to notice a difference), I have it switch modes. It’s been a really good system for me because it takes a noticeable outdoor temp increase or decrease to get the mode to change, and it keeps my house at a comfortable temp… It may just be that the set points have been changing and now they don’t seem to be.

Still, that does give me a place to start… Maybe, if I change the mode, then the other mode’s set point, the current mode’s set point will change more readily… I honestly didn’t know the CT-100 did a deadband until now. It hasn’t acted like it did. Though, I think I was on an older version of the DH and hadn’t updated in a while, a year or more possibly… (if it ain’t broke, until the sliders did…:wink:)

1 Like

And the CT-100 doesn’t enforce a deadband… the device handler does. Or, at least, a quick mod of the DH seems to support that. I know, not recommended. I probably won’t leave it that way. I just wanted to confirm to myself that I was correct in how it was behaving previously. (Oh, and you folks do a great job of commenting your code. I’ve seen plenty, including some of my own, that wasn’t nearly as straightforward. Thanks for a great device handler!)

3 Likes

Thank you! It’s been driving me nuts! I just started to notice my heat being set to weird temperatures. Had no clue either that there was a deadband, kept looking through all the automations to see if there was an odd one out. This explains it all.

I’m looking at purchasing this handler because I am interested in a single slider “auto” mode in homebridge/homekit instead of the split (see photo). I’m not familiar enough with these types of handlers to understand why it’s doing that. My thoughts on this “deadband” thing is we should be using the SWING setting that’s on the device itself to handle this and the device handler should be emitting the same temp. Maybe I am way off?

Deadband and swing are two different concepts.

Swing is the maximum allowed difference between the current temperature and set temperature, i.e. The “allowance” (plus or minus) from the set temperature before the HVAC kicks in. So if you set the thermostat to 73 degrees cool and the swing is 0.5 degrees then it will kick only when the temperature exceeds 73.5 (and reverse for heat)

Deadband the “gap” between the heat and cool set points that the thermostat needs to maintain to avoid the HVAC constantly switching between heat and cool modes. Deadband only comes into play with “auto” thermostats. So the deadband is set to 1 degree the difference between the heat and cool setpoints is atleast one degree. So the heat is 70 and cool cannot be less than 71. This is to avoid “hunting” by the HVAC and also confusion with invalid setpoints like having cool less than heat (e.g. Cool 70 and heat 75)

I’m having issues with randomly loosing connection with my CT-100 Plus thermostats. I have 6. All software is up to date. Seemingly randomly I’m can’t control one or more of these thermostats remotely. I’ve tried repairing the z-wave network. Sometimes that works. I’ve excluded and re-installed them and that works for a time. But eventually I loose connection. I can manually adjust them but not remotely. This is worrisome as I am traveling and relying on these. I’ve seen some notes on this and other forms suggesting that there are some reliability issues with these thermostats. Can anyone comment and or offer any suggestions? Thanks.

I only have one CT-100 but I’ve had it for about a year I think and it never disconnects. With your description, I’d guess your issue is a communication issue due to distance from the nearest repeater or the hub. Mine is within 6-8 feet of (5) wired/powered zwave switches (repeaters) and about 10-12 feet from the hub. Adding a repeater(s) would likely help.

1 Like

Sounds like a weak mesh. Add repeaters between the thermostats and the hub.

Are you running the thermostats on the C Wire? If not then exclude the device before enabling the C Wire and then pair it so it acts like a repeater and if you have 6 then it should make for a good mesh when on C Wires.

Thanks. I did think of that. I do have all thermostats on c-wires in always listening mode. Checked in the IDE. Several of the ones that are working now would have a longer distance to another z-wave repeater. I also have at least 2 other powered z-wave devices. Leviton plug and switch. EDIT: also have Econet water valve and 2 ZXT-120 IR repeaters. In the IDE I can see the thermostat in the log when I watch for it. I can send a command via Smartthings app and I can see the right command being sent but no response or updates from thermostat.

Do you guys still think that it’s a mesh issue? If so is the solution to add more z-wave devices? I’m questioning the reliability of these thermostats. Unfortunately a more significant issue than a light not working. I am out of the country for another week and temps at home are hitting -12°C. Yikes.

@smartdoc For my 3m50 (CT50) I installed an updated Zwave USNAP module (FW 9.0) and pretty much all my problems are now fixed (old USNAP module is FW 7.4):

  • Automatic date/time setting now works
  • Much more reliable communication to/from thermostat
  • Random other nearby zwave devices disconnecting aka zwave mesh crash issue (closest light switch would loose connection to ST hub and reconnect when thermostat was hard reset and reinstalled in ST hub)

https://www.amazon.com/Radio-Thermostat-Company-America-ZW-9-0/dp/B00KQS35Q2

2 Likes

Wanted to replace this part of the code as described in the OP but it’s not present in the built in zwave thermostat handler. Is this info outdated or am I missing something?
Also wanted to ask, is it possible to control the ct101 using google assistant /GH?
Thank you!

Also have one other question
If there handler for the CT101 that would be designed for Heat only? ( natural Gas fireplace)
Heat ON/OFF Setting temperature, Fan ON/OFF
Humidity, battery status and that’s about it

Thanks

Depends on your you’ve configured your CT101 DIP switches. It has physical switches on it that make it work differently, I believe you can set it to only have heat, in which case it won’t report cool as an option to ST and the device handler will automatically remove the cool option.

Thanks for reply RBoy, the only switches to set it up are gas/Electric and Heatpump/HVAC

HI, I purchased a subscription to use with my CT100 Thermostats a few days ago. I pasted the code as a new SmartApp, but it won’t install. I am getting the following error (I deleted the script_app_metadata and the closure1@ info since I don’t know if that info is about my SmartThings hub, and I didn’t want to make it public. If the numbers/letters are something that I can post, let me know and I’ll post the error in full).

No signature of method: script_app_metadata_DELETED NUMBERS & LETTERS.metadata() is applicable for argument types: (script_app_metadata_DELETED NUMBERS & LETTERS$_run_closure1) values: [script_app_metadata_DELETED NUMBERS & LETTERS1$_run_closure1@DELETED NUMBERS & LETTERS] Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure)

Thanks!

It’s a Device Handler and not a SmartApp (which is why you’re seeing the error)

Thanks for the quick response! I can’t believe that I missed that bit. It works great now. Thanks again!

1 Like