[RELEASE] Remotec ZTS-500US Z-Wave Plus Thermostat Driver

Remotec ZTS-500US Thermostat Driver
Hubitat driver for Remotec ZTS-500US Z-Wave Plus Thermostat.

Features:

  • All standard thermostat functions
  • Exposed the sensor calibration as a command, so the built in temperature sensor can be biased programatically (i.e. you could use an external sensor as the control point for the thermostat by writing an app to adjust the bias every X minutes).

To-Do:

  • Currently only supports Fahrenheit. Maybe add Celsius support someday.

Installation:

  1. Install Driver code in Hubitat
  2. Apply to a Remotec ZTS-500US device. Click save.
  3. Edit preferences, save preferences.
  4. Click Configure command button

Driver can be found on my GitHub

V1.0.0 - 01/27/2019 - Initial Version
.
V1.1.0 - 02/10/2019 - Added Filter Reset command. Added swing, deadband, and filter prefrences.
.
V1.2.0 - 02/10/2019 - Fixed many parameter issues. Eliminated MANY redundant Set/Get commands, greatly improving responsiveness. Put filter parameters in MONTHS instead of HOURS, per current vendor firmware version.
.
V1.3.0 - 02/20/2019 Added the remainder of configurable parameters - Temp Differential, Max Heat SP, Min Cool SP, LED Level, Sleep Timer, Temp Report Threshhold, Temp Report Time Interval

Hey sorry about posting on 2 of your threads for this thermostat Jason. 2 separate issue tho.

The other issue I solved on my own. This issue may or may not be related to or able to be solved through your driver settings.

I installed your latest driver, and here is where I am at.

I can manually activate the heater with the ZTS-500 directly on the device, and the heater/furnace functions just like it did with the dumb thermostat. Meaning, I can click the buttons to set the temp higher than ambient, at which point I can hear the firebox portion of the furnace kick on, which is normal. There is a sub fan that kicks in, the igniter does its thing, then the flame bar lights up... All well and good. Then about 15-20 seconds later, the main fan kicks on and starts circulating warm air.

Hubitat: When I am in the device panel, and set the thermostat to "heat", fan to "auto", I can get the furnace to kick on, but what happens is that the main fan immediately kicks on, and I cannot tell if it is actually triggering the igniter or the flame bar.

I have let it run for a few minutes this way, but never really felt heat coming out of the vents, so I have to believe that I have something not quite right in the preferences pane(s)?

I am encouraged that the thermostat works manually the way my "furnace" is supposed to operate, but confused as to why the triggers in HE are not causing it to function the same way...

P.S. I have set the thermostat to both electric and gas (fan) but not really sure which mode is correct.
The fans are definitely electric powered, the heating unit is definitely gas powered and I have it set to NHP for not a heat pump per the manual....

I have the C-wire hooked up and there are no batteries in the ZTS-500, all power is coming from the furnace.

Hoping you can shed some light on this for me.?

Thank you sir.

Well, that is interesting...

I can't think of anything different that the remote cool/heat/auto would be doing that isn't being done a the local thermostat. It literally should just turn heat/cool on the local unit - no different than if you were doing it from the thermostat.

A couple questions -

  1. When you turn on heat from HE, do you see the heating light on the thermostat?
  2. Have you double checked the heating setpoint?
  3. Did you set your preferences and hit save? Same question with the Configure button.
  4. Do you have multi-stage heating/cooling/fan (that are controlled with the additional Y/C "2" wires ? I only have single stage units and fan so have not tested anything on that side of things.
  5. When you tried it from HE, did you try setting the heating setpoint a long way away from the current temp? Depending on the swing setting value it could turn on the fan but not heat initially if the actual temperature is within the swing value away from the heating setpoint.

And one last thought... I've only tested this with F temp units, not C. I'll take a look and see if there is anything that obviously wouldn't work with C vs F.

No issue here with F vs C... I am in Cali so I deal in Fahrenheit readings much better than I do C.

Ok. A few more thoughts/comments. :slight_smile:

  1. Heating setpoint is the temperature heat should come on AND off at when in HEAT mode or AUTO.
  • When temperature < heating SP - swing setting, heat turns on.
  • When temperature > heating SP + swing setting, heat turns off.
  1. Cooling setpoint is only used for air conditioning. If you don't have air conditioning, then you should not run your thermostat in AUTO or COOL modes. If you do have air conditioning, then the cooling setpoint is the temperature it will turn on/off at when in AUTO or COOL modes.

Remember that most (supposed to be ALL, but older furnaces often don't do this) have a minimum cycle time. So if you turn the heat on then off from the thermostat, and immediately go to HE and turn it on it really isn't supposed to start the heating element - to protect the heating system from rapid cycling.

For instance, my heating system has a minimum cycle time for 5 minutes. If I run it for 2 minutes and turn it off, then immediately turn it back on the heat won't actually kick on for 5 more minutes. If your furnace has that feature, it may be a different time than 5 minutes.

If you haven't already. What I would try:

  1. Turn system off.
  2. Wait 15 minutes
  3. From HE, set system to HEAT mode
  4. Lower heating setpoint to something much colder than current temperature.
  5. See if heating works.

I have a single stage gas heating system too, and have been using the driver for weeks with no issues on my heating modes. So if the above does something different than when you turn it on at the thermostat, I'm stumped.

The commands HE sends the thermostat go to the exact same place as when you do it locally at the thermostat. All a single stage thermostat does is turn a relay on/off providing power on a wire to the furnace/air handler unit, there really isn't any way I can think of for it to do something different locally vs remote, which is why I think you may be getting locked out on the unit from turning it on/off too fast.

I also wonder if you have a different firmware than my thermostat. That is a little more involved to check though.

Thank you so much Jason. I really appreciate your help!

Ok so I think I have identified an issue, but I could be just "reading" this wrong? Not sure.

(Your driver): "Set Thermostat Mode" will NOT allow changes. If I set the mode to heat, it will not take the setting, which can be verified in the "Current States" display to the right of the commands window. If I change it to auto or cool, the mode stays the same, which is whatever I had it set to when I last had the generic zwave thermostat driver in place.

(Generic Zwave Driver): "Set Thermostat Mode" WILL allow changes. No matter what state that parameter was in when I had your driver installed, I can change it to any other state, and THAT value will be instantly visible in the "Current States" display area.

I just sort of stumbled on this as I was trying to test control of the thermostat in Google Home, which by the way works pretty good with the generic driver.

As a side note, and I may have mentioned this in my last post, but the generic driver does in fact turn the heater on in the proper sequence, which is the small fan comes on, then the furnace lights up, then about 20 seconds later, the air handler comes on and forces warm air through the system. I can start and stop heat this way no problem. I also think that the "Set Thermostat Fan Mode" state needs to be set to auto in order for my particular heating unit to fire in the proper sequence. If it is set to on, then as soon as you toggle the heat button, the fan comes on, and heat eventually makes it way through.

This may very well be me drawing the short straw on the firmware version of the ZTS-500. By the way, mine came in a plain white box from Amazon. Is that how yours arrived as well?

Any more thoughts on this @JasonJoelOld ?

I am currently using the generic zwave thermostat driver out of necessity. Just wondering if you had time to think about this particular comment:

(Your driver): "Set Thermostat Mode" will NOT allow changes. If I set the mode to heat, it will not take the setting, which can be verified in the "Current States" display to the right of the commands window. If I change it to auto or cool, the mode stays the same, which is whatever I had it set to when I last had the generic zwave thermostat driver in place.

Still willing to work with your driver if you think there might be a solution ?

Nope, really. I am using my driver on 4 different ZTS-500 thermostats now, and it is working on all 4 - mode change, fan mode change, setpoint changes, SensorCal, etc. All working (and tested again this weekend).

Well, a couple thoughts/questions:

  1. Maybe you have a different thermostat firmware version (can check on the thermostat or by changing driver to basic zwave tool and getting version report).

  2. And you are sure that after switching to my driver you did both a CONFIGURE and REFRESH?

  3. Have you verified you are using the most current driver version? The one posted on my GitHub is current. It has been updated a few times in the last month.

  4. Have you double checked the config on your thermostat to make sure the base settings (stages/heat type, etc) are configured correctly?

  5. If you try my driver again, make sure you turn on debug logging and paste the entries here when it doesn't work.

I don't know what to tell you on this. On single stage systems for heat the thermostat simply energizes the W wire. Heater fan operation (small fan in your terms) and ignition is all handled at the air handler unit, not the thermostat.

There simply isn't any way I can think of that this can be caused at the thermostat side of things. Again, unless ignition is getting locked out at the air handler due to cycling it on/off too fast during testing.

Looked through the device driver options and do not see "basic zwave tool" anywhere in the list...
Am I missing something ? I'd rather not pull the thermostat off the wall to look for a firmware version...

To see version on the thermostat you go into the setup menu - no removing from the wall.

To do it with the basic Z-Wave tool, you have to download it from Hubitat GitHub and install it as a user driver first.

Ok, mine says Z.112

Taken from the setup menu on the thermostat

OK. All of mine are Z.112, U.118 (hit "-" again when on Z.112 to see the U value).

So did you try any of other other things I mentioned?

And one more question, is yours battery powered only, or does it have a "C" wire?

Yes, ok I am also on Z.112 U.118

Yes I did try everything you mentioned.

No, my unit does not even have batteries in it. It is 100% C-wire powered.

OK. So you tried installing the driver, hittiong REFRESH and CONFIGURE, waiting 30 minutes, then trying to turn on heat?

If you try the driver again, make sure debug logging is on and paste what it says when you try to press the "Heat" command button, or use the "Set Thermostat Mode" command button. There isn't much more I can do without that.

Other than seeing something in the logs, I'm out of ideas.

Also, if you try the driver again, copy and paste what you see on current states on the right AFTER hitting REFRESH and CONFIGURE. I'm especially interested in what is listed on supportedThermostatModes.

Mine looks like this:
Capture

Copy that.. I will have to do that in a bit. I have an event that starts at 7 my time and I have to prepare for it.

I will go through the motions again and report back.

Thanks a lot for the tips Jason....much appreciated sir.

After even more thought... What is your "FAN TYPE" set as in your thermostat? It is "Fan" in the setup screen, and will be "Gas" or "Ele".

If set to "Gas" it will not turn on the fan from the thermostat side of things when heat kicks on - it relies on the air handler to do it (which is typical). If set to "Electric" then the thermostat will turn on the fan wire ("G") when heating is turned on.

Not sure why that would do what you are seeing, but it peaked my curiosity while reading through the manual again.

Mine is set to "Gas", and as expected the thermostatFanState always shows "not running" (which is what the manual says should happen). A lot thermostats will always turn on the Fan when heat is on by default (Ecobee does that, and a few others), so maybe that is part of the issue, your air handler may want the "G" wire energized... Maybe not, but it is a thought.

An easy test would be to either:

  1. Turn the Fan ON from Hubitat (instead of AUTO) and then turn on Heat mode.
    or
  2. Change Fan type in the thermostat setup screen to "Ele" (assuming it is on "Gas" now) and then turn on heat.

@JasonJoel

What this exactly does? Thanks

You can bias the thermostat temperature for calibration purposes or just to adjust it. I used that to bias it to be equal to an external temperature, thus effectively controlling off of another temperature sensor.

1 Like

Thank you, so that means that -10 is one less degree?

By the way, I see the temp is 78.0, I suppose there is no calibration to get .5, more precise?

While degrees only. So -10 is 10 degrees less.

I don't think there's any way to do it in smaller increments.

Do you run your thermostat in Fahrenheit or Celsius mode? I never tested thoroughly in Celsius mode.