Lutron Fan Control - issue with "switch" and "fan speed" attributes

I will preface this by saying that this first manifested itself by using SharpTools with the new animated fan control tile. However, I think the issue is on the Hubitat side.

I have multiple Lutron fan control devices in my Hubitat setup. All of these are using the Lutron Fan Control driver. What I have noticed is that when the switch attribute is off the fan speed attribute is not updated to show the same "off" state, even though that is one of the possible values for fan speed. (see screenshot) In other words, the fan speed attribute remains at the last setting before the fan was turned off.

I didn't notice a problem with this until I started using the animated fan tiles in my SharpTools dashboards. Even though the fans are physically turned off they are still showing as active / turned on at "Low" speed.

Can the Lutron Fan Control driver be changed so that the switch and fan speed attributes are the same when the device is turned off?

1 Like

I've noticed this as well. The EventSocket does not publish the on or off with "speed" as the device like it does with the actual FanControl speeds. The On/Off are published only to the "switch" device.

1 Like

Hmmmm... I liken the current fan speed to a dimmer’s level attribute. Even after you turn a dimmer switch to off, its level attribute retains the last value. It is this value that is restored when the device is turned back on. Why wouldn’t a fan controller behave the same way? After all, for a long time dimmer switches have been the defacto driver design for fans. I see setting a dimmer level to zero similar to setting a fan’s speed to off. In both cases the actual device turns off and the switch status changes to off, but the level attribute is retained.

Sounds to me like the SharpTools fan tile might need some changes?

Just thinking out loud and sharing my perspective. There is probably no one right answer, just different solutions to the same problem. I just think it makes more sense to continue to emulate a dimmer, as I prefer to have my fan resume its last speed setting. However, that could also be achieved by storing the last speed in a state variable and restoring it if a user turns the fan “on” instead of explicitly setting a fan speed.

Agree and disagree... this is the way the Z-Wave Fan Controller works. However the device in question is the Lutron :smile: Also the default handling of the Z-Wave Fan Controller was never more than a glorified (high watt) dimmer switch to begin with which is why it was handled in such a manner.

While I understand the Lutron vs “other fan controllers” differences, Hubitat has the task of making them all behave properly under their “FanControl” Capability. This is the only way Apps like Rule Machine and Dashboards like SharpTools can ever hope to work consistently. Hubitat needs to be consistent across all fan controllers in their implementation, IMHO.

Good discussion! :thinking:

Oh I agree with the need for consistency. I think there's many ways to skin this cat and it's all up to how the HE team handles it.

Currently there's a fan speed for Lutron (medium-high) that doesn't do anything for the GE... and there's currently the on/off "speed" levels. If they would simply report to the EventSocket like the other speeds that would fix the SharpTools issue and my integration issue. In the meantime I had to do a work around to include a switch device that really is not necessary and confusing for new users.

2 Likes

@ogiewon --

You raise some valid points, especially as it relates to having a consistent behavior in Hubitat for the various fan control devices types.

The physical manipulation of a Lutron fan control switch was unexpected to me (at least the first time I used it) -- when you physically press the On (top) button, even if the fan speed was last on Low speed, it instead goes to High speed...

@josh -- what are your thoughts on how to manage this on the SharpTools side of things? If the switch attribute is OFF can the fan tile reflect that off status, otherwise use the fan speed attribute for the tile animations?

1 Like

@mike.maxwell do you think the Lutron Fan driver could be updated so the speed attribute associated with the FanControl capability could report 'off' when the device is turned off?

@ogiewon
I can understand the viewpoint on a device that implements both Switch and SwitchLevel capabilities and how those two capabilities interact with each other. Almost every dimmable device I've seen implements both capabilities... and as the name of each capability implies, there's some level of relationship there. (Take for example the 'Virtual Dimmer' built-in driver)

But the canonical implementation of the FanControl capability, the 'Virtual Fan' driver, implements only the FanControl capability. And I see the FanControl capability as something that can either be implemented independently or optionally alongside other capabilities like Switch and SwitchLevel for backwards compatibility / convenience.

That provides the ability to create a driver for a physical device that only controls a fan and layer in Switch or even SwitchLevel as a matter of convenience or means of extending backwards compatibility with other apps (eg. for fan only hardware like the GE Z-Wave Fan controller or Lutron Fan Controller).

But devices like the Hampton Bay Fan Controller control the lights and the fan from a single physical device and more strictly adhere to the traditional capability implementations. In the Hubitat implementation of the Hampton Bay device, there is one default device (driver) which implements Switch, SwitchLevel, and Fan Control - Switch and SwitchLevel are used for controlling the light and FanControl is used for controlling the fan speed. (There's also the option for creating child devices - one for the light and a separate one for the fan)

With how many new features and how much code the team is knocking out, I honestly thought it was just something that was easily overlooked in the Lutron Driver and could easily be corrected to have the speed attribute also report 'off'.

As you mentioned, consistency is key. With the case of a device like the Hampton Bay Light+Fan device where FanControl truly refers to just the fan controls or a device which only implements FanControl like the Virtual Fan, the speed attribute must report the 'off' state. Thus it makes sense to extend that consistency (and optionally layer in the other capabilities for compatibility)

3 Likes

I brought this up in this thread here which Patrick replied too.

1 Like

Actually, if you use a different custom driver, you can set whatever dimmer level you want for the different levels that HE has in the fan capability for the GE fan controller. So, I have medium-low and medium mean the same thing for my GE. My Hampton Bay fans have the Medium-Low but not the medium-high so i never use the medium high.

I have had to be careful to always control the fans as fans so that the speed attribute is set correctly in HE for me to react to with other rules. For example, if it's on high speed, you have to issue the Off Fan speed to get the speed to show off. If you turn the switch for the device off, that fan will stop spinning but it will still show a speed of high. So, just be more careful with what you order and it will always display correctly.

Yes, and on should presumably restore the last running speed, at least that's the way I see it.

2 Likes

I agree...that's how the Hampton Bay controller works.

Sounds like we have a consensus! Nice!

One thing that should be considered is how these “Fan” devices behave when used with Amazon Alexa and Google Home. I am not saying the design proposed above won’t work...just that we should make sure we strive to make Hubitat as compatible as possible.

Since you're going to update the EventSocket info anyways... can you get the request I sent @chuck.schwer about populating the hubId field included as well? Would make supporting multiple hubs SOOO much easier! :smile:

2 Likes

This thread is about the lutron fan driver

I see my foot note of thread hi-jack didn't survive the doesn't like "<>" brackets I guess :slight_smile:

  • Update Lutron Fan Controller events to match other fan controllers.

@KakaduDreamer have you tried the newest Hubitat release? I'm wondering if the quoted update is related to this thread.

1 Like

Just updated a couple hours ago. Yes, happy to report it looks like the Hubitat 2.1.3 update resolved the issue with Lutron Fan Controller, specifically, now when fan speed is set to Off the switch is also set to Off. The fix definitely resolves the issue with fan tiles in SharpTools dashboards...

4 Likes