Recommended Functioning Thermostats

I have been using a Radio Thermostat CT-100+ for a few months, and have decided to scrap it due to the fact that it refuses to consistently issue the ModeState when it changes from HEAT to IDLE or COOL to IDLE. I installed it so that I could program VeraPlus to activate my ceiling fans to ON/OFF when the HVAC was actively heating or cooling, and turn them off then the HVAC state was IDLE. I have verified via the log that the ModeState is not getting sent every time there is a state change. I have contacted RadioThermostat and their reply was:
"Hi,

We do not offer z-wave programming support. But I do know it only sends certain data only when requested or on a schedule.

Sorry can’t be of more help,

Thanks,

Rene"
Not much help there!
So, I am interested if any of the users on this boaard have experience with alternate z-wave thermostats that actually DO consistently broadcast their ModeState changes. Thanks in advance for any guidance in this.

Mine seems to hit the idle state all the time. I use this code

require('ltn12')
  
  
 local function devname (id)
  return luup.devices[id].description
end  
  
 local name = devname(6) 
  
  
  
  local http = require('socket.http')
 
  -- 5 Second timeout
  socket.http.TIMEOUT = 5
 
  local response_body = {}
  local request_body = ''
 
  local r, c, h = socket.http.request{
  url = 'http://192.168.1.25/recording.php?token=6&extra=0&name=' .. string.gsub(name, "([^%w])", function (c) return string.format ("%%%02X", string.byte(c)) end),
    method = "GET",
    port = 80,
    headers = {
      ["Content-Length"] = string.len(request_body),
      ["Content-Type"] = "application/x-www-form-urlencoded"
    },
    source = ltn12.source.string(request_body),
    sink = ltn12.sink.table(response_body)
  }

To log to my webserver. i did just order a GC-TBZ48. Will be here in a few days.

I was just using the Scene builder in VeraPlus, using the trigger “CT-100+ is Idle” to set the ceiling fan state to OFF. So your code above is writing the thermostate ModeState to a web server at your local address (192.168.1.25)? I suppose if the code that obtains the ModeState via a request is solid, then I could accomplish the fan ON/OFF via luup rather than build a scene, correct?

My code calls a script when the AC hits idle mode. That script records to the database. My code gets executed in a scene.

Have you reset the thermostat? Have you tried catching “When active” instead of idle?
Seems real weird to be hit and miss. I would expect one or the other.

Tracked via the luaupnplog following one cycle of IDLE to HEAT then HEAT to IDEL.

CT-100+ ModeState Issue

Heater turned on:
06 12/06/20 9:41:12.999 Device_Variable::m_szValue_set device: 189 service: urn:micasaverde-com:serviceId:HVAC_OperatingState1 variable: ModeState was: Heating now: Idle #hooks: 3 upnp: 0 skip: 0 v:0xfa17a8/NONE duplicate:0 <0x76b26520>

Heater turned off:
06 12/06/20 10:01:13.121 Device_Variable::m_szValue_set device: 189 service: urn:micasaverde-com:serviceId:HVAC_OperatingState1 variable: ModeState was: Idle now: Heating #hooks: 3 upnp: 0 skip: 0 v:0xfa17a8/NONE duplicate:0 <0x76b26520>

Don’t know if the VeraPlus is not interpertating the data correctly or if the CT-100+ is sending the incorrect data. Either way, if Vera thinks HEAT is OFF when it is actually ON, and HEAT is ON when it is actually OFF, that does not bode well for controlling fans via this thermostat ModeState. I will be interested in your results with the GoControl.

Thermostat came in this morning. I have to swap a vanity in the bathroom and replace the valves. rolleyes Hopefully get to the thermostat today. I’ll post back when I get it hooked up.

The new one installed easier than the vanity did. :joy: It’s recording events again on my raspi stored database.

If yours isn’t triggering the events than I guess replace it. My ct100 shit the bed last week hence the replacement. It was 4 years old. I’ve inspected the board but can see no point of failure.

Thank you much for the update. Is the GoControl writing the ModeState changes to the luaupnplog every time there is a state change? That would seem to be the key to getting it to work as a trigger for a scene.

I see.

5:31.107	Device_Variable::m_szValue_set device: 538 service: urn:micasaverde-com:serviceId:HVAC_OperatingState1 variable: ModeState was: PendingHeat now: Idle #hooks: 2 upnp: 0 skip: 0 v:0xcc8e60/NONE duplicate:0 <0x777a2520>

I have two scenes running. One in “Thermostat idle” which is where I consider the thermostat to have shut off and the other in “Thermostat is actively heating” where I record the status as being on.

The only thing I see that is different is that there is no humidity sensor. Which kind of sucks.

Back in 2017 when I was choosing a zWave thermostat model I went with the CT32 instead of the CT100. I can’t recall why, but there was something about the CT100 that made me steer clear of them. The CT32s (4 of them, all Revision B) have been performing well for nearly 4 years now, I don’t recall any disconnect in “state” when using the device controls vs. the Vera, I’m pretty sure the proper state is always reflected on both the device and the Vera.

The confusing thing about the original post is why one would want the ceiling fan not to be running all the time. (up in heating season, down in cooling season). The fan would reduce energy usage by the heating/cooling system. BTW I use an XL624 (Trane) without issues. I also do not have it on Automatic. It is either heating season or it is heating season (or neither (i.e. Off))