Virtual Fan Controller

The current version of the "Virtual Fan Controller" automatically implements the following fan functions:
Low
Medium-Low
Medium
Medium-High
High
On
Off
Auto

I am unaware of any ability to delete the ones I do not need. (Please advise if there is a way). My feature request, for this virtual device driver, is to allow for the selection of the fan functions that you desire. It would also be nice if one of the levels could be user-defined. For example, I am currently integrating several Levoit Air Purifiers and they only need the following:
Low
Medium
High
Sleep
Off

Furthermore, if this was possible then when you add this device to a dashboard, the only items that would pop-up for selection would be the above 5 items, as they are the only five items that the purifiers respond to.

1 Like

I think the Virtual Fan driver was written for ceiling fans. I would like this functionality as i use it to control my desktop fans which dont have the same speeds, but mostly i would like to have a swing option.

Another way to consider my request is as follows: This is the pop-up menu that appears on a dashboard when you press the virtual fan tile:

I would like there to be a virtual device where you pick the items that pop-up and you can name them whatever you want. This could be done from the preferences menu of the device driver. HE can name this new virtual device driver whatever they think is appropriate.

In 2.2.6, a supportedFanSpeeds attribute was added. The virtual device could generate this event (how would be a bit tricky...). But right now, it has almost no effect--just that, creating an attribute with a value that an app could read, for example. Dashboard could read this and only show the supported speeds. As of now, it shows the full gamut of options regardless. The admin UI could also read it and only show the supported options in the command drop-down, though I'm guessing their current UI framework might make this difficult. But it also doesn't do this If you're writing your own driver, you can "override" this display, overcoming that issue. In any case, I'm not aware of any place that it's actually used. But it's there, and presumably it was added with the intent that some day it could be. :slight_smile:

IMHO, the best way to handle this in the meantime is to make sure any "standard" speed input is handled by your app/rule, even if you use only a subset. You can report back only a subset (e.g., if you're matching this to a real,speed and it only supports so many). That way, the options in Dashboard and the admin UI will always do something. (I'm assuming you have such a setup given that virtual devices are, by definition, not real, so you must have some app/rule to tie thm together.) To get the admin UI to display specific options, you'll need a custom driver; for Dashboard, I don't know of any way now but hope they use the above attribute more in the future, which you'd probably currently need a custom driver to set (though they could add something to the current virtual driver to generate the event--but, again, not that it matters much now).

It's a virtual driver. It wasn't writing for a real device at all. :slight_smile: But yeah, it's likely they had ceiling fans in mind when imagining this behavior--probably for both this and the platform-level fan capability.

Virtual thermostats have the option to set supported modes and fan modes... Would it be possible to add the same to virtual fans so we could cut out the extra options that aren't needed? @bcopeland?