[WITHDRAWN - Use the new Broadlink integration by @tomw] NATIVE Broadlink RM/RM Pro/RM Mini/SP driver

I've got some Rf light switches (rolling them out), projector screen, my gates... none of them have rolling codes though which I believe somfy might?

what makes you think he was kicked out?


Fair point and not a fair comment to write. I guess I should have put "or" in there, just it got a little blurry in my head at the time between how Markus etc left and cybrmage. Both different cases yes just not too far apart.

How about I leave it as they left this forum abruptly for unknown reasons.

Either way, they were very helpful here and contributed a lot. Such a shame as cybrmage was very supportive, both here and behind the scenes in private messages.


@cybrmage and Markus left under very different circumstances.

Cybrmage disappeared one day and removed his code from his google drive. He never used GitHub and there’s no info re: licensing in his code. Apparently he did something similar once before in the Vera community :man_shrugging:.


I’ve got an RM3 Pro+ that learns IR codes with no problem, but errors out while learning RF codes. Says code not added format not recognized. Any suggestions?

Logs are:
dev:15412022-01-25 07:41:30.309 am traceRF_Status: IDLE

app:13702022-01-25 07:41:28.839 am warn(handle_learn_status) learnStage [IDLE] learnResult [learned]

app:13702022-01-25 07:41:28.835 am warn(handle_learn_status) learnStage [LEARNED] learnResult [null]

app:13702022-01-25 07:41:28.833 am warn(handle_learn_status) received ir status [DEVICE] [RF_Status] [LEARNED]

app:13702022-01-25 07:41:28.826 am warn(handle_learn_status) received ir status [DEVICE] [CODEDATA] [78008600133D3B153B15133C38040414133D133D133C3C14133D133D133C133D133D133C1300018A133D3B153B15133C3C14143C133D133C3B15133D133C143C133D133C143C1300018A133D3B153B15133D3B14143C133D133C3B15143C133D133C133D133C143C1300018A133D3B153B15133D3B15133C133D133C3C14143C133C143C133D050005DC0000]

dev:15412022-01-25 07:41:28.806 am traceRF_Status: LEARNED

app:13702022-01-25 07:41:28.113 am warn(handle_learn_status) learnStage [ Press and Release RF Remote button repeatedly.] learnResult [null]

app:13702022-01-25 07:41:28.110 am warn(handle_learn_status) received ir status [DEVICE] [RF_Status] [FIND : LED = ON : Press and Release RF Remote button repeatedly.]

dev:15412022-01-25 07:41:28.093 am traceRF_Status: FIND : LED = ON : Press and Release RF Remote button repeatedly.

app:13702022-01-25 07:41:27.030 am warn(handle_learn_status) learnStage [ Frequency Found. Release RF Remote button.] learnResult [null]

app:13702022-01-25 07:41:27.026 am warn(handle_learn_status) received ir status [DEVICE] [RF_Status] [SWEEP : LED = OFF : Frequency Found. Release RF Remote button.]

dev:15412022-01-25 07:41:27.008 am traceRF_Status: SWEEP : LED = OFF : Frequency Found. Release RF Remote button.

app:13702022-01-25 07:41:21.208 am warn(handle_learn_status) learnStage [ Press AND Hold button on RF Remote.] learnResult [null]

app:13702022-01-25 07:41:21.203 am warn(handle_learn_status) received ir status [DEVICE] [RF_Status] [SWEEP: LED = ON : Press AND Hold button on RF Remote.]

dev:15412022-01-25 07:41:21.143 am traceRF_Status: SWEEP: LED = ON : Press AND Hold button on RF Remote.

app:13702022-01-25 07:41:20.850 am warn(learnCodes) Starting RF learn process with device [C8F742DA3427].

Anybody else running into this issue with devType==0x649b, code change above into (app code/driver code) seems to require the application "Broadlink Device Manager (BETA)" to be removed and re-added as user App, the devTypeName was already stored as unknown since I installed the devices before making the code changes. I couldn't even trigger the broadlink device to learn. after removal and addition it worked.

I'm having issues with some of my devices in general right now. Do you own a Google Home device or Alexa? I'm trying to find a pattern here.

In case it helps anyone else, as a beginner I struggled to figure out exactly what changes needed to be made. So here are the steps I took to get it working: Note - you are editing the app code (not the driver).

  1. Click on App Code
  2. Select Broadlink Device Manager (Beta)
  3. Scroll to row 485 and i saw the following code:

href (name: "editDevicePage", title: "${it.name} - ${it.label} (Repeats = ${nRepeats}, ${dCodes?.size()} Stored IR/RF Codes) ${updateMSG}",

The part that you are editing is you are adding the ? after dCodes before the .sizes.

  1. When you scroll down to line 592, you will make a similar change, adding a ?, but I didn't know where to make it. I was presented with this code:
    def nCodes = activeDevice.exportCodes().size()
    I changed it by adding the ? as follows
    def nCodes = activeDevice.exportCodes()?.size()
  2. Hit Save
  3. Go back to the App page
  4. Go to the Broadlink Device Manager Beta
  5. Click on Devices
  6. Click on your device and you should now be able to get it configured and for it to create the device. The first time I clicked on the configured device after making the changes, I had to delete the device and then re-add it.

In case it helps anyone searching for this issue, these are the error messages I was getting in my logs:

[error] ..... installedapp/configure/194)java.lang.NullPointerException: Cannot invoke method size() on null object on line 592 (method editDevicePage)

[error] .....installedapp/configure/162)java.lang.NullPointerException: Cannot invoke method size() on null object on line 485 (method DiscoveryPage)

[error] ....../device/edit/289)RM2 Pro Plus - (initialize) ERROR - Device has not been configured


Searching for some help with an error I am receiving.

I have set up an RM3 Pro and RM4 Pro, Through the devices that are created, I can learn codes and send them through the RM3 or RM4 which is great. But I am getting an error when trying to get into the "Code Management" / "Remote Codes" section to manage IR/RF Codes". When I go into the App (Broadlink Manager v0.50 2020-05-10), and click on the Remote Codes button:

I tried inserting pictures, but received a pop up that I can't insert them.

I am directed to an error page, Error: String index out of range: 2 (when I only had the RM3 set up the error had the # 1 on it instead of 2.

I tried inserting pictures, but received a pop up that I can't insert them.

The logs show:
java.lang.StringIndexOutOfBoundsException: String index out of range: 2 on line 231 (method CodesPage)

When i get into the code, i see this:

Line 231 has

def tCode = code[0..1].toUpperCase()

I don't know enough programming to know what is going on or what to change to get this to work.

Again, the devices are working, I can store codes, but I cannot access the code management area to learn/bring in codes from the devices that are stored on the RM3 or RM4.

If anyone has any idea what can be updated to make this work, I would be very grateful.

Thank you!

Same (with RM4 Pro)

Just installed 0.51 (driver and app) to use with my RM3 Minis. When I go to Apps > Devices, under Available Devices, it says 'No unconfigured Broadlink devices found'. There is nothing under Configured Devices.

In the app, if I click the gear, in the Application State table > broadlinkDevices row, I do see my broadlink devices:
{={devType=24374, cloudLocked=false, IP=, devTypeName=RM Mini 3 (V4), MAC=, Name=[UNNAMED], supported=true}, ={devType=24374, cloudLocked=false, IP=, devTypeName=RM Mini 3 (V4), MAC=, Name=[UNNAMED], supported=true}}

So why don't they appear under the App's Broadlink Device Manager?

I added the RM3 Minis with ihc android app. Do I need to do anything on the android app side? I even tried deleting one of the Minis from ihc to see if that does anything.

From the Android ihc app, Device Info on one of the Minis show:
Access to the cloud: Load failed
Firmware: 44057
Connection status: local online
Data Cloud: load failed
sdk: load failed

The log just has hundreds of:
'app 38 has pending hub commands'

Hubitat is version

1 Like

Not sure if this will help anyone. After not being able to easily and cost-effectively find a RM Pro, I bought an RM4 Pro, which is not compatible with this unsupported driver.

I run Home Assistant too, but their setup made me crazy with how complicated it was. So I turned to my other smarthome savior, Homebridge. This allowed me to very easily add my RF controlled DC motor ceiling fan to HomeKit, and control it from Hubitat and my picos by sharing virtual switches with Homebridge.


I next tried the standalone instructions, which just needs the ip address of my units, and now they work just fine. I guess the discovery portion is broken (or never worked), despite the logs showing some indication that my units were discovered.

I'm on code version 0.51.

Do you think this would work using a Nest Hub or Echo?

In principle, it should work (at least with the Echo) using the same approach that @SmartHomePrimer outlined using Homebridge. The difference is that using Homebridge, he presumably does it all within his LAN (i.e. locally).


Correct. All local.

@user1510 I believe the Broadlink RM4 Pro supports both Google Home and Alexa, so you shouldn't need the virtual switches I used. You could just use the Broadlink Alexa Skill or add Broadlink to Google Assistant.


Wanted to add some commands and went into the app for the first time in a very long time. It's throwing all sorts of errors, although the actual devices seem to be working and issuing existing commands.

Before I dig into the code I'm wondering if anyone else is seeing this, or has coded a solution.

Update: looking at the error log it appears to not be finding the New Ip or perhaps not finding the device then the new iP. The stored IP addresses match the router's reserved IP addresses.

I can't speak for this app/driver, but I am making my own integration for Broadlink remotes based on some other references. Mine works for IR currently, and I will attempt to add RF support once my RM Pro arrives later this week.

I'm happy to share privately if anyone wants to alpha test or give feedback. It should be able to co-exist with the integration in this thread.


I reinstalled the Broadlink app and for reasons I cannot explain, it's working again :man_shrugging: I'm really grateful because the Broadlink app's code is extremely dense and way beyond my current Java/Groovy skill level.

Please keep us apprised with your progress. It's good to know there is an alternative out there. If it was not for the many hours I have invested getting my Broadlink devices and codes setup, working, and integrated into my HE system, I would take you up on your offer.

I understand that for sure. I can probably offer a migration path (like an import option for saved codes or something). But I probably can't fix your automations that use commands on the existing integration. :wink:


Download the Hubitat app