ST v2 hub not runnng routines to 2nd Z-Wave thermostat

For years, I’ve been using an STH-ETH-250 v2 hub (currently at firmware 59.9) to control a Honeywell Z-Wave thermostat in my living room (model TH6320ZW2003). The thermostat runs on batteries, no C-wire, and controls a millivolt wall heater. I use ST routines to set the temp up and down on a schedule. This thermostat is about 25 feet from my hub, with at least one Z-wave wall switch nearby.

I have the same kind of heater in my bedroom and decided I wanted use ST for that as well. I bought another Z-Wave TH6320ZW2003 thermostat and added it to ST. This thermostat is about six feet from the hub, with three Z-Wave switches within 10 feet (i.e. pretty strong Z-Wave mesh, I would think). I set up routines on this thermostat as well, but they are not executing reliably. I deleted and re-added it as a Z-Wave device but get the same results.

The Z-Wave Thermostat driver is 2026-01-12T18:10:42.304517003.

Today I logged in to the SmartThings Advanced Web App. One oddity is even on the “good” Living Room thermostat, the events are not showing at the correct time, e.g. my routine says to set heat to 66 at 5:30am, but the event shows that it fired at 5:00am. It should go back to 62 at 9am, bu the event timestamp is 7:43am.

At least the living room thermostat shows some “heatingSetpoint” events. The bedroom thermostat, with similar routines, shows NO heatingSetpoint events, though it shows dozens of thermostatOperatingState, temperature, and humidity events. So Z-Wave communication it working, but routines are not?

Somewhere I saw that the thermostat controls are supposed to be executed locally. Will I even see those in the AWA? I have not set up the CLI yet. Would that help?

Thanks for your help and suggestions.

Hi, @sd_mark
Have you reported this to Customer Support?

What I can think of on my side is:

  1. Have you noticed if the Bedroom device goes offline on the ST side? This could be an indicator of an issue with the “path” used by this device to communicate with the Hub
  2. About the execution time, is this the only routine struggling with this? Since the time references are based mostly on sunrise, noon, etc. Then, the time defined for that might be wrong. Make sure the correct region is shown for your location on this website: SmartThings. Add a little smartness to your things.
  3. I suggest you open the driver logs when the routine is expected to run or when you see it generally runs to see if the driver receives commands and sends them to the physical device.
    To do so, you need to set up the ST CLI and run the command below:
smartthings edge:drivers:logcat

The CLI will prompt you to select from which hub and driver you want to listen to events. Then all the events after this step will be registered there.

Thanks for those thoughts.

No, I’m not seeing the bedroom thermostat offline. Just now for example, I can see 9 temperature/humidity reports from the bedroom in the last hour–even though the thermostat is now lying on my desk, 40 or 50 feet from the hub. (I removed it and put the old “normal” thermostat in place while I work on this.)

The AWA knows I’m in the Los Angeles time zone, and 35+ other devices, mostly bulbs and switches, are operating on schedule. (Well, one bulb turns off when it shouldn’t; need to troubleshoot that separately.) Am I supposed to see local event executions in the AWA?

I’ll work on testing with the CLI when I can get back to it. That is “talking” directly to the hub, right, so I’ll see local executions in the CLI?

In the CLI, you will only see the incoming and outgoing messages to the Hub-Connected devices.
You won’t see details on Routines execution, but you’ll see if a command is received from the ST platform and if it is sent to the physical device.

Wow the CLI is easier than I expected. Nice. Here’s some output:

First, in the app, manually change the set temp of the thermostat to 70 (up from 68). This succeeded:

2026-02-08T23:53:05.519835382Z TRACE Z-Wave Thermostat  Received event with handler capability
2026-02-08T23:53:05.521540465Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> received command: {"args":{"setpoint":21.11111111111111},"capability":"thermostatHeatingSetpoint","command":"setHeatingSetpoint","component":"main","named_args":{"setpoint":21.11111111111111},"positional_args":[21.11111111111111]}
2026-02-08T23:53:05.540634090Z TRACE Z-Wave Thermostat  Found CapabilityCommandDispatcher handler in zwave_thermostat
2026-02-08T23:53:05.542573382Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> sending Z-Wave command: {args={scale="FAHRENHEIT", setpoint_type="HEATING_1", value=70}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="SET", dst_channels={}, encap="AUTO", payload="\x01\x09\x46", src_channel=0, version=1}
2026-02-08T23:53:05.545411174Z TRACE Z-Wave Thermostat  Z-Wave command(d9253379) queued for radio transmission: CC:Thermostat Setpoint, CID:0x01
2026-02-08T23:53:05.549498757Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-08T23:53:05.550355424Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-08T23:53:06.563460091Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> sending Z-Wave command: {args={setpoint_type="HEATING_1"}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="GET", dst_channels={}, encap="AUTO", payload="\x01", src_channel=0, version=1}
2026-02-08T23:53:06.566140674Z TRACE Z-Wave Thermostat  Z-Wave command(0dd2770f) queued for radio transmission: CC:Thermostat Setpoint, CID:0x02
2026-02-08T23:53:06.568125841Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-08T23:53:07.322564924Z TRACE Z-Wave Thermostat  Z-Wave command(d9253379) transmit status: TRANSMIT_COMPLETE_OK
2026-02-08T23:53:07.573096507Z TRACE Z-Wave Thermostat  Z-Wave command(0dd2770f) transmit status: TRANSMIT_COMPLETE_OK
2026-02-08T23:53:07.583766424Z TRACE Z-Wave Thermostat  Received event with handler unnamed
2026-02-08T23:53:07.587544341Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> received Z-Wave command: {args={precision=1, scale="FAHRENHEIT", setpoint_type="HEATING_1", size=2, value=70.0}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="REPORT", dst_channels={}, encap="S2_UNAUTH", payload="\x01\x2A\x02\xBC", src_channel=0, version=1}
2026-02-08T23:53:07.591238257Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-08T23:53:07.592680507Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> emitting event: {"attribute_id":"heatingSetpoint","capability_id":"thermostatHeatingSetpoint","component_id":"main","state":{"unit":"F","value":70.0}}
2026-02-08T23:53:07.602161007Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-08T23:53:07.602735049Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-08T23:54:29.015446434Z TRACE Z-Wave Thermostat  Received event with handler unnamed
2026-02-08T23:54:29.022328850Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> received Z-Wave command: {args={precision=1, scale="PERCENTAGE", sensor_type="RELATIVE_HUMIDITY", sensor_value=54.0, size=2}, cmd_class="SENSOR_MULTILEVEL", cmd_id="REPORT", dst_channels={}, encap="S2_UNAUTH", payload="\x05\x22\x02\x1C", src_channel=0, version=1}
2026-02-08T23:54:29.024842142Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-08T23:54:29.027757392Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-08T23:54:29.028981434Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> emitting event: {"attribute_id":"humidity","capability_id":"relativeHumidityMeasurement","component_id":"main","state":{"value":54}}
2026-02-08T23:54:29.037755684Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-08T23:54:29.038333184Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled

Next, use a test routine to set the temp to 75. Schedule the routine to run one minute later. This failed; the set temp is still 70:

2026-02-08T23:55:00.019637062Z TRACE Z-Wave Thermostat  Received event with handler capability
2026-02-08T23:55:00.020317687Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> received command: {"args":{"setpoint":23.88888888888889},"capability":"thermostatHeatingSetpoint","command":"setHeatingSetpoint","component":"main","named_args":{"setpoint":23.88888888888889},"positional_args":[23.88888888888889]}
2026-02-08T23:55:00.036420854Z TRACE Z-Wave Thermostat  Found CapabilityCommandDispatcher handler in zwave_thermostat
2026-02-08T23:55:00.038590979Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> sending Z-Wave command: {args={scale="FAHRENHEIT", setpoint_type="HEATING_1", value=75}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="SET", dst_channels={}, encap="AUTO", payload="\x01\x09\x4B", src_channel=0, version=1}
2026-02-08T23:55:00.042071354Z TRACE Z-Wave Thermostat  Z-Wave command(980e9675) queued for radio transmission: CC:Thermostat Setpoint, CID:0x01
2026-02-08T23:55:00.047866021Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-08T23:55:00.049312396Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-08T23:55:01.051215313Z TRACE Z-Wave Thermostat  Z-Wave command(ac4c636b) queued for radio transmission: CC:Thermostat Setpoint, CID:0x02
2026-02-08T23:55:01.052044688Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> sending Z-Wave command: {args={setpoint_type="HEATING_1"}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="GET", dst_channels={}, encap="AUTO", payload="\x01", src_channel=0, version=1}
2026-02-08T23:55:01.054126688Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-08T23:55:01.562436438Z TRACE Z-Wave Thermostat  Z-Wave command(980e9675) transmit status: TRANSMIT_COMPLETE_OK
2026-02-08T23:55:01.952689313Z TRACE Z-Wave Thermostat  Z-Wave command(ac4c636b) transmit status: TRANSMIT_COMPLETE_FAIL
2026-02-08T23:55:07.114327313Z INFO Z-Wave Thermostat  hub handled ZwaveCommand { encap: "S2_UNAUTH", src_chan: 0, dst_chans: [], cmd_class: 0x31, cmd_code: 0x5, payload: [0x01, 0x2A, 0x03, 0x02] }
2026-02-08T23:55:07.115632480Z INFO Z-Wave Thermostat  hub emitting event 77..c5: {"component_id":"main","capability_id":"temperatureMeasurement","attribute_id":"temperature","state":{"value":77.0,"unit":"F"}}
2026-02-08T23:55:07.126166980Z TRACE Z-Wave Thermostat  Received event with handler device_lifecycle
2026-02-08T23:55:07.126631480Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> received lifecycle event: update

I see the TRANSMIT-COMPLETE_FAIL but why did it fail? What does TRANSMIT_COMPLETE_OK mean when followed by another TRANSMIT_COMPLETE_OK, or by TRANSMIT_COMPLETE_FAIL? Is it normal to have S2_UNAUTH in there?

For comparison, here is a temp set routine executed against the “good” LR Heater thermostat, which succeeded:

2026-02-09T00:13:00.060868899Z TRACE Z-Wave Thermostat  Received event with handler capability
2026-02-09T00:13:00.079406358Z INFO Z-Wave Thermostat  <ZwaveDevice: 10..d4 [0D] (LR Heater)> received command: {"args":{"setpoint":23.88888888888889},"capability":"thermostatHeatingSetpoint","command":"setHeatingSetpoint","component":"main","named_args":{"setpoint":23.88888888888889},"positional_args":[23.88888888888889]}
2026-02-09T00:13:00.215676608Z TRACE Z-Wave Thermostat  Found CapabilityCommandDispatcher handler in zwave_thermostat
2026-02-09T00:13:00.217182441Z INFO Z-Wave Thermostat  <ZwaveDevice: 10..d4 [0D] (LR Heater)> sending Z-Wave command: {args={scale="FAHRENHEIT", setpoint_type="HEATING_1", value=75}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="SET", dst_channels={}, encap="AUTO", payload="\x01\x09\x4B", src_channel=0, version=1}
2026-02-09T00:13:00.229796150Z TRACE Z-Wave Thermostat  Z-Wave command(ddc9219b) queued for radio transmission: CC:Thermostat Setpoint, CID:0x01
2026-02-09T00:13:00.235200941Z DEBUG Z-Wave Thermostat  LR Heater device thread event handled
2026-02-09T00:13:00.269333400Z DEBUG Z-Wave Thermostat  LR Heater device thread event handled
2026-02-09T00:13:01.240592900Z INFO Z-Wave Thermostat  <ZwaveDevice: 10..d4 [0D] (LR Heater)> sending Z-Wave command: {args={setpoint_type="HEATING_1"}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="GET", dst_channels={}, encap="AUTO", payload="\x01", src_channel=0, version=1}
2026-02-09T00:13:01.243064858Z TRACE Z-Wave Thermostat  Z-Wave command(adaaa160) queued for radio transmission: CC:Thermostat Setpoint, CID:0x02
2026-02-09T00:13:01.245685775Z DEBUG Z-Wave Thermostat  LR Heater device thread event handled
2026-02-09T00:13:01.571912233Z TRACE Z-Wave Thermostat  Z-Wave command(ddc9219b) transmit status: TRANSMIT_COMPLETE_OK
2026-02-09T00:13:01.682231566Z TRACE Z-Wave Thermostat  Z-Wave command(adaaa160) transmit status: TRANSMIT_COMPLETE_OK
2026-02-09T00:13:01.691534441Z TRACE Z-Wave Thermostat  Received event with handler unnamed
2026-02-09T00:13:01.695665441Z INFO Z-Wave Thermostat  <ZwaveDevice: 10..d4 [0D] (LR Heater)> received Z-Wave command: {args={precision=1, scale="FAHRENHEIT", setpoint_type="HEATING_1", size=2, value=75.0}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="REPORT", dst_channels={}, encap="NONE", payload="\x01\x2A\x02\xEE", src_channel=0, version=1}
2026-02-09T00:13:01.698236816Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-09T00:13:01.699649025Z INFO Z-Wave Thermostat  <ZwaveDevice: 10..d4 [0D] (LR Heater)> emitting event: {"attribute_id":"heatingSetpoint","capability_id":"thermostatHeatingSetpoint","component_id":"main","state":{"unit":"F","value":75.0}}
2026-02-09T00:13:01.708057941Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-09T00:13:01.708630816Z DEBUG Z-Wave Thermostat  LR Heater device thread event handled

These belong to different commands; the one that failed is the command with ID “ac4c636b”, did you happen to send the Hub logs after this step?
They don’t last long and depend on how chatty your devices are.

About S2_UNAUTH, it’s weird that only this command showed this issue, especially if the device was added with S2 successfully. That should be seen in the Advanced Users app, I believe.

To know why the transmission failed, we need to have both the driver logs and hub logs, since the team can compare timestamps and IDs to identify the events in the logs.

Can you perform another test and collect the driver logs as you did above and submit the Hub logs after, please?

  1. In the Advanced Users app, enter the “Hubs” section
  2. Enter the corresponding Hub and click on “Dump Hub logs”
  3. Confirm the process by clicking on “Dump Hub logs” again in the pop-up.
  4. You’ll get a green box at the top confirming the Hub logs were requested.

We will also need support access to your account to see some details of your hub:

  1. Confirm the email account registered in the forum is the same one you use for SmartThings. If not, please share it with me over DM
  2. Enable support access to your account:
  1. Go to the SmartThings Web (my.smartthings.com)
  2. Log in to your Samsung Account
  3. Select Menu (⋮) and choose Settings
  4. Toggle on Account Data Access
  5. Select the time period and confirm - In this step, please select “Until turned off”, once the team finishes, we’ll let you know so you can disable it again.
    See more information about this access here: https://support.smartthings.com/hc/en-us/articles/36170233944852-Enabling-Account-Data-Access-for-Support

Finally, provide the name of the routine that you ran so we can look at the Cloud logs if needed as well.

Nayalyz,

Thanks for your detailed review.

Note that the two commands are identified further up in the conversation:

Z-Wave command(980e9675) queued for radio transmission: CC:Thermostat Setpoint, CID:0x01
Z-Wave command(ac4c636b) queued for radio transmission: CC:Thermostat Setpoint, CID:0x02

All three examples show the SetPoint command queued twice (for whatever reason). Only in the second example did the second transmission fail.

I’ve run the test again. This time, the communication shows success but the thermostat setpoint was not changed.

EDIT: please ignore this trace; I was looking at the wrong thermostat. :man_facepalming:

2026-02-09T23:59:00.020268421Z TRACE Z-Wave Thermostat  Received event with handler capability
2026-02-09T23:59:00.029645921Z INFO Z-Wave Thermostat  <ZwaveDevice: 10..d4 [0D] (LR Heater)> received command: {"args":{"setpoint":23.88888888888889},"capability":"thermostatHeatingSetpoint","command":"setHeatingSetpoint","component":"main","named_args":{"setpoint":23.88888888888889},"positional_args":[23.88888888888889]}
2026-02-09T23:59:00.042354421Z TRACE Z-Wave Thermostat  Found CapabilityCommandDispatcher handler in zwave_thermostat
2026-02-09T23:59:00.044383338Z INFO Z-Wave Thermostat  <ZwaveDevice: 10..d4 [0D] (LR Heater)> sending Z-Wave command: {args={scale="FAHRENHEIT", setpoint_type="HEATING_1", value=75}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="SET", dst_channels={}, encap="AUTO", payload="\x01\x09\x4B", src_channel=0, version=1}
2026-02-09T23:59:00.046899671Z TRACE Z-Wave Thermostat  Z-Wave command(0db655fe) queued for radio transmission: CC:Thermostat Setpoint, CID:0x01
2026-02-09T23:59:00.051072046Z DEBUG Z-Wave Thermostat  LR Heater device thread event handled
2026-02-09T23:59:00.053366213Z DEBUG Z-Wave Thermostat  LR Heater device thread event handled
2026-02-09T23:59:01.065874921Z INFO Z-Wave Thermostat  <ZwaveDevice: 10..d4 [0D] (LR Heater)> sending Z-Wave command: {args={setpoint_type="HEATING_1"}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="GET", dst_channels={}, encap="AUTO", payload="\x01", src_channel=0, version=1}
2026-02-09T23:59:01.068305380Z TRACE Z-Wave Thermostat  Z-Wave command(439f486c) queued for radio transmission: CC:Thermostat Setpoint, CID:0x02
2026-02-09T23:59:01.070349296Z DEBUG Z-Wave Thermostat  LR Heater device thread event handled
2026-02-09T23:59:01.331916505Z TRACE Z-Wave Thermostat  Z-Wave command(0db655fe) transmit status: TRANSMIT_COMPLETE_OK
2026-02-09T23:59:01.442245005Z TRACE Z-Wave Thermostat  Z-Wave command(439f486c) transmit status: TRANSMIT_COMPLETE_OK
2026-02-09T23:59:01.460776588Z TRACE Z-Wave Thermostat  Received event with handler unnamed
2026-02-09T23:59:01.461235380Z INFO Z-Wave Thermostat  <ZwaveDevice: 10..d4 [0D] (LR Heater)> received Z-Wave command: {args={precision=1, scale="FAHRENHEIT", setpoint_type="HEATING_1", size=2, value=75.0}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="REPORT", dst_channels={}, encap="NONE", payload="\x01\x2A\x02\xEE", src_channel=0, version=1}
2026-02-09T23:59:01.461896755Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-09T23:59:01.462295755Z INFO Z-Wave Thermostat  <ZwaveDevice: 10..d4 [0D] (LR Heater)> emitting event: {"attribute_id":"heatingSetpoint","capability_id":"thermostatHeatingSetpoint","component_id":"main","state":{"unit":"F","value":75.0}}
2026-02-09T23:59:01.467175130Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-09T23:59:01.468804296Z DEBUG Z-Wave Thermostat  LR Heater device thread event handled

I requested hub logs. Was I supposed to get a download? The routine is named “TEST - Set LR Heater to 75”. I think my email is the same. I’ll DM you.

No, they are uploaded to a server that only the engineering team has access to, I’ll create a report for this and let you know once the engineering team provides their feedback.

1 Like

My sincere apologies, I was testing the wrong unit this afternoon! The new thermostat is called BR Heater (not LR Heater). That explains why there was no failure–and why the living room is so warm this evening.

Starting over with a routine named “Set BR Heater to 75”, it actually worked correctly one time at 19:56, but when I rescheduled it for 19:58, it failed:

2026-02-10T03:58:00.020266056Z TRACE Z-Wave Thermostat  Received event with handler capability
2026-02-10T03:58:00.022702848Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5  [14] (BR Heater)> received command: {"args":{"setpoint":23.88888888888889},"capability":"thermostatHeatingSetpoint","command":"setHeatingSetpoint","component":"main","named_args":{"setpoint":23.88888888888889},"positional_args":[23.88888888888889]}
2026-02-10T03:58:00.042204681Z TRACE Z-Wave Thermostat  Found CapabilityCommandDispatcher handler in zwave_thermostat
2026-02-10T03:58:00.044137973Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5  [14] (BR Heater)> sending Z-Wave command: {args={scale="FAHRENHEIT", setpoint_type="HEATING_1", value=75}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="SET", dst_channels={}, encap="AUTO", payload="\x01\x09\x4B", src_channel=0, version=1}
2026-02-10T03:58:00.046955390Z TRACE Z-Wave Thermostat  Z-Wave command(0d979555) queued for radio transmission: CC:Thermostat Setpoint, CID:0x01
2026-02-10T03:58:00.054693556Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-10T03:58:00.055174515Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-10T03:58:01.064999848Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5  [14] (BR Heater)> sending Z-Wave command: {args={setpoint_type="HEATING_1"}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="GET", dst_channels={}, encap="AUTO", payload="\x01", src_channel=0, version=1}
2026-02-10T03:58:01.067707223Z TRACE Z-Wave Thermostat  Z-Wave command(3c091e6f) queued for radio transmission: CC:Thermostat Setpoint, CID:0x02
2026-02-10T03:58:01.069750223Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-10T03:58:02.172650057Z TRACE Z-Wave Thermostat  Z-Wave command(0d979555) transmit status: TRANSMIT_COMPLETE_OK
2026-02-10T03:58:02.532753098Z TRACE Z-Wave Thermostat  Z-Wave command(3c091e6f) transmit status: TRANSMIT_COMPLETE_FAIL
2026-02-10T03:59:27.706060025Z TRACE Z-Wave Thermostat  Received event with handler unnamed
2026-02-10T03:59:27.715301733Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5  [14] (BR Heater)> received Z-Wave command: {args={precision=1, scale="PERCENTAGE", sensor_type="RELATIVE_HUMIDITY", sensor_value=50.0, size=2}, cmd_class="SENSOR_MULTILEVEL", cmd_id="REPORT", dst_channels={}, encap="S2_UNAUTH", payload="\x05\x22\x01\xF4", src_channel=0, version=1}
2026-02-10T03:59:27.719266275Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-10T03:59:27.721428692Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-10T03:59:27.722634442Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5  [14] (BR Heater)> emitting event: {"attribute_id":"humidity","capability_id":"relativeHumidityMeasurement","component_id":"main","state":{"value":50}}
2026-02-10T03:59:27.734355942Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-10T03:59:27.734926483Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled

I tried to log in to SmartThings AWA to capture the hub logs, but I get this error:

I captured a local log dump on a USB drive if that helps. It’s 12MB so too big to attache to a DM.

We had an issue with our email, but it’s solved now. Please send them to build@smartthings.com

About the error, check if clearing the browser’s cache or using an incognito session helps.

Thanks @nayelyz. I’ve sent that via email.

Login to my.smartthings.com is working again today, no private browser required.

1 Like

Hi, @sd_mark
The engineering team mentioned the hub logs you provided were from a day before the driver logs on 2026-02-10, so the logs of such events aren’t included there.
However, they noticed that the device BR Heater changed the node it’s using to route its commands from a device labeled “Zooz ZEN17 Universal Relay” to a device labeled “Back Yard”.
So, since there are no “failure” events in those Hub logs, it makes us think that the issue might be the routing device, which currently is “Back Yard”.
Based on your physical layout, is it possible for you to put the device closer to “Zooz ZEN17 Universal Relay” and then perform a Z-Wave Network repair for it to choose a better path?

Then, try to run the routine again with the driver logs open and see if the transmission fails, because the team also mentioned that the one that fails is the command that is used to GET the current status of the capability, not the one to change the “HeatingSetpoint”. So other questions came up:

  1. You mentioned that manual control, meaning commands directly to the device (instead of Routines), work correctly, right?
  2. Since the message that fails is the one to confirm the change, the status in the app won’t be updated unless you perform a refresh (pull the page down in the device’s detail page). But, did you verify if the physical device changed the temperature?

HI @nayelyz,

Thanks for the reply. I can make some clarifications tonight and test further later.

  1. I did pull hub logs in AWA after my first test above, but I had tested the wrong thermostat. My corrected post above on 2/9 at 8:03pm local time showed trace events from 7:58pm or 2/10 03:58 UTC. I pulled the hub log a few minutes later; the filename (logdump_20260210_041015.tgz) that I emailed to you and the timestamp both correspond to 2/10 04:10 UTC. Maybe they were looking at the online log instead of the new one that I emailed?
  2. The “Back Yard” and “Zooz” devices are near to where the thermostat is at the moment, in my office. I initially was testing it in the actual bedroom, just a few feet from the ST hub. I’ll move it back near the hub and test it again soon.
  3. When I mentioned setting it manually, I meant by adjusting the set point in the ST app, not by touching the device.
  4. When I said that the routine didn’t set the temperature, it’s because I looked at the display on the physical thermostat the set point had changed.

In general, the app follows the thermostat state pretty well–there are lots of events polling and recording temperature and humidity. It’s just setting a new temperature through a routine that has been a problem.

Hi @nayelyz,

Testing again this morning.

  1. I moved the BR Heater thermostat next to the hub (1 foot away). The temp is set to 68.
  2. I scheduled the “Set BR Heater to 75” routine to increase the set temp to 75 at 8:15am local time, 16:15 UTC. This worked–when I look at the physical thermostat, I can see that it is set to 75.
  3. At the thermostat (not in the app), I reduced the set temp back to 68. A moment later, I can see in the app that it is set to 68.
  4. I rescheduled the same routine for 8:20am/16:20 UTC. This time, the Z-Wave commands again say TRANSMIT_COMPLETE_OK, but looking at the physical thermostat, the set point is still 68. The app also shows 68, even after a pull-down refresh.
  5. At this point, I logged in to AWA and requested hub logs.
  6. As a test, at the thermostat, I increased the set temp from 68 to 70. Within five seconds, I see this reflected in the app, no refresh needed. I touched the thermostat again, reducing set temp to 68. Again it reflected almost immediately in the app. This would seem to indicate that Z-Wave communication with the thermostat is fast and accurate (as it should be with a 1-foot distance from the hub).

Here is the trace from step 2 above (worked):

2026-02-12T16:15:00.030319827Z TRACE Z-Wave Thermostat  Received event with handler capability
2026-02-12T16:15:00.031023244Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> received command: {"args":{"setpoint":23.88888888888889},"capability":"thermostatHeatingSetpoint","command":"setHeatingSetpoint","component":"main","named_args":{"setpoint":23.88888888888889},"positional_args":[23.88888888888889]}
2026-02-12T16:15:00.038382244Z TRACE Z-Wave Thermostat  Found CapabilityCommandDispatcher handler in zwave_thermostat
2026-02-12T16:15:00.039833619Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> sending Z-Wave command: {args={scale="FAHRENHEIT", setpoint_type="HEATING_1", value=75}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="SET", dst_channels={}, encap="AUTO", payload="\x01\x09\x4B", src_channel=0, version=1}
2026-02-12T16:15:00.042610619Z TRACE Z-Wave Thermostat  Z-Wave command(257644f1) queued for radio transmission: CC:Thermostat Setpoint, CID:0x01
2026-02-12T16:15:00.046170161Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-12T16:15:00.046619411Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-12T16:15:01.051796161Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> sending Z-Wave command: {args={setpoint_type="HEATING_1"}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="GET", dst_channels={}, encap="AUTO", payload="\x01", src_channel=0, version=1}
2026-02-12T16:15:01.054580786Z TRACE Z-Wave Thermostat  Z-Wave command(4f773c6f) queued for radio transmission: CC:Thermostat Setpoint, CID:0x02
2026-02-12T16:15:01.056944244Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-12T16:15:01.412465827Z TRACE Z-Wave Thermostat  Z-Wave command(257644f1) transmit status: TRANSMIT_COMPLETE_OK
2026-02-12T16:15:01.762998328Z TRACE Z-Wave Thermostat  Z-Wave command(4f773c6f) transmit status: TRANSMIT_COMPLETE_OK
2026-02-12T16:15:01.780416328Z TRACE Z-Wave Thermostat  Received event with handler unnamed
2026-02-12T16:15:01.780869786Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> received Z-Wave command: {args={precision=1, scale="FAHRENHEIT", setpoint_type="HEATING_1", size=2, value=75.0}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="REPORT", dst_channels={}, encap="S2_UNAUTH", payload="\x01\x2A\x02\xEE", src_channel=0, version=1}
2026-02-12T16:15:01.781515994Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-12T16:15:01.781930119Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> emitting event: {"attribute_id":"heatingSetpoint","capability_id":"thermostatHeatingSetpoint","component_id":"main","state":{"unit":"F","value":75.0}}
2026-02-12T16:15:01.787100619Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-12T16:15:01.788981619Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled

You can see in the last five lines that the thermostat correctly reports that it is set to 75 degrees.

Here is the trace from step 4 above (failed):

2026-02-12T16:20:00.018955988Z TRACE Z-Wave Thermostat  Received event with handler capability
2026-02-12T16:20:00.019687321Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> received command: {"args":{"setpoint":23.88888888888889},"capability":"thermostatHeatingSetpoint","command":"setHeatingSetpoint","component":"main","named_args":{"setpoint":23.88888888888889},"positional_args":[23.88888888888889]}
2026-02-12T16:20:00.030304488Z TRACE Z-Wave Thermostat  Found CapabilityCommandDispatcher handler in zwave_thermostat
2026-02-12T16:20:00.031664363Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> sending Z-Wave command: {args={scale="FAHRENHEIT", setpoint_type="HEATING_1", value=75}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="SET", dst_channels={}, encap="AUTO", payload="\x01\x09\x4B", src_channel=0, version=1}
2026-02-12T16:20:00.034441405Z TRACE Z-Wave Thermostat  Z-Wave command(ddffcdb2) queued for radio transmission: CC:Thermostat Setpoint, CID:0x01
2026-02-12T16:20:00.038502405Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-12T16:20:00.038960655Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-12T16:20:01.044355572Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> sending Z-Wave command: {args={setpoint_type="HEATING_1"}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="GET", dst_channels={}, encap="AUTO", payload="\x01", src_channel=0, version=1}
2026-02-12T16:20:01.047077405Z TRACE Z-Wave Thermostat  Z-Wave command(d3efc8d0) queued for radio transmission: CC:Thermostat Setpoint, CID:0x02
2026-02-12T16:20:01.049292155Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled
2026-02-12T16:20:01.412499405Z TRACE Z-Wave Thermostat  Z-Wave command(ddffcdb2) transmit status: TRANSMIT_COMPLETE_OK
2026-02-12T16:20:01.563391155Z TRACE Z-Wave Thermostat  Z-Wave command(d3efc8d0) transmit status: TRANSMIT_COMPLETE_OK
2026-02-12T16:20:01.578901947Z TRACE Z-Wave Thermostat  Received event with handler unnamed
2026-02-12T16:20:01.579422238Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> received Z-Wave command: {args={precision=1, scale="FAHRENHEIT", setpoint_type="HEATING_1", size=2, value=68.0}, cmd_class="THERMOSTAT_SETPOINT", cmd_id="REPORT", dst_channels={}, encap="S2_UNAUTH", payload="\x01\x2A\x02\xA8", src_channel=0, version=1}
2026-02-12T16:20:01.580068905Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-12T16:20:01.580482197Z INFO Z-Wave Thermostat  <ZwaveDevice: 77..c5 [14] (BR Heater)> emitting event: {"attribute_id":"heatingSetpoint","capability_id":"thermostatHeatingSetpoint","component_id":"main","state":{"unit":"F","value":68.0}}
2026-02-12T16:20:01.584188197Z TRACE Z-Wave Thermostat  Found ZwaveDispatcher handler in zwave_thermostat
2026-02-12T16:20:01.586101905Z DEBUG Z-Wave Thermostat  BR Heater device thread event handled

This time, the last five lines correctly report that the thermostat is still set to 68.

Thank you for your continued troubleshooting.

Hi, @sd_mark
Sorry for not replying. The engineering team checked the logs and they saw the commands are failing, but it still isn’t clear why.
So, just to rule out a few things.

  1. In other cases where heating/cooling commands are rejected, we’ve seen it’s due to the reason I shared in this post:
  1. If the above doesn’t fit the current status of the device, perhaps we should look at the S2 status on the device which is currently “ZWAVE_S2_UNAUTHENTICATED”. The engineering team has mentioned before that certain devices need S2 for certain features, so, just to rule out this as the cause. You need to rejoin the device, but you need to find it in the device catalog so the instructions to connect it are displayed, and you can read/enter the corresponding code needed for the device.

@nayelyz,

Thanks for the reply. Your suggestion in #1 brings up an interesting point.

Both the (old, good) LR thermostat and the (new, troublesome) BR thermostat are configured with 0 cooling stages, i.e. they are set up to only control the gas heater. This is the LR Heater:

In the SmartThings app, just to be safe, I set the Cooling temp for the (good) LR Heater to 99:

The odd thing is that in the app, I cannot set the Cooling temp for the (bad) BR Heater–the setting is grayed out. This would actually make sense, since the thermostat is only controlling a heater, but your comments in #1 make me wonder.

So at least one question is, why is the ST app recognizing these two identical thermostats differently. You mention the “S2 status”. If I understand you correctly, you want me to exclude the BR Heater from ST, then re-add it as a Z-Wave thermostat, but try to find device-specific instructions. Here is what I did:

  1. ST App > hub > three dots > Settings > Z-wave Utilities > Z-Wave exclusion.

  2. On thermostat: Menu > Z-Wave Setup > Exclude. Returned “Exlcuded” and device was gone from the ST app.

  3. ST App > Add device > Partner devices > Honeywell (not Honeywell Home, which wants to link and account, to manage Wi-Fi devices) > Thermostat > Honeywell Z-Wave Thermostat.

  4. It displayed (incorrect) instructions.

  5. On thermostat, I went back in to Z-Wave Settings and told it to “Include”. The thermostat said it registered as device 21. The device appeared in the ST app. I renamed it “BR Heater 21”.

At this point, I still can’t set the Cooling temp on the new thermostat.

So I started over, excluding device 21, and re-adding the thermostat. This time in step 3, I chose “Honeywell Home Z-Wave Thermostat”. That triggered two screens in quick succession, with somewhat more accurate instructions:

I again included from the thermostat, this time as device 22 (renamed “BR Heater 22”). I was never prompted for a code in the app or on the thermostat.

In the ST app, the new thermostat still does not allow setting the Cooling temp. It does seem pretty responsive to Heat adjustments. I haven’t tried routines yet.

Did that change resolve the ZWAVE_S2_UNAUTHENTICATED status? I’ve re-dumped logs from the AWA.

Regards,

Mark Berry