1 of my 2 thermostats is not refreshing

Kind of noob, so forgive me for not knowing what info to post to resolve this. I have two identical Trane thermostats in my house, both paired to my HomeAssistant Raspberry Pi. I’m running Z-wave JS as the Z-wave control panel. One of my thermostats seems to refresh it’s state normally, meaning the temp sensor for it updates pretty much continuously and the operating state(cooling, idle, etc.) updates normally. My other one does not. If I go into the JS control panel for that node and refresh those two values, I get the correct results, but it doesn’t seem to refresh on it’s own, it’s just shows the last state that I commanded it to refresh through the control panel.

I guess 2 questions - any way to make the second behave like the 1st? Or if not, what’s the best solution - a push button for a script that refreshes those two values? I can’t seem to find the syntax to refresh the operating state.

Thanks for the help!

Perhaps you could start by sharing the thermostat model number.

I don’t have a Trane thermostat, but my GoControl Z-wave thermostat has a parameter that defines what is updated when specific things change on the thermostat. It may be similar.

Other details that impact updates is the z-wave node’s association table. You might compare associations between the working unit and the non-working unit. They should be the same.

It’s a TZEMT400BB32MAA. I’ll poke around but nothing stood out.

I was able to log the query through the control panel and this is what it says is below. How would I script this query? I see zwave options for setting parameters, but not reading them.

2024-06-28T17:16:20.037Z CNTRLR » [Node 005] querying thermostat operating state...
2024-06-28T17:16:20.043Z DRIVER   all queues busy
2024-06-28T17:16:20.049Z SERIAL » 0x011000a90001000502420225000000000421                              (18 bytes)
2024-06-28T17:16:20.058Z DRIVER » [Node 005] [REQ] [SendDataBridge]
                                  │ source node id:   1
                                  │ transmit options: 0x25
                                  │ callback id:      4
                                  └─[ThermostatOperatingStateCCGet]
2024-06-28T17:16:20.061Z SERIAL « [ACK]                                                                   (0x06)
2024-06-28T17:16:20.064Z SERIAL « 0x010401a90152                                                       (6 bytes)
2024-06-28T17:16:20.066Z SERIAL » [ACK]                                                                   (0x06)
2024-06-28T17:16:20.069Z DRIVER « [RES] [SendDataBridge]
                                    was sent: true
2024-06-28T17:16:20.078Z SERIAL « 0x011d00a90400000100a67f7f7f7f01010300000000020100007f7f7f7f7f97    (31 bytes)
2024-06-28T17:16:20.080Z SERIAL » [ACK]                                                                   (0x06)
2024-06-28T17:16:20.083Z DRIVER « [REQ] [SendDataBridge]
                                    callback id:            4
                                    transmit status:        OK, took 10 ms
                                    routing attempts:       1
                                    protocol & route speed: Z-Wave, 40 kbit/s
                                    routing scheme:         LWR
                                    ACK RSSI:               -90 dBm
                                    ACK channel no.:        1
                                    TX channel no.:         1
2024-06-28T17:16:20.089Z SERIAL « 0x011100a800000100050342030200a6007f7fa4                            (19 bytes)
2024-06-28T17:16:20.091Z SERIAL » [ACK]                                                                   (0x06)
2024-06-28T17:16:20.100Z CNTRLR   [Node 005] [~] [Thermostat Operating State] state: 0 => 2         [Endpoint 0]
2024-06-28T17:16:20.104Z DRIVER « [Node 005] [REQ] [BridgeApplicationCommand]
                                  │ RSSI: -90 dBm
                                  └─[ThermostatOperatingStateCCReport]
                                      state: Cooling
2024-06-28T17:16:20.106Z CNTRLR « [Node 005] received current thermostat operating state: Cooling
2024-06-28T17:16:20.109Z DRIVER   all queues idle

The simplest way is to refresh the entity. Just don’t do this frequently. Thinks minutes not seconds. The best would be to get the device working properly.

    - service: zwave_js.refresh_value
      data:
        entity_id: switch.oldwell
        refresh_all_values: true

That generates a lot of traffic on a thermo. So I do this instead

    - service: zwave_js.refresh_value
      continue_on_error: true
      data:
        entity_id: sensor.studio_thermostat_temperature
        refresh_all_values: false
    - delay:
        seconds: 2
    # https://zwave-js.github.io/node-zwave-js/#/api/CCs/ThermostatOperatingState
    - service: zwave_js.invoke_cc_api
      continue_on_error: true
      data:
        entity_id: climate.studio_thermostat
        command_class: "66"
        endpoint: "0"
        method_name: get
        parameters: []
    - delay:
        seconds: 2
    # https://zwave-js.github.io/node-zwave-js/#/api/CCs/ThermostatSetpoint
    # 1 = heat setpoint
    - service: zwave_js.invoke_cc_api
      continue_on_error: true
      data:
        command_class: "67"
        endpoint: "0"
        method_name: get
        parameters:
          - 1
        entity_id: climate.studio_thermostat
    - delay:
        seconds: 2
    # https://zwave-js.github.io/node-zwave-js/#/api/CCs/ThermostatMode
    - service: zwave_js.invoke_cc_api
      continue_on_error: true
      data:
        command_class: "64"
        endpoint: "0"
        method_name: get
        parameters: []
        entity_id: climate.studio_thermostat

This caught my attention because I’ve been experiencing a similar issue lately with my Z-wave CT-30 (Radio Thermostat). Only updates every 6-8 hours unless I refresh manually. I just re-interviewed the node which, other than wreaking havoc with all new entities, seems to be updating more promptly. I’ll update later and look forward to any other suggestions in this topic. Thanks.

Edited to add: at least with the CT-101 thermostat this appears to be an open issue that has happened before. May or may not be related to the Trane.

Thanks for this, it might really help. I can’t seem to get the syntax right, but I might need to play around with it. Seems that every type I edit a script in YAML and add new things to do it never saves. I go back to the block representation and back to YAML and it’s gone.

Need to play around with it.