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

Thank you so much for picking up this project. I had an RM4 Pro that I tossed into a drawer because I could never get it working with the dead app/driver. I installed your app/driver and it identifies the Broadlink device. So that's a big win over the prior one. However, I can get it to initialize/idle, but when I do an RF sweep, I get a time out. It could be tied to the RF remote not staying "on" while I push the button for the duration of the sweep -- it's dimming a light, and the remote's LED light turns off once it hits the lowest/highest light level. I have control set up through the Broadlink app without a problem; is there a way to use the backup remote function or to learn codes off that? Thanks!

1 Like

Has anyone got the temp/humidity USB sensor cable working with any of the hubitat driver apps? It would be a great addition to the driver to have it also be a temp/humidity sensor for automation rules. It comes with most broadlink devices, and especially with the recent amazon prime day where these were on sale.

1 Like

When you learned it using the Broadlink mobile app, did you enter the target frequency manually, or was it able to sweep and find it automatically?

One thing you could try is to release and press again once you think the remote has stopped transmitting. You might have to push it multiple times, since that method could be hit and miss.

If that doesn't work, I could also customize the code as a test to set the target frequency manually do that the sweep is not necessary. But you have to have a pretty good guess at the frequency of the remote for that to be successful.

Let me know which one sounds like the best option to try next.

I played around with it with this driver and my RM4 Pro. I had it working there, but the regular RM4 is a little bit different. The old RM Pro was way different.

So it would take some work testing help from people with the various hardware models to get them all working correctly.

Which kind of device do you have?

Yep, I entered the frequency of the RF controller into the Broadlink app (433.92) and it used that to "connect" and learn codes off the remote.

I'll try to do multiple presses on the remote while it's scanning to see if it will catch the frequency. Thanks again for working on this app/driver.

1 Like

If that doesn't work let me know and I will put together a prototype for manually entering the frequency.

Good news is I finally got it locking on to a frequency by doing a few tries with the multiple manual presses, although an option to manually enter a frequency might be good for a future release. Like the other use above though, I ran into the "javax.crypto.IllegalBlockSizeException: Input length not multiple of 16 bytes on line 994 (method readbackResponse)" error when trying to learn. Knowing now how to get the sweep frequency to work, I initialized again, did a freq sweep, and tried a few more times until it finally was able to learn an RF code, but when testing the learned code, it would not work. I noticed that the Frequency it would discover during the sweep would change sometimes -- not sure if that leads to the Crypto error or the learned code not working. For example: sweep successful: freq = 433780; sweep successful: freq = 433820; sweep successful: freq = 431000; sweep successful: freq = 432000.

I'll send you a modified version with manual entry.


The frequency dancing around some isn't unexpected because it is based on an environmental RF measurement, but the variance on frequencies that you saw is broader than I would have expected. I can't say for sure whether the error you saw is related or not because i haven't been able to reproduce it myself.

Does it work reliably when you use the Broadlink app and the code you learned there? Can you send me info about the remote you're using?



I'll send you some additional thoughts and code to try via PM.

Yep, that's the frustrating part about the whole bit -- it works fine with the Broadlink app and the codes it has learned. I'll send you the remote info. Thanks!

I have 2 RM4 minis and RM4 pro. All 3 came with the usb temp sensor cables as their power cord (I think that's standard now). If you have any direction on how to sniff the temp data from the data stream. Looking through the driver code not sure where/how to possibly start.

I know how to do it for the RM4 Pro. I'll be interested to see if that same method works for the RM4 Mini.

I'll PM you some test code to try.

I checked in v0.9.7 which has support for temperature and humidity sensors.

This will obviously only work if your RM device has the special cable (or other hardware) that enables sensor measurements.

You will see temperature or humidity measurements populated after each refresh() if a valid response is received for either measurement type. You have to poll for updates by calling refresh() as needed.

I tested this on an RM4 Pro. @wizkid tested it on an RM4 Mini. I would appreciate testing feedback from anyone with an RM Pro with sensors.

2 Likes

Using Harmony for lost remote

I may be a lost cause here, but hoping it just ain't so. I have an Apex television that I lost the original remote for a long time ago. We've been using a Harmony hub, that actually does a pretty good job controlling the TV.

I recently got an HE, and was hoping to use the TV with it. Though there's a package for the Harmony, since Logitech has dropped all remotes, I decided to try the Broadlink device instead. The app remote works great with the TV, but I'm a little lost trying to get the HE to work.

Since I don't have the original remote, just the Harmony hub, I'm having a problem getting the codes into the Brodalink app on the HE.

Is there a way to read, or import, the information from the Harmony hub? If not, do any of you have a suggestion on how to get the codes in?

The only way I know uses two Broadlink devices, one emitting the IR or radio codes from the Broadlink app, the other in learning mode.

Not familiar with the Harmony, but it it emits a code, a single Broadlink device in learning mode should work

2 Likes

You could do it a couple of ways:

  • Use your Harmony remote however you are currently using it to generate and learn each code on the Broadlink side.

    • This is probably the most reliable way to transition to a Broadlink device, though it can be time-consuming and tedious.
    • I actually did this with my handheld Harmony remote for many of my components -- I learned each command one-by-one using my integration.
  • See if there are any Pronto code listings online for your Apex component.

    • You can use my Broadlink System Manager app in Hubitat to import Pronto codes and then copy them into Broadlink Remote virtual devices in my HE integration. You can be successful with this but it is a bit more trial-and-error to find the right ones.
    • Here's an example of what the codes look like, but it appears this listing is only DVD players. You may be able to find TV codes elsewhere online. RC: Infrared Hex Code Database: Apex Model List
    • This use-case (the dream of resurrecting devices with long-lost remotes) was actually part of my enthusiasm for creating this integration, so I am motivated to help with any issues you run into if you try to go down this path. :slight_smile:

EDIT: or, as @arnb said, if things are working with the Broadlink mobile app, you could buy a second (cheap) Broadlink remote and use it with my HE integration to learn the codes over IR. Unfortunately there isn't a way to extract that info from the Broadlink mobile app directly.

Maybe we should find a way for people to share codes for hard-to-find and/or esoteric devices, since my integration does support importing those they could easily be shared between users.

3 Likes

So, if I'm reading this right, I should put the IR blaster from the Harmony hub near the Broadlink, and us the Harmony remote to generate the signal, and the Broadlink should read it (using your app)?

I should put the IR blaster from the Harmony hub near the Broadlink, and us the Harmony remote to generate the signal, and the Broadlink should read it (using your app)?

Exactly.

Can this be used the other way around, meaning using a remote to trigger action on Hubitat?

Unfortunately not

Maybe someone could make a custom integration with an IR sensor and embedded computer, but the Broadlink hardware doesn't support that functionality.

Really excited to try this out with my RM4 Pro, but I got this error

Error Occurred During Installation

An error occurred while installing the package:
Failed to install app >https://raw.githubusercontent.com/tomwpublic/hubitat_broadlink/main/broadlinkSystemManagerApp. Please notify the package developer..