Fan not working for thermostat template in dashboard

I'm having issues with the fan function not working for my thermostat template in the dashboard. Looking through older posts, I'm having the issue that it's trying to pass ' on' instead of 'on'. The auto button correctly passes 'auto'.

I am running 2.1.7.121. My device is currently configured as a Generic Z-Wave Thermostat and is really a CT100.

Logs are below:

2019-12-06 06:55:50.566 am info Thermostat thermostatFanMode is auto

2019-12-06 06:55:48.384 am debug setThermostatFanMode(auto) was called

2019-12-06 06:55:46.309 am debug ' on' is not a valid fanMode

2019-12-06 06:55:46.302 am debug setThermostatFanMode( on) was called

It almost looks like there is a space character before the on . . .

What happens when you press "on" inside the edit device page? Does the fan turn on Correctly then?

This must be a driver thing....because it is working correctly for my GoControl Thermostat from the thermostat tile. The tile should be populated by the fan modes that are available to your thermostat, which the driver should poll from the device. For example, mine isn't "on" or "auto" it's "fanOn" or "fanAuto" or "fanCirculate", which is exactly what shows up in the thermostat tile. So, I definitely think this is a driver issue, not a dashboard one.

@mike.maxwell, looks like there is an issue with the Generic Z-wave Thermostat driver.

I'll have a look at this

It works fine from the device page, just not from my dashboard. I first thought that the fan control didn't work at all, but I noticed by happenstance that the auto worked after testing the fan control in the device page.

Yeah...it's probably just the function that polls the available fan modes from the device is adding that extra space in there. Leading and even more so trailing spaces can be the death of you sometimes. Mike will find it I'm sure.

It's not in the driver, that much I know.
Something upstream is sending the command prepended with a space.

The tile works fine for my Go Control Thermostat with 2 different drivers. Must be specific to the "on" command since neither of the drivers I tried use that as the fan command.

Is there something that I can help test or provide that would help fix this issue?

I'm having the same issue, with the same symptom. I'm using the Generic Z-Wave Thermostat driver type, for my CT-100 Plus, and when changing the fan mode to on from the Hubitat Dashboard, I get the " on" command in the log.

You can see the first try from the device page worked correctly, and setting it back to auto from the dashboard worked, but trying to turn it on from the dashboard produces a different, invalid result:

image

Hey @mike.maxwell did you ever get a chance to look at this?

This has been an annoying bug in the dashboard tile for a while. You cannot set the fan to "On" from the dashboard because of this. It works fine from the device page since as you noticed it's not an issue with the driver. Somewhere in the dashboard app there's a space being added.

Out of curiosity, I did a quick test. I setup a Virtual Fan and added it to a dashboard. I changed the fan state. It seems both On and Circulate have spaces before. Auto seems to be okay. Here is a screenshot showing the extra space from the logs:

That said, even with this extra space, the virtual driver will report on after the change. Could it be that there is something in some drivers (including the Virtual Thermostat) that allows them to handle/ignore the space?

My issue appears to be similar. If you think this is unrelated I will move on and see if I can find another relevant thread or start a new one.

I have a Honeywell T6 Pro Z-Wave. Most things are working pretty well. I have the thermostat tile on a dashboard. When I try to change the fan mode from the dashboard nothing happens. Even the tile remains at the same setting.

This is a log capture where I tried to change from Auto to Circulate using the dashboard tile. When that failed as usual I changed the setting in the device page which worked. The fan mode displayed on the tile was also updated correctly.

Dashboard tile:
dev:11532020-10-12 11:22:00.164 am trace setThermostatFanMode(circulate)

Device Page:
dev:11532020-10-12 11:22:14.163 am info Thermostat fan is circulate
dev:11532020-10-12 11:22:14.154 am debug cmd:ThermostatFanModeReport(fanMode:6, off:false), desc:zw device: 36, command: 4403, payload: 06 , isMulticast: false
dev:11532020-10-12 11:22:13.664 am debug skipped cmd:ThermostatFanStateReport(fanOperatingState:1)
dev:11532020-10-12 11:22:13.655 am debug cmd:ThermostatFanStateReport(fanOperatingState:1), desc:zw device: 36, command: 4503, payload: 01 , isMulticast: false
dev:11532020-10-12 11:22:13.193 am trace fanCirculate()

Anyone have an idea what's going on there?

Download the Hubitat app