How do you use the Virtual Fan Controller?

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.

Yep. I have about 10 Iris outlets scattered throughout.

If this was working ok for you, would you mind sharing it here?

Sure, not much to it, and built only for the one fan I am fooling with now.

Subsequently, I also made some edits to the device driver posted here to provide 4-speed support (target dimmer set points for each of the 4 speeds, as well as the default 3 speed setpoints). That's working well, although I didn't add a capability.fanControl to the device driver. The app provides a bridge between a virtual fan controller device (which of course has "capability.fanControl"), and a dimmer device. Then one can manipulate the virtual fan controller via selection of the named speed settings.

The FanController 'proxy' app code can be found here.

1 Like

Thanks for sharing.

Could you please share your Virtual Fan Controller driver ?

Sure, I must have removed it from GitHub, I’ll re-post it there by this evening and update the link.

1 Like

OK link updated in the prior post, here also.

1 Like