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

If you can use the commands on the device page then you can just use the push() command on dashboards and in RM rules (or other rules engines). You will have to use it as a Custom Command or Custom Action, because the built-in push command on buttons won't let you use a string as the "number". Check out the section titled Generating saved codes in the readme for details.

As far as using the app goes, you only really need this if you have multiple virtual devices and want to share codes between them OR if you need to use one of the advanced code import features that is only available in the app.

1 Like

Check out the Manual Installation instructions section of the readme. The step that may be confusing is in the Hubitat UI. Go to the Devices section, then click Add Device and then click Virtual as the type. Hopefully the instructions are straightforward after that point.

1 Like

OK, I think this is where I'm lost. Can you show an example? I think once I've done one, I'll be good for the rest.

This is what I do with it (with node-red). You issue a push() command and the button number is the saved name of the command on your virtual device.

Here's another example using sequences in Rule Machine (as a button controller): Broadlink IR/RF remotes integration (RM3 Mini, RM Pro, RM4 Mini/Pro) - #51 by tomw

1 Like

Yes, I got that far, just a bit confused on how to get a tile created after that.

I created a virtual button** device for each button command I wanted to make available in Hubitat.

Then set up a rule that details what should happen when that virtual button is pressed.

You can then add the virtual-button device to a dashboard (as a button).

** - If you are going to try to incorporate this into Google Home, that adds an unfortnate wrinkle - GH doesn't allow buttons, so you need to create a virtual switch instead of a button (and use the auto-off option so that it mimics a momentary switch). But that works totally fine overall (I'm doing that for controlling 2 of my window fans). I don't use Alexa, so I'm not sure if the same applies there.

1 Like

Dose the broadlink device need to be configured to the remote via the android app first on not?

I didn't have any commands programmed into the BroadLink phone app when I set up my RM4s in Hubitat.

Sometime later, I added a few basic ones to the BL app as a backup option, but I don't see why you ever need to additionally add them to the BL app at all if you don't want to.

Only to the point of connecting it to your wifi, because my integration doesn't support that part of setting up the Broadlink remote. But I uninstalled the Broadlink app from my phone after that point.

1 Like

I recommend creating one virtual button device with a bunch of physical buttons instead. Otherwise, you are going to have a bunch of devices.

That is my virtual button for a remote to control my home entertainment system. I use 21 of the 25 buttons in it.

1 Like

Why is is that you need the virtual button instead of using push() on the remote virtual device directly?

If you are asking me, my remote uses a mixture of Roku's ECP to send HTTP Requests; Harmony Hub commands, and IR commands depending on which device it is controlling.

When used in Living Room, the only IR commands are the big red F that changes the input for the sound bar and the Star Wars logo that toggles a Star Wars Death Star acrylic light.


That makes total sense. Clever idea that I may steal to help with some of the multi-device control ideas that I was struggling with.

1 Like

All of the automation is handled in Node Red. What makes it especially complicated is that I have D1 Minis in each room and an integration in Home Assistant that determines which D1 Mini my phone is closest to via Bluetooth and switches to control the Home Entertainment stuff in that room automatically. If my phone were in the Play Room, it would say so in the orange square at top right of remote. My Node Red flow is too big to share and be legible:

EDIT: All of the Red Nodes are Hubitat Command Nodes using the Broadlink device.


Background - I have this in a campervan controlling everything. The heating comes with a RF remote, and I want to control this via Hubitat. (The heating does not turn itself off just goes to low temp).

Question -
I have two RF buttons working from the dashboard I have Heating On/Heating Of. I would like to create a Basic Rules to say when temp test to 19c turn on and at 25c turn off. I have noticed under Basic Rules cant see virtual device or am I wrong?

Any suggestions?


It looks like Basic Rules does not support the "custom command" action type. You will have to use Rule Machine instead in order to "push" the button for your saved command, which has to be done as a custom command/action since Rule Machine restricts you from using a string as the push() command parameter.

Ok. Any instuction on how you go about doing this?

You'll have to familiarize yourself with Rule Machine in general. The online documentation is here: Rule 5.1 | Hubitat Documentation

It sounds like temperature readings from some sensor would be your triggers and expressions (for deciding which threshold was crossed and therefore what command needs to be sent), and sending the saved RF command would be the actions.

Once you get to the point of adding the 'action' to your rule, you have to use the custom command step, which looks like this:


Made some progress. I now have the heating turning on 19c and turning off at 22c just as a test, all works well.

  • When it’s under 19c if I manually turn it off it turns it back on again, make sense :grinning:. My question is if its turned on does the on command keep clicking on until it goes over 22c or does it keep clicking untill it gets passed 19c?.
  • The only way I can see to stop the cycle of commands is to pause the ON command. Is there a way to do this via a Dashboard?

I added a few pictures so you can see what i created.


Since this no longer has to do specifically with the BL integration, you may get more responses by creating a new thread asking for rule setup help.

How I handled this was to use a power-reporting smart plug for my IR-target devices (window fans in my case) -- if the temp trigger is still viable but a fan is already on, then my On-rule's conditional does not fire.