RGB Controller

I think that I have a different twist on this popular topic.

I have some RGB Controller light switches (http://www.ledenet.com/rgbw-led-controller/424-rgbw-rgbww-led-controller.html) that I have no trouble getting to work, but I would also like to control these same LED lights via Wifi using an Android device. So a person entering the room can control using the switch, but the lights can also be controlled remotely.

I think that I need to pass this through an Arduino. If the light switch sends a signal, the Arduino software commands the output accordingly, and then if it receives a command via wifi, it command output according to that demand.

Do I have the right idea for how this can be done?

There doesn't appear to be any wired control inputs on the controller, so how do you propose to input instructions to it?
An Arduino cannot (directly) handle that amount of current. 4A at 12V =48Watts is ~500 times greater than you can safely get from an Arduino pin (20mA at 5V = 100mW). How do you propose to control that amount of current?
How do you propose to stop the instructions from the Arduino and the instructions from the controller from interfering with one another? E.g. If the Arduino sends an instruction to switch all the lights off and, at the same time, the controller sends an instruction to switch all the lights on, which one 'wins'?
Also, if the controller has switched all the lights on, how will the Arduino switch them off and vice versa?
Try drawing a circuit with plain old switches, two batteries (one marked Arduino, the other marked Controller) and one bulb to see if it can be done. I don't think it can.
Once you've sorted that lot out, then and only then should you start to think about linking it with an Android through WiFi.

Thanks for the reply...The Arduino is the decision maker in this circuit.

All of the lights are wired to a control panel with n-channel MOSFETS driving them. So how to turn on the MOSFETs? This wall switch can turn them on, but then I cannot remotely control them. So I am wondering if I can have an Arduino turn on the MOSFETs and have the light switch as an input to the Arduino (RGB). So the Arduino receives this information from the switch and then also receives commands via Wifi. I am wondering if Arduino software can take these 2 different inputs and make the right decision about how to turn on the MOSFETs.

Pirate_Duino:
Thanks for the reply...The Arduino is the decision maker in this circuit.

All of the lights are wired to a control panel with n-channel MOSFETS driving them. So how to turn on the MOSFETs? This wall switch can turn them on, but then I cannot remotely control them. So I am wondering if I can have an Arduino turn on the MOSFETs and have the light switch as an input to the Arduino (RGB). So the Arduino receives this information from the switch and then also receives commands via Wifi. I am wondering if Arduino software can take these 2 different inputs and make the right decision about how to turn on the MOSFETs.

Here's how I think you should go about it.

  1. Do not connect your lamps to the controller. Instead, get the lamps working under the control of the Arduino (with some switches and/or pots as inputs) and MOSFETs, using the 12-24V DC supply that goes to the controller. When you have that working...
  2. Use the 4 outputs of the controller (probably PWM, so will need averaging), suitably stepped down to less than 5V max, as analogue inputs. Use those inputs to tell the Arduino the light levels the controller is requesting. The logic in your sketch will determine what happens with those requests (allow, ignore or some compromise). When you have that working...
  3. Link to Android through WiFi.
    At no point should the lamps or MOSFETs be connected to the controller outputs, as this will cause conflicts.