HONEYWELL T6 Pro Thermostat - Z-Wave Model - TH6320ZW2003

Posted on
Mon Mar 27, 2023 9:06 pm
HEGarrard offline
Posts: 40
Joined: Sep 09, 2014

HONEYWELL T6 Pro Thermostat - Z-Wave Model - TH6320ZW2003

I am replacing an existing Honeywell thermostat with a z-wave Honeywell T6 Pro thermostat.

My HVAC system is a HEAT PUMP with a backup gas furnace. On the existing thermostat, I can switch between the modes OFF - AUTO-COOL - HEAT - AUX HEAT. In HEAT mode - the HEAT PUMP is used for heating the house; in instances when the temperature outside is so low that the HEAT PUMP cannot "heat" the house, the gas furnace will come on and supplement.

I can switch to AUX-HEAT and the HEAT PUMP will shutdown and the gas furnace will supply the heat.

I successfully added the Thermostat to my z-wave network. The new z-wave thermostat can switch between the four modes OFF-COOL-HEAT-AUX HEAT.

In INDIGO I can use the DEVICE ACTIONS - THERMOSTAT CONTROLS - CYCLE THROUGH THERMOSTAT MODES to change the mode of the Thermostat. However, I can only cycle through OFF-COOL-HEAT ... I cannot switch to AUX HEAT.

The DEVICE has CUSTOM STATES ... zwaveHvacOperationModeID and zwaveHvacOperationModeName , If I manually change the modes on the thermostat, I can see that the CUSTOM STATES will cycle through all of the modes OFF-AUTO-COOL-HEAT-AUX HEAT.

My Question ...

Is it possible to use PYTHON SCRIPTING to change the thermostat mode to AUX HEAT?
Is there a way of including the AUX HEAT mode from a built-in Indigo function?

From the device details the modes shown are:

hvacOperationMode : 0 (integer)
hvacOperationMode.ui : all off (string)
hvacOperationModeIsAuto : false (bool)
hvacOperationModeIsCool : false (bool)
hvacOperationModeIsHeat : false (bool)
hvacOperationModeIsOff : true (bool)
hvacOperationModeIsProgramAuto : false (bool)
hvacOperationModeIsProgramCool : false (bool)
hvacOperationModeIsProgramHeat : false (bool)

Is there a way of modifying the Properties to include AUX HEAT - for example ....

hvacOperationModeIsAuxHeat :
hvacOperationModeIsProgramAuxHeat:

The CUSTOM STATES show the following when manually changing the modes on the Thermostat.
ID 0 - OFF
ID 1 - HEAT
ID 2 - COOL
ID 3 - AUTO
ID 4 - AUX HEAT





Here are the Device Details ....

Mar 27, 2023 at 9:46:00 PM
Script address : 182
batteryLevel : 95
buttonGroupCount : 0
configured : True
coolIsOn : False
coolSetpoint : 72.0
dehumidifierIsOn : False
description :
deviceTypeId : zwThermostatType
displayStateId : temperatureInputsAll
displayStateImageSel : HvacOff
displayStateValRaw : 67
displayStateValUi : 67
enabled : True
energyAccumBaseTime : None
energyAccumTimeDelta : None
energyAccumTotal : None
energyCurLevel : None
errorState :
fanIsOn : False
fanMode : Auto
folderId : 268548652
globalProps : MetaProps : (dict)
com.perceptiveautomation.indigoplugin.zwave : (dict)
NumHumidityInputs : 1 (integer)
ShowCoolHeatEquipmentStateUI : true (bool)
SupportsBatteryLevel : true (bool)
TempUnits : 2 (integer)
address : 182 (integer)
indigoObjVersion : 10 (integer)
userEnergyPollingEnabled : false (bool)
userPollInterval : 0 (integer)
userPollingEnabled : false (bool)
userWakeInterval : 60 (integer)
version : 1.03 (string)
zwAppVersMajor : 1 (integer)
zwAppVersMinor : 3 (integer)
zwAssociationsMap : (dict)
g1 : (list)
Item : 1 (integer)
zwAssociationsMapStr : 1:[1] (string)
zwClassCmdBase : 64 (integer)
zwClassCmdMap : (dict)
c108 : 1 (integer)
c112 : 1 (integer)
c113 : 1 (integer)
c114 : 1 (integer)
c115 : 1 (integer)
c128 : 1 (integer)
c129 : 1 (integer)
c133 : 1 (integer)
c134 : 1 (integer)
c159 : 1 (integer)
c32 : 1 (integer)
c49 : 5 (integer)
c64 : 1 (integer)
c66 : 1 (integer)
c67 : 1 (integer)
c68 : 1 (integer)
c69 : 1 (integer)
c85 : 1 (integer)
c89 : 1 (integer)
c90 : 1 (integer)
c94 : 1 (integer)
zwClassCmdMapStr : 20v1 40v1 43v1 72v1 86v1 5Ev1 85v1 59v1 31v5 80v1 81v1 70v1 5Av1 71v1 73v1 9Fv1 44v1 45v1 42v1 6Cv1 55v1 (string)
zwClassIds : (list)
Item : 4 (integer)
Item : 8 (integer)
Item : 6 (integer)
zwClassInstanceCountMap : (dict)
zwClassInstanceCountMapStr : - none - (string)
zwClassName : General Thermostat (v2) (string)
zwConfigVals : (dict)
zwConfigValsStr : - none - (string)
zwDevSubIndex : 0 (integer)
zwEncryptClassCmdMap : (dict)
zwEncryptClassCmdMapStr : - none - (string)
zwEncryptionStatusStr : Not Supported (string)
zwEndpointClassMap : (dict)
zwEndpointClassMapStr : - none - (string)
zwEndpointDevTypeMap : (dict)
zwEndpointDevTypeMapStr : - none - (string)
zwFeatureListStr : routing, battery, beaming, frequentWaking (string)
zwLibType : 6 (integer)
zwManufactureId : 57 (integer)
zwManufactureName : Honeywell (string)
zwModelDefnVers : 1 (integer)
zwModelId : 1114120 (integer)
zwModelName : Thermostat (TH6320ZW2003) (string)
zwNodeNeighbors : (list)
Item : 1 (integer)
Item : 3 (integer)
Item : 7 (integer)
Item : 8 (integer)
Item : 9 (integer)
Item : 19 (integer)
Item : 23 (integer)
Item : 24 (integer)
Item : 27 (integer)
Item : 28 (integer)
Item : 29 (integer)
Item : 33 (integer)
Item : 37 (integer)
Item : 38 (integer)
Item : 39 (integer)
Item : 40 (integer)
Item : 42 (integer)
Item : 44 (integer)
Item : 45 (integer)
Item : 46 (integer)
Item : 48 (integer)
Item : 50 (integer)
Item : 52 (integer)
Item : 54 (integer)
Item : 55 (integer)
Item : 59 (integer)
Item : 63 (integer)
Item : 65 (integer)
Item : 66 (integer)
Item : 67 (integer)
Item : 68 (integer)
Item : 69 (integer)
Item : 76 (integer)
Item : 79 (integer)
Item : 80 (integer)
Item : 86 (integer)
Item : 87 (integer)
Item : 89 (integer)
Item : 90 (integer)
Item : 91 (integer)
Item : 94 (integer)
Item : 103 (integer)
Item : 109 (integer)
Item : 118 (integer)
Item : 119 (integer)
Item : 120 (integer)
Item : 121 (integer)
Item : 122 (integer)
Item : 125 (integer)
Item : 132 (integer)
Item : 140 (integer)
Item : 154 (integer)
Item : 155 (integer)
Item : 157 (integer)
Item : 159 (integer)
Item : 163 (integer)
Item : 165 (integer)
Item : 169 (integer)
Item : 170 (integer)
Item : 171 (integer)
Item : 172 (integer)
Item : 173 (integer)
Item : 174 (integer)
Item : 175 (integer)
Item : 176 (integer)
Item : 178 (integer)
zwNodeNeighborsStr : 1, 3, 7, 8, 9, 19, 23, 24, 27, 28, 29, 33, 37, 38, 39, 40, 42, 44, 45, 46, 48, 50, 52, 54, 55, 59, 63, 65, 66, 67, 68, 69, 76, 79, 80, 86, 87, 89, 90, 91, 94, 103, 109, 118, 119, 120, 121, 122, 125, 132, 140, 154, 155, 157, 159, 163, 165, 169, 170, 171, 172, 173, 174, 175, 176, 178 (string)
zwProtoVersMajor : 4 (integer)
zwProtoVersMinor : 61 (integer)
zwShowDumpDevToLog : true (bool)
zwShowEnergyPollingUI : false (bool)
zwShowMainUI : true (bool)
zwShowManualModifyConfigParmUI : true (bool)
zwShowPollingUI : false (bool)
zwShowSubmitModelInfoUI : false (bool)
zwShowWakeIntervalUI : false (bool)
zwWakeInterval : 0 (integer)
heatIsOn : False
heatSetpoint : 67.0
humidifierIsOn : False
humidities : [42.0]
humiditySensorCount : 1
hvacMode : Off
id : 807111868
lastChanged : 2023-03-27 16:46:05
lastSuccessfulComm : 2023-03-27 16:46:05
model : Thermostat (TH6320ZW2003)
name : NORTH THERMOSTAT
ownerProps : com.perceptiveautomation.indigoplugin.zwave : (dict)
NumHumidityInputs : 1 (integer)
ShowCoolHeatEquipmentStateUI : true (bool)
SupportsBatteryLevel : true (bool)
TempUnits : 2 (integer)
address : 182 (integer)
indigoObjVersion : 10 (integer)
userEnergyPollingEnabled : false (bool)
userPollInterval : 0 (integer)
userPollingEnabled : false (bool)
userWakeInterval : 60 (integer)
version : 1.03 (string)
zwAppVersMajor : 1 (integer)
zwAppVersMinor : 3 (integer)
zwAssociationsMap : (dict)
g1 : (list)
Item : 1 (integer)
zwAssociationsMapStr : 1:[1] (string)
zwClassCmdBase : 64 (integer)
zwClassCmdMap : (dict)
c108 : 1 (integer)
c112 : 1 (integer)
c113 : 1 (integer)
c114 : 1 (integer)
c115 : 1 (integer)
c128 : 1 (integer)
c129 : 1 (integer)
c133 : 1 (integer)
c134 : 1 (integer)
c159 : 1 (integer)
c32 : 1 (integer)
c49 : 5 (integer)
c64 : 1 (integer)
c66 : 1 (integer)
c67 : 1 (integer)
c68 : 1 (integer)
c69 : 1 (integer)
c85 : 1 (integer)
c89 : 1 (integer)
c90 : 1 (integer)
c94 : 1 (integer)
zwClassCmdMapStr : 20v1 40v1 43v1 72v1 86v1 5Ev1 85v1 59v1 31v5 80v1 81v1 70v1 5Av1 71v1 73v1 9Fv1 44v1 45v1 42v1 6Cv1 55v1 (string)
zwClassIds : (list)
Item : 4 (integer)
Item : 8 (integer)
Item : 6 (integer)
zwClassInstanceCountMap : (dict)
zwClassInstanceCountMapStr : - none - (string)
zwClassName : General Thermostat (v2) (string)
zwConfigVals : (dict)
zwConfigValsStr : - none - (string)
zwDevSubIndex : 0 (integer)
zwEncryptClassCmdMap : (dict)
zwEncryptClassCmdMapStr : - none - (string)
zwEncryptionStatusStr : Not Supported (string)
zwEndpointClassMap : (dict)
zwEndpointClassMapStr : - none - (string)
zwEndpointDevTypeMap : (dict)
zwEndpointDevTypeMapStr : - none - (string)
zwFeatureListStr : routing, battery, beaming, frequentWaking (string)
zwLibType : 6 (integer)
zwManufactureId : 57 (integer)
zwManufactureName : Honeywell (string)
zwModelDefnVers : 1 (integer)
zwModelId : 1114120 (integer)
zwModelName : Thermostat (TH6320ZW2003) (string)
zwNodeNeighbors : (list)
Item : 1 (integer)
Item : 3 (integer)
Item : 7 (integer)
Item : 8 (integer)
Item : 9 (integer)
Item : 19 (integer)
Item : 23 (integer)
Item : 24 (integer)
Item : 27 (integer)
Item : 28 (integer)
Item : 29 (integer)
Item : 33 (integer)
Item : 37 (integer)
Item : 38 (integer)
Item : 39 (integer)
Item : 40 (integer)
Item : 42 (integer)
Item : 44 (integer)
Item : 45 (integer)
Item : 46 (integer)
Item : 48 (integer)
Item : 50 (integer)
Item : 52 (integer)
Item : 54 (integer)
Item : 55 (integer)
Item : 59 (integer)
Item : 63 (integer)
Item : 65 (integer)
Item : 66 (integer)
Item : 67 (integer)
Item : 68 (integer)
Item : 69 (integer)
Item : 76 (integer)
Item : 79 (integer)
Item : 80 (integer)
Item : 86 (integer)
Item : 87 (integer)
Item : 89 (integer)
Item : 90 (integer)
Item : 91 (integer)
Item : 94 (integer)
Item : 103 (integer)
Item : 109 (integer)
Item : 118 (integer)
Item : 119 (integer)
Item : 120 (integer)
Item : 121 (integer)
Item : 122 (integer)
Item : 125 (integer)
Item : 132 (integer)
Item : 140 (integer)
Item : 154 (integer)
Item : 155 (integer)
Item : 157 (integer)
Item : 159 (integer)
Item : 163 (integer)
Item : 165 (integer)
Item : 169 (integer)
Item : 170 (integer)
Item : 171 (integer)
Item : 172 (integer)
Item : 173 (integer)
Item : 174 (integer)
Item : 175 (integer)
Item : 176 (integer)
Item : 178 (integer)
zwNodeNeighborsStr : 1, 3, 7, 8, 9, 19, 23, 24, 27, 28, 29, 33, 37, 38, 39, 40, 42, 44, 45, 46, 48, 50, 52, 54, 55, 59, 63, 65, 66, 67, 68, 69, 76, 79, 80, 86, 87, 89, 90, 91, 94, 103, 109, 118, 119, 120, 121, 122, 125, 132, 140, 154, 155, 157, 159, 163, 165, 169, 170, 171, 172, 173, 174, 175, 176, 178 (string)
zwProtoVersMajor : 4 (integer)
zwProtoVersMinor : 61 (integer)
zwShowDumpDevToLog : true (bool)
zwShowEnergyPollingUI : false (bool)
zwShowMainUI : true (bool)
zwShowManualModifyConfigParmUI : true (bool)
zwShowPollingUI : false (bool)
zwShowSubmitModelInfoUI : false (bool)
zwShowWakeIntervalUI : false (bool)
zwWakeInterval : 0 (integer)
pluginId : com.perceptiveautomation.indigoplugin.zwave
pluginProps : emptyDict : (dict)
protocol : ZWave
remoteDisplay : True
sharedProps : com.indigodomo.indigoserver : (dict)
states : States : (dict)
batteryLevel : 95 (integer)
batteryLevel.ui : 95% (string)
humidityInput1 : 42 (real)
humidityInput1.ui : 42.0% (string)
humidityInputsAll : 42 (string)
hvacCoolerIsOn : off (on/off bool)
hvacDehumidifierIsOn : off (on/off bool)
hvacFanIsOn : off (on/off bool)
hvacFanMode : 0 (integer)
hvacFanMode.ui : auto on (string)
hvacFanModeIsAlwaysOn : false (bool)
hvacFanModeIsAuto : true (bool)
hvacHeaterIsOn : off (on/off bool)
hvacHumidifierIsOn : off (on/off bool)
hvacOperationMode : 0 (integer)
hvacOperationMode.ui : all off (string)
hvacOperationModeIsAuto : false (bool)
hvacOperationModeIsCool : false (bool)
hvacOperationModeIsHeat : false (bool)
hvacOperationModeIsOff : true (bool)
hvacOperationModeIsProgramAuto : false (bool)
hvacOperationModeIsProgramCool : false (bool)
hvacOperationModeIsProgramHeat : false (bool)
setpointCool : 72 (real)
setpointCool.ui : 72.0 °F (string)
setpointHeat : 67 (real)
setpointHeat.ui : 67.0 °F (string)
temperatureInput1 : 67 (real)
temperatureInput1.ui : 67.0 °F (string)
temperatureInputsAll : 67 (string)
zwaveHvacOperationModeID : 0 (integer)
zwaveHvacOperationModeName : off (string)
subModel :
subType :
supportsAllLightsOnOff : False
supportsAllOff : False
supportsCoolSetpoint : True
supportsHeatSetpoint : True
supportsHvacFanMode : True
supportsHvacOperationMode : True
supportsOnState : False
supportsStatusRequest : True
temperatureSensorCount : 1
temperatures : [67.0]
version : 1.03

Posted on
Tue Mar 28, 2023 12:00 pm
matt (support) offline
Site Admin
User avatar
Posts: 21411
Joined: Jan 27, 2003
Location: Texas

Re: HONEYWELL T6 Pro Thermostat - Z-Wave Model - TH6320ZW200

Give this (untested) python script a try:

Code: Select all
dev = indigo.devices[807111868] # thermostat device ID

THERMO_MODE_IDS_TO_CYCLE = [
    0x00,   # off
    0x01,   # heat   # Can delete this line if you want to skip normal heat mode
    0x02,   # cool
    0x03,   # auto
    0x04    # aux heat
]

cur_mode_id = int(dev.states["zwaveHvacOperationModeID"])
new_index = THERMO_MODE_IDS_TO_CYCLE.index(cur_mode_id) + 1
if new_index >= len(THERMO_MODE_IDS_TO_CYCLE):
    new_index = 0

new_mode_id = THERMO_MODE_IDS_TO_CYCLE[new_index]
indigo.zwave.sendRaw(device=dev, cmdBytes=[0x40, 0x01, new_mode_id])

Image

Posted on
Tue Mar 28, 2023 1:27 pm
HEGarrard offline
Posts: 40
Joined: Sep 09, 2014

Re: HONEYWELL T6 Pro Thermostat - Z-Wave Model - TH6320ZW200

Matt -

Thank you for this script! I copied and pasted the script and it worked - the only "addition" to the script that I made was indigo.device.statusRequest(dev) (and suppressLogging = True). I found that after running the script, the device Status did not update - so I requested a Status Update and it updated.

This type of scripting is new to me ... sending raw commands. Should the device report back when a raw command is sent? When I manually change modes on the thermostat - I see the change in Indigo. Just wondering why sending raw commands does not trigger a response back from the thermostat.

Thanks again!

Harold
Code: Select all
dev = indigo.devices[807111868] # thermostat device ID

THERMO_MODE_IDS_TO_CYCLE = [
    0x00,   # off
    0x01,   # heat   # Can delete this line if you want to skip normal heat mode
    0x02,   # cool
    0x03,   # auto
    0x04    # aux heat
]

cur_mode_id = int(dev.states["zwaveHvacOperationModeID"])
new_index = THERMO_MODE_IDS_TO_CYCLE.index(cur_mode_id) + 1
if new_index >= len(THERMO_MODE_IDS_TO_CYCLE):
    new_index = 0

new_mode_id = THERMO_MODE_IDS_TO_CYCLE[new_index]
indigo.zwave.sendRaw(device=dev, cmdBytes=[0x40, 0x01, new_mode_id])

indigo.device.statusRequest(dev)
suppressLogging=True

Posted on
Tue Mar 28, 2023 2:18 pm
matt (support) offline
Site Admin
User avatar
Posts: 21411
Joined: Jan 27, 2003
Location: Texas

Re: HONEYWELL T6 Pro Thermostat - Z-Wave Model - TH6320ZW200

The command Indigo sends is acknowledged but in this case it sounds like the device is not then sending a mode update status command after the mode was changed. That behavior really just depends on how the particular module handles the command. Some might automatically broadcast out the new state but yours obviously does not and needs the status request follow-up.

Image

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 4 guests