HomeSeer FC200+ fan driver

3/29/19-New Updated Driver available. I fixed the flashing of LED (may need to set a 5,0,0 to reset you value first)
Also moved all the doubletaps and holds to buttons. This allows easier configuring of rules and in addition makes it more universal with default driver. Since the default only allowed double taps and hold and this switch goes well behind that.

  • Button Mappings:
  • ACTION BUTTON# BUTTON ACTION
  • Double-Tap Up 1 pressed
  • Double-Tap Down 2 pressed
  • Triple-Tap Up 3 pressed
  • Triple-Tap Down 4 pressed
  • Hold Up 5 pressed
  • Hold Down 6 pressed
  • Single-Tap Up 7 pressed
  • Single-Tap Down 8 pressed
  • 4 taps up 9 pressed
  • 4 taps down 10 pressed
  • 5 taps up 11 pressed
  • 5 taps down 12 pressed
2 Likes

Seems to be working great! Thanks!

I've been following your port closely as I was struggling with the button capability. As I was looking through your code, I think I found a typo. It may not be, but I was just confirming.

On line 453 you have:
result += createEvent(push("physical",4))

But should it not read:
result += createEvent(push("physical",7))

I think the switch statement is looking for a single tap up, but as written is it not a triple tap down? Again, I am still trying to wrap my head around this and could not figure out that one line.

Thanks for the driver BTW. My fan controllers will be here today!!!

Spalexander thanks for the find, I submitted the change , it didn't actual affect the action as it was a physical button push just the event submitted to Hubitat, still it was wrong so thank you!

Buttons are the easiest way I could do all the extra taps and pushes. I didn't want to create doubletaps, holds, and buttons so I went all buttons to keep it common.

I also made myself I custom driver that allows buttons to change LED status as setting all the commands up in rule machine is less than ideal, I really wish they would let us just put a command in a rule and not define it first.

Example: button 110 turns on LED one in red with no flashing. It makes it easier for me but happy to share if others want to fire them that way as well.

Yeah I am going to create some custom commands so I can use them in rules. Would 111 make LED 1 red and blink?

@banta, one other question.

One of the fans I am putting this on is a 4-speed fan. I know I can set the driver to a 4-speed rather than 3-speed. But as the driver is written, would the 4th speed be ignored since there is a low, med, and high only? Or is that just for inside the driver details, but internally, the 4th speed would kick in automatically by physical button push?

Again, I am still trying to wrap my head around all of the driver code. I'll have one of those aha moments one of these days, just ain't happening yet LOL

Yes but you would need my custom driver almost finished with it

I honestly don't know how 4 speed works, I assumed it only works from the physical button. I just copied how Homeseer had the driver written on that part and the don't define a 4th speed either. Maybe someone with a four speed fan can comment? Mine is only 3

So with your custom driver, I won't need to create custom commands for RM?

Correct you can just "push" the button you want equivalent to the setLED command. It makes it much easier.

Sweet. I am interested in your driver when you get it finished.

Thanks for your help BTW!

Seems to be working so I put it up. Much easier then defining commands

Well buttons seem to limit to one button, one device per rule :frowning:

I am considering making child devices of lightsbulbs for each LED. This would make it possible to set several on a rule. I have an issue setting commands as allot of times they set as null in RM. Gonna have to think this over

Any chance to add the FanControl capability to this driver with the associated setSpeed() commands? I have been trying to mess with it, but I am not having much luck.

BTW, my wife thinks I am weird hooking up all of these smart devices. She is not into it at all.

But I added a rule that will blink the top 2 buttons red if we forgot to lock the front or side doors. She saw it the other night and asked about it and I told her what they meant. Her reply "Sweet." That was a golden moment for sure LOL.

3 Likes

Yup....I feel like we are married to the same person.

1 Like

They're probably related :wink:

1 Like

What exactly are you looking for? You want a low,med?high command? The set speed should work based on the thresholds you set.

1 Like

The speed settings on your 3 speed fan are not used. You should have the pull chain set to the fastest speed. The switch is creating the "speeds" by the power it sends to your fan, so your fan will be a three speed or a four speed depending on how the fc200 is configured.

If I remember correctly from my use of this driver on Smartthings, when you enable the 4 speed option, low is 1-25, med is 26-50, med high is 51-75, and high is 76-100. These are dimmer numbers because the switch is essentually accepting dimmer settings for the speeds. Why the driver has no option to configure the threshold for the 4th speed you would have to ask homeseer. I just think it wasn't done by them properly.

The dashboard button doesn't seem to work with this driver. I'm using the 4/20/19 version and when I use the dashboard button to set the speed the log shows an error saying the "Command 'setSpeed' is not supported by device." It looks like the driver is expecting 'setLevel' instead.

Any ideas on how to make the dashboard control the speed? I can control it using the dimmer tile but that's kind of janky. I'd really rather it be fan tile so people don't get confused.

Edit:
A helpful member pointed me to a newer driver that supports all the button taps, LEDs, colors, and the setSpeed parameter used by the dashboard tile. I don't know why it didn't come up in any of my searches. It can be found here: [Release] HomeSeer HS-FC200+ Fan Controller Driver

@banta is there a way to make the first tap light up the 2nd LED when you have Bottom LED On if Load is Off set to true ?