Why does the dashboard fan template have so many speed options?

I understand that there isn't yet support for custom device templates, but does anyone know why the Hubitat template provides so many options for fan speed? Most ceiling fans have motors that can only operate at three speeds. For example, all of mine operate at low < ~35%, medium < ~60%, and fast > ~75%. The result is many settings in the pop-up most of which do the same things as other options.

Couldn't this template just have low/medium/high speeds and let you supply the percent value for each as an attribute? That's how the custom device tile that I used in ST worked.

There are some rare fans with more than 3 options, and most smart fan controllers allow for either 3 or 4 speed fans. Could it be useful to have a parameter or attribute so it knows which type to display? Yes. But right now it is trying to accommodate whatever people might have or see on their fans.

1 Like

I understand that there are outside cases, but the current implementation is cluttering everyone's dashboard setup to accommodate just those outside cases. How hard would it be to copy the fan template and have a simple one with only three speeds, and a complex one with the additional speeds? It is the little things like this that greatly impact the WAF and the overall polish of the platform.

Are you using a built in device driver for your fan or a custom driver? Only reason I ask is I fiddled with a similar list when programming a driver for my air conditioner. Not a long term solution, but may help alleviate your issue for now .

The built-in driver. To be clear I'm less worried about the options in the backend driver as I am with the pop-up on the dashboard. I could actually modify the js to fix that but it looks like i'd have to manually copy off and host the dashboard files so that I could override the one js file that defines the templates, or pass the whole thing through a wrapper in Python to change that one section of the code.

Yeah, that may also be an option. I just know that I was able to override the built in enum to add or remove modes for my air con and thar took effect on the dashboard control.

In terms of a request to hubitat as well, adjusting the predefined list, allowing you to choose the valid options for the device, would also have the benefit of having the refined list appear in other parts of the system as well, not just the dashboard control, e.g. RM.

Interesting. From looking at the javascript I'm not sure that it would carry through a more restricted list but something to look at.

Short of getting the system code base changed, the only other way I could think of to adjust the enum list would be a user built app..

Adjusting the ENUM for the device driver or a built in app won't allow you to change the dashboard. The reason is that the definition of the available options is in the capability defined in the Hubitat core software.

http://docs.hubitat.com/index.php?title=Driver_Capability_List#FanControl

The only way this could be changed is if there was an attribute added to the fan control capability for "Allowed Speeds". The thermostat capability has something similar, supportedThermostatModes. The software uses that attribute that is published by the device to build the list of selectable options in a dashboard for Thermostat Mode. If something similar was built for the fan control capability, then the dashboard could use that to generate the list.

The driver could also be modified to pick the closest speed. For example, if you select Medium-low for a 3 speed fan, the fan would be set to medium and for Medium-high, the fan would be set to medium.

Those are your only two options.

1 Like

That's the one I changed, wasn't sure if the speed was a similar setup.

Nope, not currently for the Fan Control capability. It is a fixed list.

Something like this?

I’m not using HE dashboards. This was created using Home Assistant with the device entity data imported from HE.

What do you do if you have a fan that supports 4 speeds?

You can modify the the yaml file for the number of speeds required.

So, you are defining each fan manually? Okay....you can't do that in Hubitat. Hubitat uses capabilities. And the capability dictates what speed options there are. So, not possible on Hubitat. Unless of course you wanted to write your own dashboard app. Otherwise, the change would have to be made by Hubitat.

Yep, HE’s dashboard certainly has its limitations. This is why I prefer to use a 3rd party app.

1 Like

Interesting. So are you using HA solely as the dashboard?

No, I also use HA for other things you can’t do in HE.

iirc the middle speeds to go the speed below, so effectively you have 2 buttons for low (low/low-medium), 2 buttons for medium (medium/medium-high), and 1 for high