First off… lemme say I have NO experience with Arduino or Rasberry Pi, but am considering one for a project I have been meaning to start for quite some time.
I have three Hampton Bay ceiling fans (that I quite like) that are controlled by the following RF controller…
The control surfaces of this remote are as follows:
1.) Fan speed, momentary contact, loop, first contact = hi; 2nd = med; 3rd = low; 4th = off.
2.) Fan direction, momentary contact, toggle, up, down.
3.) Light switch, momentary contact, toggle, on, off.
4.) Light dimmer, momentary contact, time based, hold (or close) to continuously cycle through brightness hi to low then low to hi.
5.) 4 gang DIP switch to select transmit channel, latched contacts.
There are other buttons on the remote for setting and entering a thermostatic mode which will be ignored.
The remote has an LCD display which displayes the brightness level 20%-100%, Fan speed (hi-med-lo-off) and direction(down-up). But the remote is not two way syncro’d, i.e. if you move the remote out of range and set it to high, it will indicate hi but obviosly the fan is not on. If you then move the remote in range and press the speed button once again it will indicate medium, and the fan will actually start up at medium speed… so some state info is kept in memory, and it appears four different signals are being sent as opposed to just a simple toggle (light behaves this way too).
My plan is to cannibalize one of the remotes and use it to control all three fans, making the necessary closures of four relays to simulate the positions of the DIP switches. Three other relays will be used for the momentary closures needed for 1, 2, and 3 above. I know #4 is kinda dicey from a relayed control standpoint… Hell, it’s dicey from the actual button on the remote, so not really necessary here as we rarely change their brightness anyway.
Hard to believe no one has done this before as popular as these things are (or if they have they’re keeping it a secret), but what I wonder most about is how to keep things in sync? Three different fans, seven different fan states.
Is this project just too big a cluster***k, or am I just making it out to be?