There’s an entity called climate.z_wave_thermostat which is the main entity, and a fan entity called fan.z_wave_thermostat which was not enabled at first.
In the fan entity’s control card (not sure what to call it), there are 3 controls: “fan on” “fan off” and an expanding button for the “preset mode”, which allows the selection of either “low” or “auto low”. The first 2 buttons do nothing, except issue an error “Failed to call service fan/turn_on. Unhandled action turn_on.” (or “…off”). I can expand the preset mode button to change between auto low and low, and the setting on the tstat changes accordingly, but I can’t seem to get an automation to interact with it. For the record, I haven’t even tried any other automations with the temperature settings yet. I have other z-wave devices with automations that work, a motion sensor and a smart plug (both Zooz). Super easy. I have tried so many different Action options, I don’t even know what I haven’t tried yet.
What flavor of automation Action should I be using for the fan preset mode on this tstat?
Did I do a dumb in buying the CT100? Since buying it, I’ve been looking for answers to these troubles I’m having, and I’ve found countless cries for help with just about every problem you can think of, and very few solutions besides “go buy a T6 instead”. (which, ok, I just might)
The nice thing about Z-Wave is that everything is standardized so the command you would use to do something on one thermostat can be used on another thermostat.
I am using the T6 Pro and just like you I enabled the fan entity. My thermostat name is thermostat and I have 2 entities that I can control. I have the climate.thermostat entity and the fan.thermostat entity.
To change the fan mode in your automation you can use the Climate: Set fan mode action for the climate entity or the Fan: Set preset mode action for the fan entity.
I have the CT50 thermostat from the same company and had never enabled the fan entity until I saw this post. Personally I find it awkward because it doesn’t support fan.turn_on and fan.turn_off services. I tested however, and it does support fan.set_preset_mode for either “Low” (with capital L) and “Auto low” (i.e. “off until AC or heat kicks on”).
Long before this entity was introduced I had defined my own YAML fan so I could control the blower from HomeKIt with simple on/off and not worry about modes:
fan:
- platform: template
fans:
# make an on/off fan using thermostat fan control
hvac_blower_fan:
friendly_name: "HVAC Blower Fan"
value_template: "{{ is_state_attr('climate.zwave_thermostat', 'fan_mode', 'Low') }}"
turn_on:
service: climate.set_fan_mode
data:
fan_mode: 'Low'
entity_id: climate.zwave_thermostat
turn_off:
service: climate.set_fan_mode
data:
fan_mode: 'Auto low'
entity_id: climate.zwave_thermostat
Your device does not support “fan off” or “fan on”, so those options fail. Some thermostats do support on and off. The HA fan entity does not support the notion of a fan without on or off capabilities, so the runtime error is an ugly compromise.
Some people want to track the history of the fan state without resorting to templates, so the fan entity was added. You can elect to use the climate services instead, as mentioned, or stick to the presets.
Awesome! Thank you all very much.
Yep, I understand that the logic for “fan on” doesn’t exist in this tstat. I wasn’t really expecting that to do anything, but thanks for the background explanation for why it’s there! I’ll go ahead and re-disable the fan entity to get it out of my way as I wander through this fun adventure.
The only yaml I’ve dipped into has been copied from tutorials, and even that didn’t go as expected.
I’m still excited to get this up and running