GoControl GC-TBZ48 thermostat - no temperature updates unless I restart HA

Seems that others have communications issues with this thermostat by my situation is a bit different - I’m not getting an update in the current temperature unless I restart HA.

It seems like other data makes it back to HA (like current set-point when changed on the unit), but ambient temperature never updates unless I restart HA, then I get the current value.

Ideas?

1 Like

Are you using the thermostat on battery power or powered off the HVAC wiring.

I experienced similar issues as your describing when on battery power.

I assumed that the thermostat only updated when a major change happened, similar to other battery powered zwave sensors.

Thanks silvrr - the unit is powered from the HVAC. However, then I first installed it I had both batteries and HVAC power hooked up until I realized that was not necessary. Your comment had me thinking, so I looked at the manual again and found this:

“IMPORTANT: If the thermostat is installed on a Z-Wave network, while it is batteries powered, it will
NOT work as a Z-Wave repeater. Do not install batteries and temporarily power the thermostat from 24VAC to include onto a Z-Wave network. Shortened batteries life may occur when 24VAC power is removed.”

I’m interpreting this to mean, if you set up ZWave with 24VAC active, the thermostat is set to a “repeater” mode, i.e.: a high-power mode, which perhaps includes sending constant temperature updates.

Its not a stretch to think that maybe if you start out with only batteries then add 24VAC power, which I did, maybe it stays in lower power mode?

I’m going to try removing from zwave, powering down for a while, powering back up (no batteries), and re-adding the device.

1 Like

I would try a reset like you mentioned.

From what I recall, there is a way to reset to factory defaults and truly clear it out. I think I did this in between battery and AC power.

I know this is an old thread, but I’m hoping for a solution. Did anyone figure this issue out? I’ve got the same problem. Everything works except the air temperature updating. I’ve tried everything I can think of. Also, before I setup Home Assistant I used Vera and it worked flawlessly. I’m fixing to trash this thermostat if I can’t figure it out. Thanks!

Just bumping this thread. did anyone figure it out?

Way late response but you can force polling of the GoControl. Create an automation thag fires periodically and use the zwave refresh value service to force the thermostat to respond.

All versions of the TBZ48 thermostat send Z-Wave messages to update the ambient temperature - this worked fine for me with SmartThings but failed when I switched to Home Assistant. I was able to fix it by adding an automation that fired every ten minutes to do a “Z-Wave Refresh Value” for “Thermostat Air Temperature.” But polling is a terrible solution…

I stumbled upon this post which prompted me to upgrade from Z-Wave JS to Z-Wave JS UI and then add the thermostat to Association Group 1. That has fixed this problem: temperature is now automatically updated in the thermostat card.

In a related issue, if you turn on Parameter 23 bit 0x40 (0x207F = 8319 decimal will do the trick), the thermostat will also update the operating state (idle, heat, cool, etc) which is shown in the Thermostat card. Reporting of Operating State is not may not be enabled by default - you must may have to update Parameter 23.

Furnace timers (like number.z_wave_plus_thermostat_filter_timer) are not automatically updated, but a daily automation can run a Z-Wave refresh action to get this data which you can use to trigger filter replacement reminders.

I have the same issue but don’t know how to do any of what you describe in your post as I am new to HA. I fear updating Zwave will break everything. I don’t get the wireless icon as I use to with Vera. I am able to turn it on and off but the temperature is not updated.

I am okay with the refresh method because I don’t have many devices. How is that done? Why is it a terrible solution?

I’d appreciate any help.

To get your TBZ48 to update operating state, current temperature, and set point(s), you must set the thermostat’s “Association Group” to Group 1. Unfortunately this isn’t set by default, and the “Z-Wave JS” integration doesn’t support setting up associations - you need to upgrade to “Z-Wave JS UI.” To do that, follow the cookbook steps here. It’s not difficult - it took me about fifteen minutes.

If you really mess up, you’ll have to “reinterview” and rename all your Z-Wave devices - but with a few devices that will take only a few minutes. With just a few devices, you really can’t go wrong. I have 51 Z-Wave devices and had no problems with the procedure.

Once you’ve installed Z-Wave JS UI, open its control panel, find your thermostat, click image (on the left side), then “ADD” (in green). Select “Root Endpoint” and “Unnamed Group 1” and click “ADD”.

And that should do it!

If it doesn’t work, verify that bit 0x40 is turned on in Parameter 23. Home Assistant sets that parameter to decimal 8319 / 0x207F so it should be OK. But if it isn’t, set it. I mention this because SmartThings did not turn the bit on and it took me a couple of years to find the problem.

You will still have to poll (once a day? once a week?) for heat / cool / filter hours if you want that data. I run a daily automation in heating season that does “Z-Wave: Refresh values” for those entities.

Is that 64 in parameter 23? Someone said 127. Do I need to reboot it? I am trying to update it with using .js not js ui.

Set Parameter 23 to 8319 (hexadecimal 0x207F, binary 0010000001111111). You need to turn on 8 bits out of 16, not just the underlined 0x40 bit.

Home Assistant sets Parameter 23 to 8319 by default, so this is unlikely to be the problem.

Here’s the documentation for all of the Parameter 23 bits:

      Setting  Description
     1 0x0001  TEMPERATURE        CC_SENSOR_MULTILEVEL
     2 0x0002  SETPOINT H         CC_THERMOSTAT_SETPOINT
     4 0x0004  SETPOINT C         CC_THERMOSTAT_SETPOINT
     8 0x0008  MODE               CC_THERMOSTAT_MODE
    16 0x0010  FANMODE            CC_THERMOSTAT_FAN_MODE
    32 0x0020  FANSTATE           CC_THERMOSTAT_FAN_STATE
    64 0x0040  OPERATING STATE    CC_THERMOSTAT_OPERATING STATE 
   128 0x0080  SCHEDENABLE        CC_CONFIGURATION #38 
   256 0x0100  SETBACK            CC_CONFIGURATION #40
   512 0x0200  RUNHOLD            CC_CONFIGURATION #39
  1024 0x0400  DISPLAYLOCK        CC_CONFIGURATION #24
  2048 0x0800  -                  -
  4096 0x1000  -                  -
  8192 0x2000  BATTERY            CC_BATTERY
 16384 0x4000  MECH STATUS        CC_CONFIGURATION # 21 
 32768 0x8000  SCP STATUS         CC_CONFIGURATION # 22

“CC” refers to the Z-Wave Command Class.

You shouldn’t need to reboot or restart anything except as noted in that Z-Wave JS UI cookbook.

I saw the conversation in the “Most Compatible Z-Wave Thermostat” thread. This thermostat works just fine but you do have to fix that Association Group setting. There have been a couple of hardware versions over the years… For some reason some units don’t have the Association Group preset.

Polling introduces a few problems. First, your network will quickly be dominated by polling messages - polling might involve thousands of messages per day rather than a few dozen. That can cause network congestion and communication failures. Second, data is updated when polled, not when the data changes, and may be uselessly out of date. Third, polling wastes power - battery power if applicable - and computing resources, making your system sluggish.

On this subject, I turn off power reporting from smart plugs if I’m not interested - but even those send only a few dozen messages a day (nothing when off, and only a few when a device is turned on or off. Mostly power draws are constant.) And I turn off luminance / temperature / humidity reporting if I’m not interested in the data.