On one of the T6 I was seeing Timeout Errors in the zwavejs-ui on statistics for the device, it was occurring roughly 1% of the time. I looked at the zwavejs log files and the timeouts were happening as part of the refresh. When specifying True, it updates a lot of stuff - 15-20 transactions and it appeared that rather than reporting fan state it was sending out temperatures, which caused zwavejs to timeout the fan state request. Net it it looked like the T6 got confused with the rapid fire requests.
So I slimmed the refresh down to exactly the data I needed and that issue has gone away.
This gets the current temperature, the operating state, the operating mode and heat setpoint. I stagger the updates for the different thermos by substituting a different delay in.
- id: "T6 bedroom_thermostat Poll Temperatures"
alias: T6 bedroom_thermostat Poll Temperatures DELAY_SECONDS
description: "Workaround issue with T6 not always reporting temperatures"
mode: single
max_exceeded: silent
trigger:
- platform: time_pattern
minutes: "/10"
- platform: homeassistant
event: start
action:
- delay: DELAY_SECONDS
# Refreshes the temperature
- service: zwave_js.refresh_value
continue_on_error: true
data:
entity_id: sensor.bedroom_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.bedroom_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.bedroom_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.bedroom_thermostat