Sofa engine control 24V DC

“Alexa/Hey Google/Siri, … please set the left sofa to 60%.”

I would love to control my sofa from openhab, because its wireless remote is broken.
The remote would talk to a controller box, which I opened, and found 4 relays (I guess).

From that box 2 cables go to the 2 sofa sections that have an engine to extend and retract.
The bottom/right socket isn’t used by my sofa.

Ideally I would love to hook up a raspberry pi to this box somehow, and then have the 2 sofa sections controlled with either on off or with a % of extension.

Before getting to the software side of things (which I’m comfortable with), I need help with the HW (where I’m a newbie) … where should I start reading?

Thanks, Kai


The simplest means of control is to use something like a Sonoff running a replacement FOSS firmware like Tasmota. There’s many hardware options, but to start out, a Sonoff 4CH R2 Pro offers 4x relay outputs with different models designed to power mains or low-voltage devices.

The simplest would be to use the Pro with volt-free relay switches to simulate pressing buttons on the remote - but you mention the remote is broken. If the remote were IR rather than RF, Tasmota supports sending IR remote control codes directly, but that’s not a good option.

Most consumer devices are built these days from Lego-like modules, and the photo shows a vertical daughter board with RF components and the aerial. With the remote, this will be a standard part with several low voltage outputs. You could even try buying random RF remotes from eBay and see of they might work with the receiver module.

The first thing to say is BE SAFE - this looks to be a high current mains device with a large 24V transformer. If you are new to electronics, reverse engineering a mains device may be hazardous - turn it off, wait for capacitors to discharge, and also be careful of moving motors removing appendages!

As the remote is dead it’s going to be a little harder to trace the outputs from the vertical RF received module to the 4x control relays. Board markings or circuit layout might help. The idea would be to remove the old RF receiver and replace it with 4CH relays. You could probably replace it directly with a custom ESP8266 like a Wemos Mini D1, but that needs a lot more electronics knowledge.

I’d expect the 4x relays to be in pairs to control two motors, and the relay coils driven by transistors or a driver chip (like a ULN2001). The back of the board might show 4x relay coil traces going to a driver, then the RF receiver module - remove the module, look for logic power and ground (I can see a voltage regulator on the PCB, so guess at 5V, not 24V), and if safe (check with a multimeter), connect one of the removed RF receiver signal pins to logic power (5V?) and ground - did anything move?

EDIT: After a closer look at the photo, R4, R5, R6, R7 seem to connect from the RF receiver module to 4x driver transistors next to the relays - guess where I’d start! :slight_smile:

Another approach would be to reverse engineer the motor connections to the chair and rig up 4CH relays to control these. Each motor will need 2 relays (basically forward and reverse), but you also need to consider any limit switches in the chair to protect you and the electronics.

Hopefully that’s enough to help you get started…


1 Like

As you are not familiar with electric devices I strongly advice not to do this on your own. It can be deadly dangerous…
How about trying to get a used remote control that fits and solder e.g. an ESP to the button contacts ?
Just create a small box, use a power supply e.g. from an old mobile to drive it and you are fine.
This way you can make the device “smarter”, but your custom part if completely separated from main power. As a starting point it might be the better approach.

I would have a go at tracing the internal relay control tracks, and simulating on/off commands with a Sonoff or similar. But skill levels (and luck) vary!

Thinks; as there is a “spare” pair of relays, begin any active experiments on those.
EDIT - ignore this part, there might be three sets of outlet sockets but there are only two pairs of relays.
MORE EDIT - it is possible the relays are not paired at all. One relay could do UP/DOWN switching for all, and one of the others do STOP/GO for one outlet.

Precautionary thinks; the original RF setup, by the simple nature of the RF channel, probably enforced “only one relay at a time”. If programming some kind of replacement box you might need to take care about that.
It is possible in these kind of designs that turning on both relays of a pair at the same time results in disaster.
EDIT - or if not paired, but one-per-outlet as above, you might need only one of three to be switched at one time.

Why not try a wifi to rf controller? Then you will not have to get into the electronics…

I’d second @FloatingBoater 's warnings and suggestions: Investigate and understand how the relais need to be switched for driving the motors.

Regarding the suggested:

You might probably have another option:
If the operation of the drive is simple (just UP/DOWN) AND the cables going to the two sofas have just three wires each, then it COULD BE, that its working similar to rollershutter drives (one wire ground, one wire “UP”, one wire for “DOWN”). In that case, you could use a wireless rollershutter actor per sofa like the Shelly 2.5, see

This little thing can be set to 24V DC operation (Notice: the transformer on your photo delivers AC!) and brings you two relais, which can be interlocked by configuration for rollershutter mode. If this works for your motors, you’re a lucky guy. Then you can directly use the openHAB’s Shelly binding or control the Shellies even without openHAB via Alexa.

But again: As the others suggested yet, ask somebody with electric/electronic skills about the hardware part.

1 Like