Duplicate RF code and transmit

So, I got this wireless winch remote kit w/2 remotes

Remotes work fine and I thought, “WTH ive got these RF keychains and only using 2 of 4 buttons in the truck so why not add winch UP/DOWN for the 2 unused buttons”

Now, Im able to wire up an rf receiver and determine the winch remote is transmitting Rc switch raw codes, Great!

After a closer look it seems to be transmitting rc_switch_raw protocol 1 and protocol 2 codes during a single button push. To further complicate things, if for example I press UP, then its a mix of UP/Down On/Off as well as mixing in protocol1 and protocol2… like this.


261]: Received RCSwitch Raw: protocol=1 data='001010011010010011100111'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011100111'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011100111'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010'
[18:24:30][D][binary_sensor:036]: 'RF Button Test Up': Sending state ON
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='0010100110'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:30][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:31][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:32][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:32][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:32][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:32][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:32][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010'
[18:24:32][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:32][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:32][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:32][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:32][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:32][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:24:32][D][binary_sensor:036]: 'RF Button Test Up': Sending state OFF

Pressing the Down button is just as confusing, its a mix of everything and the kitchen sink…

[I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011100011'
[18:40:39][D][binary_sensor:036]: 'RF Button Test Down': Sending state ON
[18:40:39][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011100011'
[18:40:39][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011100011'
[18:40:39][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:40:39][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:40:39][D][binary_sensor:036]: 'RF Button Test Up': Sending state ON
[18:40:39][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:39][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:39][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:39][D][binary_sensor:036]: 'RF Button Test Down': Sending state OFF
[18:40:39][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:39][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:39][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:39][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010'
[18:40:39][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011000010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:40:40][D][binary_sensor:036]: 'RF Button Test Up': Sending state OFF
[18:40:40][D][binary_sensor:036]: 'RF Button Test Up': Sending state ON
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='0010100110100'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:40][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='001010011010010011101110'
[18:40:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=2 data='001010011010010011101110'
[18:40:41][D][binary_sensor:036]: 'RF Button Test Up': Sending state OFF
[18:40:46][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='100000000'
[18:40:47][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='10001010'
[18:40:47][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=5 data='000000000'
[18:41:00][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 

To further complicate things, the remote has an auto power off feature after like 5 seconds. This is the mess it transmits during the Idle/Shutdown process. Now I’ve got protocol 3, protocol 5, and protocol 6 wtf…

][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='100000000'
[18:40:47][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='10001010'
[18:40:47][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=5 data='000000000'
[18:41:00][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='101010000000000'
[18:43:06][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=6 data='1010101010101111'
[18:46:41][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=1 data='1000000000'
[18:48:42][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=3 data='00000100000001000000001000000000'
[18:48:44][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=3 data='1000001000'
[18:50:42][I][remote.rc_switch:261]: Received RCSwitch Raw: protocol=5 data='100001000'

Anyone ran into anything like this or have any thpughts?

You wanted to copy signals from one remote to another. What’s the role of esphome in this project?

Its going to have a few roles, mainly dealing with the battery but, that seems irrelevant and off topic from the detailed problem ive outlined above.

Yes, copy remote rf signals and transmit them from a different one. Did I not mention that was what im working on?

I was just wondering about the workflow, to transfer signals to another remote. Or did I miss something?
Anyway, your output is confusing like you wrote. I would try to grab the signal with arduino code instead of esphome.

Im not sure what you mean here.

Ya, using Arduino code was my backup option. The majority of the time I can get rf or ir working with esphome so i didnt want to give up on it so fast but, it may come to that.

I mean this:

Oh geeze… IDK what I was thinking… Its been a long day. I dont even need to use these rf codes or transmit them at the very least.

The small box on top is the rf receiver which toggles the relay solenoid forward/reverse. I just need to use 2 gpios, 2 mosfets, and wire the outputs in parallel with the the existing rf module.

I really hadnt even thought the whole thing out before I started messing with it…

I’m not sure if it would be suitable for driving the solenoid or if I’m getting where you’re heading with the set-up, but I use L298N’s a bit.

One neat thing is you can power them from 12V then use the 5v pins on them to power your esp.

It could but, its complete overkill when 2 fets will do the job and take 5x less space.

Ya, they’re neat for little projects that use little motors but IMO there are better options out there. The 2-3a max continuous is low and a deal breaker for me.

I mean, how often do you actually need to reverse polarity or need to drive 2 motors and need an H-bridge? Its not common for me. Maybe if I needed to use an actuator. Most projects with motors ive done, they dont need reverse and a tiny mosfet module 1/5 the size can do 12-13a continuously making it more versatile.

1 Like