Z-wave Thermostat CT101

Hi

Can I use this command to specify a setpoint for temperature to a specific value instead of using it with a dimmer?

Example
SET_SETPOINT_TYPE_HEATING_SCALE_FAHRENHEIT 75

Yes the command ‘SET_SETPOINT_TYPE_HEATING_SCALE_FAHRENHEIT 75’ should work.

Hi Rainer,

i just noticed that the temperature does not auto update with the command AIR_TEMPERATURE_SCALE_FAHRENHEIT and its associated sensor.

I have a button tied to this command as well and when i press it it does update the sensor value.

do i have to set up a rule to poll it every so often is it supposed to send updates when the actual tempertaure changes. I do see it change in the LCD panel on the thermostat istself, just not on the Openremote app? this is for CT101.

I’ve tested it with my CT100 and it updates the temperature automatically. I’ve created the command AIR_TEMPERATURE_SCALE_FAHRENHEIT and linked it with a range sensor. Do you see something like the following in the log when the temperature changes ?

DEBUG 2019-04-14 20:09:13,829 : CCMultiLevelSensor : Node ‘6:0’ : [COMMAND_CLASS_SENSOR_MULTILEVEL_V2::SENSOR_MULTILEVEL_REPORT, Value=‘70’, Type=‘AIR_TEMPERATURE’, Scale=‘AIR_TEMPERATURE_SCALE_FAHRENHEIT’]

``

Hi Rainer,

sorry for the delay in responding. I do not see anything in the log when the temperature on the display changes on the Thermostat CT-101. However, when i press the button i have created linked to AIR_TEMPERATURE_SCALE_FAHRENHEIT, it does respond back with the response and updates the temperature on Openremote panel on the app. I have included the relevant lines from the log below.

Does it matter if the thermostat is operating on battery only vs. connected to the C wire i.e. externally powered and Z-wave radio always on? I do not have the C-wire connected to the thermostat and it is operating only on batteries.

what i have noticed is it does not update any status automatically- ie. if i turn on Heat or change mode using thermostat buttons, it does not update on the panel on the app.

DEBUG 2019-11-16 20:35:51,762 (Z-Wave): Command_Builder : Building Z-Wave command

DEBUG 2019-11-16 20:35:51,763 (Z-Wave): Command_Builder : Z-Wave command: nodeId = ‘39’, endPoint = ‘0’

DEBUG 2019-11-16 20:35:51,763 (Z-Wave): Command_Builder : Z-Wave command: command = AIR_TEMPERATURE_SCALE_FAHRENHEIT

DEBUG 2019-11-16 20:35:51,763 (Z-Wave): Command_Builder : Z-Wave command: paramValue = null

DEBUG 2019-11-16 20:35:51,763 (Z-Wave): Command_Builder : Z-Wave command created successfully

DEBUG 2019-11-16 20:35:51,763 (Z-Wave): CCMultiLevelSensor : Node ‘39:0’ : [COMMAND_CLASS_SENSOR_MULTILEVEL::SENSOR_MULTILEVEL_GET]

DEBUG 2019-11-16 20:35:51,770 (Z-Wave): Controller_API : Dequeue (WORKING-Queue, Count=0) Z-Wave function call ‘ZW_SendData(NodeID=39, Payload=[0x31, 0x04], TxOptions=[TRANSMIT_OPTION_AUTO_ROUTE, TRANSMIT_EXPLORE_OPTION_ACK], CallbackID=0x00)’.

DEBUG 2019-11-16 20:35:51,770 (Z-Wave): Controller_API : Enqueue (WORKING-Queue, Count=1) Z-Wave function call ‘ZW_SendData(NodeID=39, Payload=[0x31, 0x04], TxOptions=[TRANSMIT_OPTION_AUTO_ROUTE, TRANSMIT_EXPLORE_OPTION_ACK], CallbackID=0x00)’.

DEBUG 2019-11-16 20:35:51,771 (Z-Wave): TX_Session_Layer : Executing Z-Wave function call ‘ZW_SendData(NodeID=39, Payload=[0x31, 0x04], TxOptions=[TRANSMIT_OPTION_AUTO_ROUTE, TRANSMIT_EXPLORE_OPTION_ACK], CallbackID=0x00)’…

DEBUG 2019-11-16 20:35:51,771 (Z-Wave): TX_Session_Layer : Send (repeat count=1) Z-Wave function ‘ZW_SendData(NodeID=39, Payload=[0x31, 0x04], TxOptions=[TRANSMIT_OPTION_AUTO_ROUTE, TRANSMIT_EXPLORE_OPTION_ACK], CallbackID=0x0A)’ request (callback ID=0x0A).

DEBUG 2019-11-16 20:35:51,772 (Z-Wave): TX_Frame_Layer : Send data frame [0x01, 0x09, 0x00, 0x13, 0x27, 0x02, 0x31, 0x04, 0x05, 0x0A, 0xFA].

DEBUG 2019-11-16 20:35:51,773 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x01]

DEBUG 2019-11-16 20:35:51,773 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x09]

DEBUG 2019-11-16 20:35:51,773 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x00]

DEBUG 2019-11-16 20:35:51,777 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x13]

DEBUG 2019-11-16 20:35:51,778 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x27]

DEBUG 2019-11-16 20:35:51,778 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x02]

DEBUG 2019-11-16 20:35:51,778 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x31]

DEBUG 2019-11-16 20:35:51,779 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x04]

DEBUG 2019-11-16 20:35:51,779 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x05]

DEBUG 2019-11-16 20:35:51,779 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x0A]

DEBUG 2019-11-16 20:35:51,779 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0xFA]

DEBUG 2019-11-16 20:35:51,781 (Z-Wave): RX_Serial_Port_RXTX : Data bytes read : [0x06]

DEBUG 2019-11-16 20:35:51,782 (Z-Wave): RX_Frame_Layer : ACK -> Data frame [0x01, 0x09, 0x00, 0x13, 0x27, 0x02, 0x31, 0x04, 0x05, 0x0A, 0xFA] transmission OK.

DEBUG 2019-11-16 20:35:51,782 (Z-Wave): RX_Session_Layer : ACK -> Z-Wave function ‘ZW_SendData(NodeID=39, Payload=[0x31, 0x04], TxOptions=[TRANSMIT_OPTION_AUTO_ROUTE, TRANSMIT_EXPLORE_OPTION_ACK], CallbackID=0x0A)’ has been successfully sent - waiting 5,000 [ms] for response frame.

DEBUG 2019-11-16 20:35:51,786 (Z-Wave): RX_Serial_Port_RXTX : Data bytes read : [0x01]

DEBUG 2019-11-16 20:35:51,787 (Z-Wave): RX_Serial_Port_RXTX : Data bytes read : [0x04, 0x01, 0x13, 0x01, 0xE8]

DEBUG 2019-11-16 20:35:51,787 (Z-Wave): RX_Frame_Layer : Data frame [0x01, 0x04, 0x01, 0x13, 0x01, 0xE8] has been received.

DEBUG 2019-11-16 20:35:51,788 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x06]

DEBUG 2019-11-16 20:35:51,788 (Z-Wave): RX_Session_Layer : ‘ZW_SendData’ response [0x01, 0x04, 0x01, 0x13, 0x01, 0xE8] with status ‘RETURN_VALUE_TRUE’ received (callback ID=0x0A).

DEBUG 2019-11-16 20:35:51,788 (Z-Wave): RX_Session_Layer : Waiting 64,983 [ms] for ‘ZW_SendData’ callback frame (callback ID=0x0A).

DEBUG 2019-11-16 20:35:53,093 (Z-Wave): RX_Serial_Port_RXTX : Data bytes read : [0x01]

DEBUG 2019-11-16 20:35:53,094 (Z-Wave): RX_Serial_Port_RXTX : Data bytes read : [0x07, 0x00, 0x13, 0x0A, 0x00, 0x00, 0x84, 0x65]

DEBUG 2019-11-16 20:35:53,095 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x06]

DEBUG 2019-11-16 20:35:53,095 (Z-Wave): RX_Frame_Layer : Data frame [0x01, 0x07, 0x00, 0x13, 0x0A, 0x00, 0x00, 0x84, 0x65] has been received.

DEBUG 2019-11-16 20:35:53,097 (Z-Wave): RX_Session_Layer : Callback [0x01, 0x07, 0x00, 0x13, 0x0A, 0x00, 0x00, 0x84, 0x65] (callback ID=0x0A) with state ‘TRANSMIT_COMPLETE_OK’ received -> Z-Wave function ‘ZW_SendData(NodeID=39, Payload=[0x31, 0x04], TxOptions=[TRANSMIT_OPTION_AUTO_ROUTE, TRANSMIT_EXPLORE_OPTION_ACK], CallbackID=0x0A)’ successfully executed.

DEBUG 2019-11-16 20:35:53,100 (Z-Wave): CCMultiLevelSensor : Node ‘39:0’ : [COMMAND_CLASS_SENSOR_MULTILEVEL::SENSOR_MULTILEVEL_GET] succeeded.

DEBUG 2019-11-16 20:35:53,179 (Z-Wave): RX_Serial_Port_RXTX : Data bytes read : [0x01]

DEBUG 2019-11-16 20:35:53,181 (Z-Wave): RX_Serial_Port_RXTX : Data bytes read : [0x0C, 0x00, 0x04, 0x00, 0x27, 0x06, 0x31, 0x05, 0x01, 0x2A, 0x02, 0xE4, 0x2F]

DEBUG 2019-11-16 20:35:53,182 (Z-Wave): TX_Serial_Port_RXTX : Data byte sent : [0x06]

DEBUG 2019-11-16 20:35:53,183 (Z-Wave): RX_Frame_Layer : Data frame [0x01, 0x0C, 0x00, 0x04, 0x00, 0x27, 0x06, 0x31, 0x05, 0x01, 0x2A, 0x02, 0xE4, 0x2F] has been received.

DEBUG 2019-11-16 20:35:53,184 (Z-Wave): RX_Session_Layer : Node ‘39’ : [APP_CMD_HANDLER_FRAME : NodeID=‘39’, Status=[RECEIVE_STATUS_TYPE_SINGLE], CommandClass=‘COMMAND_CLASS_SENSOR_MULTILEVEL’, Command=‘0x05’, Parameters: [0x01, 0x2A, 0x02, 0xE4]]

DEBUG 2019-11-16 20:35:53,186 (Z-Wave): CCMultiLevelSensor : Node ‘39:0’ : [COMMAND_CLASS_SENSOR_MULTILEVEL::SENSOR_MULTILEVEL_REPORT, Value=‘74’, Type=‘AIR_TEMPERATURE’, Scale=‘AIR_TEMPERATURE_SCALE_FAHRENHEIT’].

It seems that the association from the device to the controller hasn’t been configured which makes sense to me because of the nodeX.xml file that I’ve sent to you in the past (CT100). When the controller starts it checks the hash code in the section of the nodeX.xml file in order to detect if the configuration has changed. In this case the controller assumes that nothing has changed and as a result doesn’t configure the association.

With the following hack you can force device configuration manually

  1. Open the nodeX.xml file in an editor

  2. Modifiy the hash code parameter of the section slightly:

hash code before change:

``

hash code after change (replaced the last hex number 0 with F):

``

  1. Restart the controller

Hi Rainer

After the controller restarts, it is actually changing the last digit back to 0 from F and rewriting the configuration hash back to original value.

So this does not seem to work.

I meant back to 0 from F

Actually not sure how but the values are getting updated now in the openremote app including the setpoints,temp and mode

Thanks again!