There are a few online videos or web write up on accessing the controls of the MaxxAir MaxxFan Deluxe and controlling with outside software. MaxxAir provides a easy access because of their support for a couple of wall mount remote devices. They have RJ45 and RJ25 connectors to support those.
Luckily for me someone already figured out the corresponding button controls and 8 wire pin outs of the RJ45 connector. I had previously run a low profile RJ45 cable to allow a wall remote to be installed in the future. I purchased two port RJ45 breakout board, this allows me to still use the wall remote in the future, as I don’t need to hack the cable.
Then it simply comes down to using some network accessible relays. I had some Phidget devices around and decided to wire it up.
The next problem is feedback, how do I keep track of the state of the fan and stay in sync with the manual buttons, and remote control. In one of the videos the author speaks of the RJ25 connector and that another person had found that the white and black wire had changing voltage that changed with fan speeds. Of course, there are a couple of black and white wires, but I figured that the ones going to the fan motor were the best choice. I had to monitor both wires independently with their own voltage sensors. I first wanted to just measure the difference between the two, when I tried that I got an error on the MaxxFan.
By monitoring those two wires I was able to determine the direction of the fan, the speed of the fan, and if the fan was on or off. The only state that I can’t directly detect is if the fan is open or closed, and that is only when using the open/close button, no fan.
I tried to mimic the display on the MaxxAir remote, the off state, close state, speed, and direction will stay in sync with the remote. The temperature setpoint and actual temperatures are not the same, instead my own ceiling temperature sensor (which is close) and of course the setpoint will be from my program. On the outside rows you have the standard remote buttons, the middle row is for adjusting the temperature setpoint and enabling my program control.
The main purpose was to give me control of the fans from the driver seat. But, the automation capabilities may be the real bug thing.
Comments