Z-wave Thermostat CT101

hi

i am not able to associate this CT101 thermostat - keeping getting the following error message. Any help would be greatly appreciated. It shows it has been successfully added but no node file is created- also in the end it states the node failed to initialize.

INFO 2017-07-13 23:17:06,341 : Inclusion_Manager : Node ‘33’: Z-Wave node has been successfully added to the Z-Wave network.

INFO 2017-07-13 23:17:06,351 : Controller : Z-Wave

node info (ID=33) : [[Device Classes :‘BASIC_TYPE_ROUTING_SLAVE’,’
GENERIC_TYPE_THERMOSTAT’,‘SPECIFIC_TYPE_THERMOSTAT_GENERAL_V2’],[Capabilities: ‘NODEINFO_CAPABILITY_ROUTING’],[Security :‘NODEINFO_SECURITY_FLIRS_WAKEUP_1000’,‘NODEINFO_SECURITY_OPTIONAL_FUNC_SUPPORT’]].

WARN 2017-07-13 23:17:10,021 : Node : Node ‘33’: Discarded [APP_CMD_HANDLER_FRAME : NodeID=‘33’,

Status=[RECEIVE_STATUS_TYPE_SINGLE],CommandClass=‘COMMAND_CLASS_NO_OPERATION’, Command=‘0x31’, Parameters:[0x05, 0x05, 0x01, 0x44]] because endpoint ‘2’ is out of valid range[1].

WARN 2017-07-13 23:17:10,023 : Node : Node ‘33’: Discarded [APP_CMD_HANDLER_FRAME : NodeID=‘33’,

Status=[RECEIVE_STATUS_TYPE_SINGLE],

CommandClass=‘COMMAND_CLASS_NO_OPERATION’, Command=‘0x31’, Parameters:[0x05, 0x05, 0x01, 0x44]] because ‘COMMAND_CLASS_NO_OPERATION’ hasnt been implemented yet or the node hasnt been initialized yet.

ERROR 2017-07-13 23:17:14,972 : Node_Initializer : Node’33:2’ : [COMMAND_CLASS_SENSOR_MULTILEVEL::SENSOR_MULTILEVEL_GET

(Retry=‘1’)] failed : ‘COMMAND_CLASS_REPORT_TIMEOUT_ERROR’

ERROR [pool-2-thread-1219]: Node_Initializer : Node ‘33:2’: [COMMAND_CLASS_SENSOR_MULTILEVEL::SENSOR_MULTILEVEL_GET (Retry=‘1’)]

failed : ‘COMMAND_CLASS_REPORT_TIMEOUT_ERROR’

WARN 2017-07-13 23:17:16,424 : Node : Node ‘33’: Discarded [APP_CMD_HANDLER_FRAME : NodeID=‘33’,

Status=[RECEIVE_STATUS_TYPE_SINGLE],

CommandClass=‘COMMAND_CLASS_NO_OPERATION’, Command=‘0x31’, Parameters:

[0x05, 0x05, 0x01, 0x44]] because endpoint ‘2’ is out of valid range

[1].

WARN 2017-07-13 23:17:16,425 : Node : Node ‘33’

: Discarded [APP_CMD_HANDLER_FRAME : NodeID=‘33’,

Status=[RECEIVE_STATUS_TYPE_SINGLE],

CommandClass=‘COMMAND_CLASS_NO_OPERATION’, Command=‘0x31’, Parameters:

[0x05, 0x05, 0x01, 0x44]] because ‘COMMAND_CLASS_NO_OPERATION’ hasnt

been implemented yet or the node hasnt been initialized yet.

ERROR 2017-07-13 23:17:21,240 : Node_Initializer : Node

‘33:2’ : [COMMAND_CLASS_SENSOR_MULTILEVEL::SENSOR_MULTILEVEL_GET

(Retry=‘2’)] failed : ‘COMMAND_CLASS_REPORT_TIMEOUT_ERROR’

ERROR [pool-2-thread-1218]: Node_Initializer : Node ‘33:2’

: [COMMAND_CLASS_SENSOR_MULTILEVEL::SENSOR_MULTILEVEL_GET (Retry=‘2’)]

failed : ‘COMMAND_CLASS_REPORT_TIMEOUT_ERROR’

WARN 2017-07-13 23:17:22,662 : Node : Node ‘33’

: Discarded [APP_CMD_HANDLER_FRAME : NodeID=‘33’,

Status=[RECEIVE_STATUS_TYPE_SINGLE],

CommandClass=‘COMMAND_CLASS_NO_OPERATION’, Command=‘0x31’, Parameters:

[0x05, 0x05, 0x01, 0x46]] because endpoint ‘2’ is out of valid range

[1].

WARN 2017-07-13 23:17:22,664 : Node : Node ‘33’

: Discarded [APP_CMD_HANDLER_FRAME : NodeID=‘33’,

Status=[RECEIVE_STATUS_TYPE_SINGLE],

CommandClass=‘COMMAND_CLASS_NO_OPERATION’, Command=‘0x31’, Parameters:

[0x05, 0x05, 0x01, 0x46]] because ‘COMMAND_CLASS_NO_OPERATION’ hasnt

been implemented yet or the node hasnt been initialized yet.

ERROR 2017-07-13 23:17:27,492 : Node_Initializer : Node

‘33:2’ : [COMMAND_CLASS_SENSOR_MULTILEVEL::SENSOR_MULTILEVEL_GET

(Retry=‘3’)] failed : ‘COMMAND_CLASS_REPORT_TIMEOUT_ERROR’

ERROR [pool-2-thread-1219]: Node_Initializer : Node ‘33:2’

: [COMMAND_CLASS_SENSOR_MULTILEVEL::SENSOR_MULTILEVEL_GET (Retry=‘3’)]

failed : ‘COMMAND_CLASS_REPORT_TIMEOUT_ERROR’

WARN 2017-07-13 23:17:28,851 : Node : Node ‘33’

: Discarded [APP_CMD_HANDLER_FRAME : NodeID=‘33’,

Status=[RECEIVE_STATUS_TYPE_SINGLE],

CommandClass=‘COMMAND_CLASS_NO_OPERATION’, Command=‘0x31’, Parameters:

[0x05, 0x05, 0x01, 0x46]] because endpoint ‘2’ is out of valid range

[1].

WARN 2017-07-13 23:17:28,852 : Node : Node ‘33’

: Discarded [APP_CMD_HANDLER_FRAME : NodeID=‘33’,

Status=[RECEIVE_STATUS_TYPE_SINGLE],

CommandClass=‘COMMAND_CLASS_NO_OPERATION’, Command=‘0x31’, Parameters:

[0x05, 0x05, 0x01, 0x46]] because ‘COMMAND_CLASS_NO_OPERATION’ hasnt

been implemented yet or the node hasnt been initialized yet.

ERROR 2017-07-13 23:17:33,788 : Node_Initializer : Node

‘33:2’ : [COMMAND_CLASS_SENSOR_MULTILEVEL::SENSOR_MULTILEVEL_GET

(Retry=‘4’)] failed : ‘COMMAND_CLASS_REPORT_TIMEOUT_ERROR’

ERROR [pool-2-thread-1219]: Node_Initializer : Node ‘33:2’

: [COMMAND_CLASS_SENSOR_MULTILEVEL::SENSOR_MULTILEVEL_GET (Retry=‘4’)]

failed : ‘COMMAND_CLASS_REPORT_TIMEOUT_ERROR’

ERROR 2017-07-13 23:17:33,790 : Node : Node33’ : Failed to initialize node.

ERROR [pool-2-thread-1217]: Node : Node ‘33’ :Failed to initialize node.

Looks like the CT-100 model has been tested and certified. CT 101 as per description is just a slightly improved version and probably using a updated version of Z-wave firmware. Any inputs on getting this CT-101 would be greatly appreciated.

Thanks

We have tested the Z-Wave implementation only with the CT100 so far. I don’t think that the CT101 is completely different. There seems to be a problem when the sensor value of the second sensor is requested (endpoint 2) - the device doesn’t reply - don’t know why.

Please exclude the device from the Z-Wave network and include it again and send me the complete Z-Wave log to rainer ät openremote.org.

Thanks Rainer emailed you the node file.

I found the root cause of the error. There is a bug in the firmware of the CT101 related to multi instance encapsulation. When a COMMAND_CLASS_MULTI_CHANNEL::MULTI_CHANNEL_CMD_ENCAP command (GET) is sent to the device it responds with a COMMAND_CLASS_MULTI_CHANNEL::MULTI_INSTANCE_CMD_ENCAP command (REPORT). The device should respond with the same encapsulation in this case MULTI_CHANNEL_CMD_ENCAP. It is even worse because the device uses the MULTI_INSTANCE_CMD_ENCAP command identifier within a MULTI_CHANNEL_CMD_ENCAP command structure. The CT100 behaves as expected.

Currently I don’t know how to deal with this error behavior. I’m not willing to create a special case in the code for this device. I think I’ll adjust the interview procedure so that an error like this should not prevent adding devices. This would mean that the CT101 can be included but the temperature and humidity sensors are not working.

I’ll let you know when a new version is available that fixes this issue.

Thanks Rainer! I think the company is phasing out CT 100 with these CT 101; at least in the US. I couldn't find any vendor selling CT 100 at a reasonable price while the CT101 is readily available for less then $50.

I think the CT 101 is designed to work out of the box with the Iris system which's gaining a lot of popularity in US. I asked their support team before buying whether this was intended to work only with Iris and they told me it should work with any z-wave compliant system.

https://www.irisbylowes.com

https://support.irisbylowes.com/link/portal/30143/30206/Article/621/RTCOA-Thermostat-with-Next-Gen

I will connect with the manufacturer and give them the feed back you provided for the CT101 and let you know what they say.

Just wanted to add that I have not actually hooked this up to the wiring on the HVAC /Heater. Just plugged in the batteries and wanted to see if it will connect to the zwave network. Not sure if wiring it up would actually make any difference on the zwave portion.

The device was never hooked up during the tests of the CT100. Therefore I think it doesn’t matter.

The manufacturer responded back to me regarding this stating that the CT-100 and CT-101 should have the same Z-wave firmware.
CT100 plus has a different version of firmware .

Hi Rainer,

Just checking to see if you had a chance to look in to this?

Thanks!

FYI : others have also discovered the same behavior of the CT101 (see Z-Wave Public Forum CT100 and Issue #52).

As an intermediate solution you could try to copy the attached CT100 nodeX.xml file to the zwave directory and do the following :

1.) Include CT101 to the Z-Wave network

2.) Copy the attached nodeX.xml file to the zwave directory

3.) Replace the nodeID part of the nodeX.xml file name with the Z-Wave node ID of the CT101

4.) Restart the controller

5.) Configure commands in the OpenRemote online Designer (commands see : CT30 commands)

Note that the CT30 supports only the OFF, HEAT and COOL modes. I think that the CT101 also supports the AUTO mode.

node6.xml (5.21 KB)

Thanks Rainer. I will try this out.

Will it support the temperature and humidity reads?

Just a quick update- the work around you suggested worked and I am able to get most of the the basic functions to work so far. Only a couple of anamolies I see are that
A) Not able to read the status with the with
STATUS_THERMOSTAT_MODE_OFF
STATUS_THERMOSTAT_MODE_HEAT

it reports the status back for
STATUS_THERMOSTAT_MODE_COOL

B) STATUS_THERMOSTAT_MODE is not reporting back (shows N/A) where as the status for the thermostat operating mode, fan state and fan operating mode seems to be reporting back values (I am using custom sensor for these status commands- not sure if that is the right sensor to use)

I’ve created a STATUS_THERMOSTAT_MODE command and associated it with a custom sensor that has no states and linked the sensor with a label on the GUI.

When I press the MODE button several times on the CT100 I see the following in the log :

DEBUG 2017-07-26 07:35:39,752 : CCThermostatMode : Node ‘6:0’ : [COMMAND_CLASS_THERMOSTAT_MODE::THERMOSTAT_MODE_REPORT, Mode=‘THERMOSTAT_MODE_OFF’].

DEBUG 2017-07-26 07:36:22,821 : CCThermostatMode : Node ‘6:0’ : [COMMAND_CLASS_THERMOSTAT_MODE::THERMOSTAT_MODE_REPORT, Mode=‘THERMOSTAT_MODE_HEAT’].

DEBUG 2017-07-26 07:36:47,808 : CCThermostatMode : Node ‘6:0’ : [COMMAND_CLASS_THERMOSTAT_MODE::THERMOSTAT_MODE_REPORT, Mode=‘THERMOSTAT_MODE_OFF’].

DEBUG 2017-07-26 07:37:12,836 : CCThermostatMode : Node ‘6:0’ : [COMMAND_CLASS_THERMOSTAT_MODE::THERMOSTAT_MODE_REPORT, Mode=‘THERMOSTAT_MODE_COOL’].

DEBUG 2017-07-26 07:38:03,812 : CCThermostatMode : Node ‘6:0’ : [COMMAND_CLASS_THERMOSTAT_MODE::THERMOSTAT_MODE_REPORT, Mode=‘THERMOSTAT_MODE_OFF’].

DEBUG 2017-07-26 07:38:31,786 : CCThermostatMode : Node ‘6:0’ : [COMMAND_CLASS_THERMOSTAT_MODE::THERMOSTAT_MODE_REPORT, Mode=‘THERMOSTAT_MODE_AUTO’].

DEBUG 2017-07-26 07:38:54,233 : CCThermostatMode : Node ‘6:0’ : [COMMAND_CLASS_THERMOSTAT_MODE::THERMOSTAT_MODE_REPORT, Mode=‘THERMOSTAT_MODE_OFF’].

DEBUG 2017-07-26 07:39:15,346 : CCThermostatMode : Node ‘6:0’ : [COMMAND_CLASS_THERMOSTAT_MODE::THERMOSTAT_MODE_REPORT, Mode=‘THERMOSTAT_MODE_HEAT’].

As a result I see the following custom sensor states in succession on the GUI :

THERMOSTAT_MODE_OFF

THERMOSTAT_MODE_HEAT

THERMOSTAT_MODE_OFF

THERMOSTAT_MODE_COOL

THERMOSTAT_MODE_OFF

THERMOSTAT_MODE_AUTO

THERMOSTAT_MODE_OFF

THERMOSTAT_MODE_HEAT

After reading the CT101 manual I think it behaves a bit different in comparison to the CT100. I’ld expect the following :

THERMOSTAT_MODE_OFF

THERMOSTAT_MODE_HEAT

THERMOSTAT_MODE_COOL

THERMOSTAT_MODE_AUTO

THERMOSTAT_MODE_OFF

What do you see in the log and on the GUI when you press the MODE button of your CT101 ?

Hi Rainer,

i have attached a log file with just entries from node 39 (thermostat) while i was circling through the mode button on the Thermostat. The sequence is OFF, COOL, OFF, AUTO,OFF, HEAT, OFF

i see the values for Thermostat Operating state, Fan state, Fan operating state change on UI with change in mode but the Thermostat Mode still stays at N/A

i also noticed in the log that it was sending temperature values as Node 39 (and not node 39:1) so I changed it in the command for temperature and now i am able to read the temperature value.

I tried to read Humidity at with Node 39 and 39:2 but no luck.

Also as i mentioned in the previous post, it read the status with STATUS_THERMOSTAT_MODE_COOL but NOT with STATUS_THERMOSTAT_MODE_HEAT and STATUS_THERMOSTAT_MODE_OFF.

I am able to set the mode through the UI and set the target temperature for both HEAT and COOL through sliders and read the values of the target temperatures.

Thanks for all your help!

Node 39 log (20.1 KB)

The log looks good. In the following post you’ll find instructions for configuring the thermostat commands : CT-30 command configuration.
That means you should add the STATUS_THERMOSTAT_MODE_COOL, STATUS_THERMOSTAT_MODE_HEAT, STATUS_THERMOSTAT_MODE_OFF, STATUS_THERMOSTAT_MODE_AUTO commands and the related switch sensors.

Thanks Rainer. Most of the commands are working now except the humidity is not reporting back. I suspect it has something to do with end points. Any suggestions on how to get that to work?

I’ve found the attached ‘Radio Thermostat Company of America’ document of a Z-Wave plug in module. It’s not the CT101 documentation but I think the 'Association group‘ section in this document also describes how the CT101 works in regard to association configuration.

It seems that if you want to receive humidity values the user has to configure an association in the second endpoint.

Currently with OpenRemote it’s only possible to configure associations in the root device. Unfortunately this means that currently it’s not possible to receive the humidity value.

Configuring associations in endpoints for sub devices (temperature sensor, humidity sensor) will be the preferred way in the future but I’ve never seen a Z-Wave controller that supports this feature in the GUI in a generic way so far.

RTZW-02_module_IB_11jun15_web.pdf (353 KB)

Thanks Rainer. If you decide to implement this in the future let me know. I will be happy to test it out.