Broadlink RM4 Pro RF Learning Not Supported

Hello everyone,

I am wondering how I can get the RF learning capability of my Broadlink RM4 Pro working. I have scoured the internet for every possible forum ever created, but all the guides are for older RM versions, outdated, etc. The Broadlink app (the newest one, not e-connect and not IHS) can discover my RF remotes perfectly, but I can’t extract the RF codes from the app. I see that there was a recent change to the Broadlink Integration that allowed for a command_type to specify whether the command you’re learning is IR or RF, but using command_type: rf in remote.learn_command in order to specify that the incoming command to be learned is RF just doesn’t work at all. The Broadlink Manager program also does not work, as it doesn’t recognize my device. It finds the IP but calls it an “unknown device” and that “writing compatible device is not detected” so that’s a dead end as well.

Is there some way we can get command_type looked at so that it works properly? I don’t understand what I could possibly be doing wrong, as looking back through the GitHub comments, that command was created specifically for someone else like me with an RM4 Pro.

Does anyone have any other method for extracting the RF codes? Or maybe how to learn RF commands through HA? Thanks.

1 Like

Hello,
I am in the same situation; I have tried everything without success. I have my remote working with broadlink app, but no way to learn into home assistant, even with command_type: rf. My hope is that it will be fixed in next release, since in Broadlink - Home Assistant is not yet documented.
it seems that command type is overidden, in ha I can always learn ir code even if command type is rf
ciao

Well I did find a way to add RF commands using the Broadlink app. It’s similar to what others were saying (if you’ve looked on the forums for the convoluted steps people are taking to add one command). It didn’t work for me originally, but for some reason it just started working, so maybe it will work for you too.

  • Begin adding a new RF command through the Broadlink app; input the RF frequency, but don’t start “listening” for the command yet.
  • Go to Developer Tools > Services in Home Assistant, type remote.learn_command and fill in the entity_id for your RM4 Pro. For the Service Data I put the device, e.g. my LED strips, the command, e.g. “turn on”, and command_type: rf.
  • Then you start the listening process through the Broadlink app. As soon as the Broadlink app says the RM4 Pro is waiting for a command, press Call Service in Home Assistant and immediately press the physical button on your remote
  • The Broadlink app may or may not fail to learn the code - it doesn’t matter. What matters is that you just learned the RF command for your device.
  • Now you should be able to use that command in a script or wherever and it should work.

Hopefully this works for you as a temporary, rather tedious solution for now. I’ll be waiting for the command_type: rf parameter to get fixed soon, as that process is very painful to do more than a couple times.

5 Likes

Great! it worked! I get the codes and finally integrated broadlink RF in my home assistant.
It’s a little tricky getting codes in this way, you have to synchronize perfectly all operations.
But luck I just needed 1 RF code… in any case I hope for a fix, there are several feature that are not working in the integration.

Many thanks !
ciao

Great!!! it works as explained. Just add one comment for people like me.
Just clear your RM4Pro broadlink integration, and reset (pin in the hole) the device again without removing it from the Broadlink APP. Then pair again the RM4Pro in to the app adding it as a new device, and stop when WLAN is configured as other RM devices. Then add the broadlink integration as normal with the known IP, if not did like that the RM4Pro appears as disconnected and does not work.

For anyone with this issue still: there has been official integration of learning RF commands as of 2020.12.0 I believe. Using command_type: rf works perfectly now, so the Broadlink App and that whole convoluted process is no longer necessary.

1 Like

Hi there,

Got the 1st step working → BroadLink looks to receive RF Code
However 2st step failed → It don’t look to receive anything and I got following error in logs: “No radiofrequency code received within 30.0 seconds”

Here is the device I’m trying to control:
China RF Remote Controller (JY199E) - China Rf Remote Controller (made-in-china.com)

Any idea?
Regards,
Nicolas

1 Like

Dude you are a legend, I have been trying for hours and this worked straight away, thank you so very much.

I tried to configure the rm4pro with home assistant the same way as you see in many videos. I received the codes but it didn’t work when sending them.

Thanks to your method it works now. The codes received Are different when using the app relearning simultaneously. No Reset needed. No integration reloading needed.

Thank you very much. You are a genius!

My man, thank you, this worked like a charm.

Hi. Just bought the BroadLink RM4 Pro, and am struggling to make it work with my RF remote. About to give up and return it, but found this recent post saying you got it to work. I’m calling the service in HA with the RF option. In the BroadLink app I select my TV (which I can control fine in the app), click the three dots in the upper right, select relearn buttons, select a button to relearn, and follow the directions. I call the HA service right before starting this, with a long timeout to give me time. When I press the button (repeatedly) on the remote, nothing happens. The directions earlier in this post seemed promising, but suggests that I have to explicitly have to select “RF” in the app, but I did not see any option for that. I suppose I’m doing something wrong, but out of ideas. Any recommendations would be appreciated.

I know this post is a bit old, but I’ve found a solution to this problem that may be helpfull to other. I have a RM4 pro broadlink for which I need to learn 315 MHz command. There is no configuration in home assistant to specify the frequency to learn as in the broadlink app. I believe by default home assistant is learning the 415 MHz, but I cannot validate since I don’t have device at that frequency. So, my step to learn those frequency are the following.

In the broadlink app, make the necessary step to star learning the button, once the app is waiting for you to click the button, in home assitant call the service to learn the RF button. You shoul be able to lean it now in home assistant!

1 Like

How does that work?

You will need to be more specific in your question so I can try to help you. It works as described above.

Still very complex in 2024… Some times it works, sometimes it doesnt. Apparently you need to call the HA learning service, hold tthe remote button for a long time (you are notified for the frequency sweep), wait for the green checkmark… and call again the service and presse the button again. but very often the second step fails… I
I found that instead of a long hold, pressing and releasing the remote button quicky and several times could help,…

It would definitively be better if the frequency could be input as an option for the learning service

The underlying python-broadlink package now has this frequency input option as of V19.0. There is a proposal to get this option added to Home Assistant. Add your support here https://github.com/home-assistant/architecture/discussions/1076

Thanks @scoutamis123. I was able to learn a new command in the Rm Mini, but every time I called the learn command in home assistant I’m getting the “Failed to perform the action remote.learn_command. Unknown error” :frowning: Any idea ?
The Log states “ValueError: remote.rm_mini doesn’t support learning RF commands”

I think the RM Mini only supports IR. The RM Pro supports both IR/RF, so if you’re trying to learn RF commands with the Mini that’s probably why it’s giving you that error.

1 Like