Broadlink RM Pro RF Issues

I have set up HASS with Broadlink RM Pro and the IR works flawlessly. I recently tried to use it to send RF commands and found some interesting behavior of the device:

1. When learning RF codes, the codes were a little different each time they were learnt.

2. The learnt code only worked once.  Afterwards, the device was not responding anymore.

3. I tried a workaround by learning the codes by the official app eControl, and then get the codes from RM Plug-iin, the android app.  Then the codes were converted to base64.  They worked, but only for the one time, similar to that of HASS Broadlink component.

Does anyone have any clue about what went wrong and shred me some lights about what I should do to make RF codes working.

Thanks
Oscar

There have been a lot of bug fixes in the Broadlink component since the last release. So I suggest that you wait for the next release or use the dev version: https://home-assistant.io/developers/development_environment

There is also an issue related to RF transmission

I’m hijacking this thread since I don’t think I need a new thread to get help with my problem.

I bought a Broadlink RM 2 (2017) to control my remote wall sockets which at the time were an older version of the Cotech Smart Home Remote. After a bit of a hassle I got my codes and configured my switches in HA but the switches were really inconsistent. Since I thought it might be because of old devices I bought a new set of Nexa Remote Switches but sadly with the same result.

So the problems I’m experiencing is really similar to something like bad or weak RX/TX. I can see the RM Pro light flashing each time I press a switch but the remote switches won’t always trigger (everything between 5-95% hit rate). When using the remote that came with the switches however I can trigger the lights 100% consistent three times the distance away. I was just about to blame the Broadlink RM 2 for bad RF when I installed and mapped the remote in the official e-Control app. Lo and behold, the switches are working close to 100% of the time in the e-Control app!

To me this means that the RM Pro is not the issue here but rather the codes I’m using in HA. Just like OP I tried recording the codes probably over 50 times. Note that for me to map my controller I need to swap the frequency in the e-Control app (don’t know why, switches bought in Sweden). If I don’t do this, the Broadlink will not recognize the remote. So my steps to record the codes are:

  1. Push an unassigned button in e-Control
  2. Press swap frequency in the app
  3. Hold the mapped button on the original remote
  4. Trigger the learn command from HA
  5. Press the mapped button on the original remote
  6. Fetch the full code from HA logs

This gives me different codes each time but they all work more or less as bad as the next one. Since the e-Control app works near all the time I tried to use that app to record the code after using the learn command in HA but with the same result.

Lastly I tried to install homebridge-broadlink-rm and use the learn code feature. This gives me the HEX codes which I converted manually but also via tomeko.net according to the documentations for the HA component.

I feel like I’m stuck in my troubleshooting and would love some guidance on what to do next.

Questions

  • Is it actually possible that the codes recorded may be “weaker” or less accurate that the e-Control app?
  • Can the problem be related to the fact that I need to swap frequency before recording the codes?
  • I don’t have access to an Android device, is it likely that me learning codes by using the e-Control app would produce the same code as a db dump from the Android app?
  • Me moving the RM Pro around (closer) to the switches actually increases the accuracy, can this be taken as a confirmation that the codes produces “weak” signals?
  • What possible tools and/or hardware can I use to debug the codes sent?

Thanks!

Ninja edit:
I also installed the python library which the HA component is based on python-broadlink and did some tests. When learning the codes I still have to first swap the frequency but after that I get my hex dump. When sending the hex codes via the broadlink_cli I get pretty much the same results. The switches with most problems from HA will work just as bad an the ones working more consistent works consistent with broadlink_cli as well.

./broadlink_cli --type 0x2712 --host 10.10.1.17 --mac a0a0a0a0a0a0 --learn

So I’m guessing this is some problem within the python-broadlink API and should be resolved that way. I’m pretty sure this is fixable since like I said before the e-Control app works more or less flawless. Answers to my question is still appreciated since I will try to continue the trouble shooting!

Have you got any solution on that? I’ve not been able to use the learn feature in hass.io so far. (IR codes work fine, the RF code learning does not). Using latest Broadlink RM Pro+ (serial starting with 3322…) where both, learning RF’s (first swap the frequency than the button) AND IR codes (simple one step learning) workes 100% while in Home assistant no chance for RF’s.

What part are you asking about a solution for? I did not find a solution regarding the inconsistent signal, I did however manage to learn the codes in HA with the process described in my post. However, the learning in HA does not bind that particular sequence to anything, it will just show it in the log so any method will do.

When I tried to learn codes from within HA I had to combine the learning process with the e-Control app to be able to first sweep frequency.

When I try to learn the code it just turns out to a “no signal received” message in the HA log. How did you “combine” the learning? Do you (re)learn (with a new frequence scan and button learn) on the RM Pro+? How do you “catch” the code in HA? Do you do that while HA is in learning mode? Thanks a lot for your answer. I hope somebody is working on that or that at least IFTTT gains access to the buttons on RM’s.This would give another way to use RF switches in HA (similar to the actual SONOFF solution).

I simply used the learn feature of RM in HA to learn RF codes. The code’s length and content varied almost every time, sometimes depending on the duration of button presses. Somehow, one out of a few times, one code did work. It’s a painful process. Hope someone could provide a more promising solution.

Have there been any improvements on RF? Sometime my unit repeats the signal multiple times. For RF devices that use the same signal for on and off, this can cause quite an issue! It’s like my home is possessed!

I am getting exactly the same issue. I managed to get the RF learnt thru sweep and learn button via IHC app. eControl works fine as well. To get RF codes for HA setup, I used IHC and eControl to learn thru switch.broadlink_learn_command service. Both approaches managed to get RF code from the app but works very inconsistently, I’d say 90% no go.

RM Pro firmware up-to-date. So I am watching out this thread for possible solution.

I’m having the same issue. Have learned the code OK but Home Assistant only works about 10% of the time. Can see the Broadlink LED go when the command is sent, but most of the time the device (blind motor) just doesn’t respond.

It may not be HASS issue, you can try executing the same code on eControl to verify whether the learned code is good.

In my case, eControl and IHC are both consistent. But when fired the code from HA/Broadlink component, it is awfully inconsistent.

Try export the good code from eControl into HASS, this works very reliable for me.

How do i see (in order to copy it for HA) the code of working RF codes in eControl on iOS or MacOS? Is there a way to do so (receive code on HA is not working on v52 Broadlink). Thanks.

I’m in a similar situation, but I have yet to figure out a procedure that actually gets the codes into HA.

I can learn a code in the ihc app after about 10-15 tries. It says it succeeds, but then the button doesn’t work. And then, eventually, it does. Is there any way to extract the code from the ihc app? I have seen procedures to do so from e-control, but I can’t get e-control to work at all.

Trying to learn a code using the HA calls works 0% of the time. The yellow light comes on, similar to when learning from the ihc app, but it just never reports a code, no matter how long or short I press the button, nor how near or far the transmitter is from the receiver.

Just got my Broadlink RM Pro+ yesterday. Tried to learn it RF from Nexa remote controls but id did not catch anything. Used the “Intelligent Home Center For EU” and also the Broadlink Manager windows application (Broadlink Manager - Nicer way to Learn and Send IR/RF commands).
Did anyone at all get Nexa 433Mhz RF switches to work with any Broadlink RM controller? I have asked the shop via support if this controller will ever work with Nexa… If not I will return it and find a solution that does.

Edit: got the learning to work by using the old e-control app, add of “RF socket remote” and first scan for frequencies, as described by bombsimon and others above. The new app “Intelligent…” is no good for RF. Two of the Nexa switches was ok, the third one a bit sluggish. Next step is to integrate with home assistant :slight_smile:

having the same issue, bumping this extremely old thread since apparantly broadlink integration updates are not able to fix this issue. what is a workaround now for getting RF codes? the e-control app is no longer compatible with latest android. there is now the “broadlink” app in the play store, and works great to send commands. But as you already experienced, learning and sending RF commands with home assistant is unreliable and almost always something does not work.