How do you use the Virtual Fan Controller?

I created a virtual device based on the Virtual Van Controller with the intent of using it as a proxy for a z-wave fan. Changing the Virtual Fan to Low would fire a rule that changes the actual fan to 33.

When I tried to create the rule, the triggers would not see the Virtual Fan allowing to test for the condition.

Any Thoughts?

Thanks.

1 Like

Any thoughts on how to use the Virtual Fan Controller. It looks like something that would be quite useful but I can't locate any documentation on how to utilize it.

Thanks, Glenn

I haven't tried to use this driver, but in general, there isnt documentation on how to use Virtual devices. By design they are just templates that can send and receive "events"....it's up to us to use our imagination on how to tie these events into something useful.

It would be useful to know all the commands a virtual device can process and what events it can fire and that may come eventually. In the meantime, you can get clues from the driver itself. Create a virtual fan device and on the driver details page there will be a set of buttons...some with input fields. Each of those buttons represents a command that the device accepts. For example, "Set Speed" is the setSpeed() command, "Set Level" is the setLevel() command. Each input box below the button is a parameter that the command accepts.

Using these clues you can determine how you can utilize these devices to trigger other devices or automations.

@stephack My approach was to use it as a proxy for an actual z-wave fan by using a rule. For example, when the Virtual Fan is set to Low it sends a Dim 33 to the z-wave Fan. Unfortunately when I tried to setup a trigger the Virtual Fan device I created didn't come up in any of the lists for selection.

I created a virt fan controller (probably should have done that before replying :laughing:) and now see your confusion. There appears to only be setSpeed() available which I believe is part of the Fan Control capability. There also does not appear to be an option to utilize/monitor fans in RM yet.
@bravenel will fan control devices/capabilities be added to RM in the future?

What's nice is when you add it to a dashboard you can use the fan tile. Then you can click through Low, Medium, High, Off. I'd like to know what's in the Virtual Driver that enables this to work with the Dashboard Tile so I can add that to the the device driver for the z-wave fan.

That's probably going to be the Fan Control capability. This should automatically add the setSpeed command to your driver. You would then need to add the setSpeed definition and the necessary code that translates High, Low, etc to actual fan speeds on the device.

Below is a link to my original Hampton driver that used this capability. You can use it as a template.

Thanks @stephack! I'll take a look and see what I'm missing. I'm using a pretty simple driver that sets speeds and allows for lowering and raising to the next level simply by multiplying by a factor of 33.

Did you develop the KOF DH for ST? Not to get off topic... A while back I had everything connected to ST, I tried the KOF's controllers but could not get them working consistently, even with a good Zigbee mesh. I tried the KOF's because two of the five fans on the patio run slower than the other three fans because they share a GE Z-Wave 3-Speed Switch. I may give the KOF's another try with HE.

I co-authored it with 2 others. You will have the same issue here as with ST though. The trick to the Hampton fan controller is to have a zigbee repeater in every room where it is located (even if it's right next to the hub). We didn't realize this while developing the driver and it caused hours of wasted time trying to troubleshoot the code.I have 4 of them and they are rock solid (except when I have an extended power outage at my home).

Do you use Dashboard and if so how do you have your KOF fans configured.

I setup a Virtual Device using the KOF driver just to see how it reacted with the Fan template expecting to see Low, Medium, High when clicking on the Tile, but that doesn't happen.

I've only been able to get that to work with the Virtual Fan Controller.

I haven't used the dashboard in a long time, but I created one to test. My KOF fans work the same as the Virtual driver ie they cycle through the speeds when clicked and update on the dashboard.

If by this you mean you created a virtual device using my custom driver, then that will not work. That driver updates only when the fan sends an updated status. In other words, it needs to be tied to an actual fan controller. It will not function as a virtual controller.

Highlighting the question about how one can use RM with the Virtual Fan Controller; no apparent way to select either the capability or the device in RM with latest hub firmware.

If that is correct, is support for Virtual Fan Controller in RM planned?

I don't have any insight into what the HE team plans are. This is a question for @bravenel.

If you share what you would like to accomplish, someone in the forum may be able to point you to an existing tool or driver to accomplish it.

I’ve installed a HomeSeer FC-200+ to Control a ceiling fan, along with a Zwave wall switch to control the light kit mounted below the fan.

Objective is to have Alexa control the fan speed, using a straightforward command like “Alexa, set the fan speed to medium”.

I was attempting to use the virtual fan controller device as the proxy for the FC-200+, which Hubitat discovers as a HomeSeer smart dimmer. The virtual device’s “setSpeed” Control is exactly what I want as the interface to the ceiling fan, not only for Alexa, but dashboards as well. Problem is RM does not allow the Virtual Fan device to be used in a rule or a trigger.

A possible solution to this is to use Alexa Routines. You could create a few of these that use specific voice phrase triggers, like “Alexa, fan speed low”, “Alexa, fan speed medium”, “Alexa, fan speed high”. Within each of these Alexa Routines, simply adjust the FC-200+ dimmer to the correct percentage.

Ok will give that a try, however I have multiple ceiling fans that I ultimately will replicate this automation to. So I was hoping to take advantage of the Alexa Group “default context” when each room has an Echo or a Dot. This prevents one from having to say “Alexa, turn on the Den Ceiling Fan” when you are (obviously) in the Den. This is a very nice feature of Groups, that is used in my home setup to simplify the voice interface to all devices.

Good point! For one fan, my technique works fairly well. For multiples, your idea is simpler.

FYI @stephack and @ogiewon, I resolved the Virtual Fan Controller linkage problem (can’t use in RM) by writing a small App that:

  1. Accepts as input parameters a Virtual Fan Controller device and a Dimmer device (wired to the ceiling fan)

  2. Sets the Dimmer level based on the chosen “setSpeed” on the Virtual Fan Controller

  3. Tracks any manual changes to the physical Dimmer and reflects that in the Virtual Fan Controller speed setting, so the two devices are always in sync

So this provides the fan control proxy virtual device desired, and Alexa responds to commands to set the fan speed to off, low, high, on (resumes last speed setting). The Alexa skill ignores the Virtual Fan Controller device, so the other setSpeed values (medium, ...) aren’t directly accessible via Alexa. However, “Alexa, set the fan to 50%” works.

Most of the way there, will experiment with Virtual Switches for each fan speed next, and see if that can clean up the Alexa interface.

2 Likes

Good stuff. I'm glad to see you are making progress. A word of advice. First thing you should figure out is how you and the family interact with your fans the most and tailor your solution accordingly.

When @dcoffing, ranga and I started working on the Hampton Fan handler for ST, we quickly realized that choosing how we would allow the fan to be controlled is a rabbit hole with no light at the end. We chose to focus on voice control and built it with that in mind.

I'm still not sure what you "need" to have. I can see that you want easy voice control but also want easy dashboard control and you are also using a virtual fan control driver that was really built along the lines of the Hampton zigbee controller. Trying to get everything working perfectly is the rabbit hole because both the voice and dashboard can be interacted with in a variety of ways. As an example, when I used the dashboard, I setup a virtual 4 button driver and also created custom commands in RM for each setSpeed. My voice side was already taken care of because the driver was built to expose each speed separately.

Tldr... fan control is tricky because there are different ways the physical devices can be controlled and a even more ways they can be controlled digitally. I suspect that is why they haven't included it in RM yet. They would first have to choose how users would interact with it...and no matter the choice, someone will ask for the other option.

3 Likes

Which repeater did you settle on? The Iris outlet? It isn't on clearance in my area so I was thinking of the IKEA for $10. Or maybe I should just wait it out on Lowe's to drop the price again.