Spa Electrics Multi Plus Pool Light Protocol

Well, my pool light controller remote died and it was $100 to replace the RF transmitter. Being naturally inquisitive and a bit of a tight ass, I decided to try and hack the protocol so I could integrate it into my home automation system (Home Assistant). Turns out this is hard to do when the remote is dead and you cant find any information about how it works online. I remembered that the unit would briefly power cycle off when changing colours using the “Spa Electrics Multi Plus” model pool light and this power cycling was done with the control unit, the Iris RM3.

The RM3 unit has 240v mains in and a pool and a spa mains socket out. Once you’ve got the RM3 plugged into the mains, you plug in the mains->12v transformer unit to the controller and voila, the controller does some magic off-on power cycle that controls the light colour.

I emailed Spa Electrics to ask if I could get the power cycle timing but was told it “proprietary” information and the snarky service guy just clammed up. Disappointing, especially given that it apparently works by just turning things off and on again. So, after pulling the unit apart and finding just a few relays, a pic18 and an 900Mhz RF receiver, I had no more clues on what the timings were. Measuring this prior to controller death would have helped. Not having the energy to just put a relay and timing circuit together to test (and for fear of sending bad commands that might wipe the firmware to the underwater, out of warranty lights, I forked out the cash and bought a controller. Once I paired it to the RM3, I hooked the output up to the scope and measured the timings. Here’s the hard won timings for integrating into your next home automation project, just I will be doing soon. Ish.

Function Off-Time
Blue 250ms
Magenta 300ms
Red 350ms
Yellow 400ms
Green 450ms
Cyan 500ms
White 550ms
Cycle 1 600ms
Cycle 2 650ms
Cycle 3 700ms
Cycle 4 750ms
Brightness 900ms

You’ll notice that 800 and 850ms are missing. Some experimentation is probably in order to discover if there are any secret functions. In hind sight, I probably could have just found this protocol with a bit of trial and error, but there you go.

Leave a Comment

Scroll to Top