Fan Speed question

I have 4 speed fan switches.
I know only Low Med Hi fan speeds are accepted in sharptools. ST displays fan speed as Off, Low, Med, High, Max and registers in IDE as 25, 50, 75, 100.
Is there a way to set fan speed using the %? I’d really like to be able to set fan speed to max (100) from sharptools dashboard. Currently when I can not go above High.

Can you share some more details about the device? What capabilities does it report?

Many fany support the setLevel() command as part of the Switch Level capability which means you can change the tile layout to the Switch Level Tile, disable the glow, then use the dimmer functionality to control fan speed.

Alternatively, you could create a rule to ‘toggle’ between the speeds using conditions.

I have the fans as tiles on a dashboard. I have been using the fan speed tilewith show speed picker. Speed picker only shows off, low, med, high. I want to be able to set to Max. I like this because it is easy and intuitive for anyone.

I’m not a fan of the dimmer switch tile (at least with lights). You have to adjust dimmer and then it seems like you would hit close but if you hit close, the command is not sent. you have to touch outside the dimmer box to close it to accept the new level. It confuses guests (and me sometimes). I will try the switch level with dimmer but am looking for a better option.

In ST, the tile allows me to pick off, low, med, high, max

Here are the capabilities listed in Sharptools

In ST device capabilities are
metadata {
definition(name: “Z-Wave Fan Controller”, namespace: “smartthings”, author: “SmartThings”, ocfDeviceType: “”, genericHandler: “Z-Wave”) {
capability “Switch Level”
capability “Switch”
capability “Fan Speed”
capability “Health Check”
capability “Actuator”
capability “Refresh”
capability “Sensor”

	command "low"
	command "medium"
	command "high"
	command "raiseFanSpeed"
	command "lowerFanSpeed"

	fingerprint mfr: "001D", prod: "0038", model: "0002", deviceJoinName: "Leviton Fan", mnmn: "SmartThings", vid: "SmartThings-smartthings-Z-Wave_Fan_Controller_4_Speed" //Leviton 4-Speed Fan Controller

simulator {
	status "00%": "command: 2003, payload: 00"
	status "33%": "command: 2003, payload: 21"
	status "66%": "command: 2003, payload: 42"
	status "99%": "command: 2003, payload: 63"

Any suggestions how to create something similar to speed picker that includes the max setting would be greatly appreciated!

@josh Can you point me in the right direction to create the toggle rule to cycle between all 4 fan speeds? I have been using the dimmer solution and still very much dislike the dimmer!

Unfortunately, the device doesn’t report that it supports a 4th speed (‘max’) to other integrations, so there’s not a meaningful way of distinguishing that it’s a 4-speed fan.

The 4 Speed Fan Not Show Max Speed thread has some additional background and details on the issue. We proposed a supportedFanSpeeds attribute to SmartThings, but didn’t get any traction from them on it.

Based on the snippet you provided above, I found the following DTH - is this the one you were referring to? Z-wave Fan Controller

Side note: It looks like the built-in raiseFanSpeed() method doesn’t support the ‘Max’ (4) speed level as it caps out at 3 as the maximum speed and it doesn’t cycle back over to 0. And even though they defined a max() method, they don’t expose it for our use. :confused:

That probably leaves us with cycling through the numeric speeds in a rule. Tagging @James to see if he has any better ideas.

This should not be the case. Once the selector on the dimmer range is released, it should immediately attempt to send the command.

If you’re able to consistently reproduce that, I would be interested in hearing more details on how you reproduce it and on what device.

This is the dth I’m using.

I’m OK with this I just can’t figure out how to write the rule.

This is how it works using Chrome on my phone and FKB on fire and Samsung tablets. It works like it should using Chrome on a PC but has a 10-20 second delay before sending the command.

Since its supported on hubitat now could he add it to the smartthings dth for use in sharptools?

SmartThings uses numeric values for their fan speeds (eg. 0, 1, 2, 3) whereas Hubitat uses strings (eg. off, low, medium, high). It’s something that’s been on my watch list for Hubitat (related feature request), so I would be open to including a relevant numeric version of it for SmartThings too.

1 Like

@James sorry for the tag but I believe Josh had tagged you in an above post asking for help creating a rule to toggle fan speeds since the speed picker doesn’t recognize all 4 speeds.
I’ve used the true false variable to aggregate on/off functionality but not sure where to start for a toggle through speeds option.
Any guidance is appreciated.

1 Like

@josh Not trying to beat a dead horse, just trying to learn.
In looking at the Z-wave Fan Controller dth again, it was written for the Leviton 3 speed fan switch and adjusted to incorporate the 4 speed fan switch. Towards the bottom there are settings which adjust for the Leviton 4 speed fan. I believe it starts on line 127 and references the setFanSpeed Integer (0, 1, 2, 3, 4) on line 180.
Is the issue with how it is written or in communicating with Sharptools?
Again, just trying to learn what to look for.

I appreciate the discussion. :smiley:

So the device handler is capable of accepting 0-4 as speeds in the setFanSpeed() command, but the device itself doesn’t advertise that it supports the additional speed in anyway – in other words, it internally knows that it supports the 4th speed, but it doesn’t report to SmartApps/integrations that it supports that speed.

We proposed a supportedFanSpeeds attribute that mirrors similar style attributes from several other device capabilities, but didn’t get much traction on it from SmartThings: Request: Attribute to Identify Supported Fan Speeds - Support - SmartThings Community

On the other hand, Hubitat added support for this proposed attribute in one of their recent software updates, so I’m going to go ahead and take a stab at getting the supportedFanSpeeds attribute working in the Fan Tile and I’ll add support for our proposed SmartThings equivalent.

That way if anyone wants to modify their DTHs, they can do so and get full fan speed support (it’s only 1-2 lines that I can share once I get it working).

1 Like

Thanks so much for the details.

@Terri, thanks for tagging. @josh and I had a discussion on the rule options but both just disliked the UX in the potential options using rules and variables. So Josh wanted to take a further step as he responded above. :wink:

1 Like

We ended up going a slightly different direction and adding a fan speed customization to the Fan Tile. It’s available in beta as of today

1 Like