Broadlink IR/RF remotes integration (RM3 Mini, RM Pro, RM4 Mini/Pro)

I seem to have an issue installing your Broadlink Integration from HPM. It just appears to get stuck at the point of downloading the Broadlink Remote. Have checked my HPM version and is v1.8.9. Also tried a Hub reboot in case something strange going on but no luck.
Thought I should flag this in case there is some issue with the package before I try installing manually from your Github repository.
Looking forwards to giving your Broadlink Integration a try with my 2 x RM4 Pro's and appreciate you sharing all your efforts in developing these apps. As a side note, I recently installed your Shelly Uni driver to assist monitoring water level in our rainwater tanks and it works well in Hubitat connected to my Sharptools dashboard!

Hey Tom, I didn't block my Broadlink RMpro2 from the web, and now almost a year later(it worked last summer) your app is reporting "device is locked" . I haven't used any Broadlink apps at all in 2 years. I'm thinking the device called home and got locked? I tried the reset trick by resetting RMPro twice and connecting to the "Broadlink Prov" WiFi network and using broadlink manager, but device won't accept any codes.

When I try to send saved code I get an error

Any clue how to unlock?

Try repairing HPM from within HPM. There was a minor bugfix that you need to pick up with 1.8.9 (and the HPM source should say 1.8.9a if you have the fix).

There is an option in the Broadlink app to set whether the device is locked for local network access.

It has been a while since I used the Broadlink app, so I don't remember the exact title, but maybe this will get you into the ballpark: Broadlink IR/RF remotes integration (RM3 Mini, RM Pro, RM4 Mini/Pro) - #119 by tomw

EDIT: I just installed the app to check, and it is called "Lock device" in the broadlink app. Make sure that the option is de-selected.

1 Like

That worked, many thanks for your help!

1 Like

Sorry to bother you again @tomw, but now seems I have an issue learning any IR codes. My RM4 Pro device has initialized Ok in the app however after the Learn IR is started and a button is pressed on IR remote with it right next to the RM4, no code seems to be detected in the app and times out no matter the length of time or number of times the button is pressed along with trying different angles of the remote pointing at the RM4. Nothing appears to happen in the log either except when the device is first initialized.
Not sure if I am missing something in the Learning process or?


What does the activity member of Current States say when you press learnIR?

It should say "learning IR" (and the LED should light up on the RM device) followed by "code captured" (and the LED should turn off). If a code is never learned, it should eventually change to "timed out".

Do you see any of that on the device page or on the physical device?

I think I have found the issue, as I tried another devices remote and the code was detected without issue. With my LG smart TV that I was trying to pair, it appears the TV remote uses Bluetooth so the RM4 cannot learn from it.
I have had the TV working with the Broadlink app for a number of years from the inbuilt library of codes for LG so it would seem the actual TV can be controlled via IR or Bluetooth. So looks like I will need to try and find the codes and and import into your app.

Yes, if it uses a Bluetooth interface then you'll have to get codes from somewhere else.

Try to find Pronto codes online, and you can use my Broadlink System Manager app to import them to use with my Broadlink Remote driver. You may have to try different ones, depending on where the codes came from and the age and model of your TV. Good luck!

After quite a bit of searching found this very good database of codes. https://irdb.globalcache.com/
After registering you are entitled to download 16 discreet codes per day and after verification (takes about a day) 5 complete sets of codes can be downloaded per day. Have found my LG TV and added them in via your System Manager App and working well. Many thanks for your work in developing and sharing these apps!

3 Likes

That's great! Thanks for the tip on the codes database, and it's always exciting to hear when the app works as intended for a unique case like this.

Is there any chance that you could make it possible to disable or at least modify the frequency of pinging on the RM3? This device is using way too much of my Hub's processor time on pinging itself from the hub.

Can you quantify that for me? I'm assuming you're watching something in the hub stats reporting? I want to make sure there isn't an unintended issue going on. What kind of Broadlink device(s) are you using?

With that said, you can comment out line ~375 (runIn(60, ping)) if you want to remove this small amount of overhead.

I'm not going to make that configurable in the main branch because I think it is more likely to cause confusion or introduce unreliability (due to ill timed commands that coincide with a Broadlink reboot due to the missing heartbeat) than it is to actually improve any perceived impact to hub performance. Unless something is behaving differently than intended, which is why I'd appreciate any data you are seeing that causes concern.

TL;DR - You can safely comment out line 375 in the driver to remove the heartbeat ping if your device is not blocked from the internet OR if you want to trade a small amount of hub overhead for regular reboots of the Broadlink device.

1 Like

On second thought, I could be amenable to the idea of a toggle that disables the ping loop entirely on a per-device basis. I just don't want to make the ping period configurable as a number.

Would that be useful for your use-case? I guess it primarily caters to people that have their RM3 devices on the internet and don't want the overhead of the local-only ping.

So, if I made it an ON/OFF toggle on a per-device basis, would that still be useful? I think @arnb had a use-case that would be well-served by this.

1 Like

In device stats I see that my RM3 mini is using about 10% of processor busy time and generating 8000+ hub Actions per day. That load seems excessive for this little thing to sit mostly idle in my room and only ever get a command once a week. I suppose I'll try giving it some internet access with a firewall rule and see what kind of traffic this thing generates on the web after I comment out the keep alive ping.

I wouldn't be overly concerned about busy time -- it's a funny sort of stat that depends almost as much on what else you have running on the hub as it does on the specifics of any device.

How does the total time number compare, and how does it trend with more hub uptime? Full disclosure: my RM3s run at about 3.5% of total busy time but only 0.15% of total time. I'm not particularly worried about either of those numbers because I haven't seen any impact to hub performance that I could blame on them.




On the other hand, your 8k+ HubActions does seem unexpectedly high for something you say only gets used once a week. I'd be interested to see what is going on there.

The steady state ping should generate about 1440 actions per day (once per minute). My devices, which also get relatively light use, are running at about 1500 average actions per day after 8 days of uptime. Do you have any other scheduled actions that run on the RM3s, like a periodic Refresh or anything like that?

I posted v0.9.9 which has a configuration option to disable the keep-alive ping.

For existing users, after you update you will need to hit Initialize on the device page to migrate to the new behavior.

Then refresh the device page in your browser and choose your desired setting for the option and hit Save Preferences.

2 Likes

Is there a way to combine the action on a dashboard into a single tile to call 2 separate codes: 1 for on, 1 for off?
Is the only way to add to a Dashboard by using a Button with with the push sendCode/sendName (Button Number)?
I'm didn't see any specifics in my searching, but may have missed it.

I don't understand what you are asking here. Could you explain?

I created a feature that allows running sequences of codes and delays. It's described here: Broadlink IR/RF remotes integration (RM3 Mini, RM Pro, RM4 Mini/Pro) - #50 by tomw

Here's my dash with 2 buttons: 1 for on, 1 for off.
Can these be combined into a simple on/off switch?
2023-06-11 15_44_18-Clipboard

I don't know if a sequence would work for this...?