In this article, we will discuss how to set up the BroadLink RM4 Pro universal remote. We will set it up with Home Assistant, and I will also show you how to configure remote controls so you can control devices directly from Home Assistant like tv.
BroadLink RM4 Pro: What is it?
The BroadLink RM4 Pro is a universal remote control. You can configure it to control any device with an IR or RF remote control, then send commands to those devices using the BroadLink app on a mobile device. However, we will integrate the BroadLink RM4 Pro with Home Assistant, so you only need to use the app to configure the RM4 Pro remote to connect to the Home Network. Once that is done, you can continue the configuration in Home Assistant.
Setup of the BroadLink RM4 Pro
Plug in your BroadLink RM4 Pro, when you plug it in for the first time it automatically is in setup mode. The light on the front should start flashing intermittently when you plug it in for the first time. A BroadLink app can be opened on a mobile device by tapping the Plus icon and adding a device. Click on Wi-Fi Devices and select Universal Remote from the next screen. On the following page, the setup page shows you how your device should blink when it is in setup mode. After tap Next, go to your WiFi settings and connect to the BroadLink_WiFi_Device network. Tap Done in the BroadLink app.
Disable mobile data and then connect to the WiFi network in the notification panel. In the app, tap on Setup completed. Next, select the universal remote and then tap Join the room to add it to a specific room. If you purchased the RM4 Pro with the temperature sensor in the cable, you could tap on Save on the next screen. Otherwise, tap on Skip.
The BroadLink RM4 Pro has to be unlocked in order to be integrated with Home Assistant. Tap on Use device now to exit the setup. Tap on the menu icon on the top right and uncheck the option, Lock device, and then tap OK to confirm.
The BroadLink remote has been connected to the network and unlocked, and you do not need the BroadLink app. You need to set up a static IP address in your router before integrating the BroadLink remote with Home Assistant. The MAC address of the remote can be found under Device info in the BroadLink app by going back to the BroadLink app, selecting the universal remote, and tapping on the menu icon on the right.
BroadLink and Home Assistant integration
Open your Home Assistant instance, go to Configuration, Integrations, click Add Integrations, search for BroadLink, and select it.
Once the pop-up appears, enter the remote’s static IP address under Host, click Submit, then select a name for the remote, click Submit again, and then click Finish.
Remote controls can be added
In order to add new remote controls to Home Assistant, you would need to register each button on a remote. lets learn how to do it.
To add a new remote and register the buttons, open Home Assistant, go into Developer Tools, Services, and search for ‘remote.learn_command’. Under Target, click on ‘Pick device’ and select the BroadLink remote. Then, under Device, click on ‘Add name’. After that, under Command, click on ‘Add name’. To make the process faster, you can also register several buttons when you run this service. You would need to add the names for the buttons one below the other. Then, when you have the list of commands you would like to register, click on ‘Call service’.
After you call the service, open the notification panel, and you’ll see the instruction to press the remote button. Press the button on your BroadLink remote, and the light on its front will be red. Press the button that you wish to register with your device’s remote control directly on the BroadLink remote. You will see the next button on your remote control when you register the first button on the notification panel if you are adding more than one button.
Adding RF remotes
When you register buttons, the Command type is set up by default to IR (Infrared). However, to register an RF (Radio frequency) button, you need to change the Command type from IR to RF. When you call the service, the notification panel will show the instruction to press and hold the button you want to register. The red light on the Broadlink remote will stay lit while it is checking the frequency. Then after a few seconds, the notification goes away, and another notification comes up asking to press the same button again to register the new RF command.
You need to re-register commands
When you call the service to register a button already registered, Home Assistant will overwrite the existing one with the code for the new button that you press. Should you register the wrong button by mistake, you can run the process again to register the right button.
Commands for deleting
You can delete one of the registered buttons by using remote.delete_command, selecting BroadLink under Target. Select Device and enter the name of the remote control for your device. Click on Call service and then enter the name of the button you wish to delete under Command.
Commands are sent
Under Target, select the BroadLink remote, after that under device, select the device that you would like to send the command to after that under command, enter the name of the button and click Call service.
The list of registered commands can be found here
If you need to see the list of commands you have registered for your remotes, locate the Storage folder in the Home Assistant configuration files. The folder is hidden, so you must enable File Explorer’s hidden item option to see it. The names and codes for your remote buttons can be found in the broadlink_remote_codes file in that folder.
You should not edit this file manually. If you need to change, add or remove a command, you must use the web interface to do it.
Create scripts to trigger commands
You will now need to create scripts for the commands in order to execute them from the web interface. This will create entities on your Home Assistant interface that you can use to execute those commands.
So, in your Home Assistant, go to Configuration, Scripts, and click on Add script. Set up a name for the script and also an icon. Then, under Sequence, Set the Action Type to Call service. Under Service, search for remote.send_command and select it. Now, under Target, click on Component and select the BroadLink component. After that, select the Component option and enter the component’s name that you would like to send the command to. Then, under Command, enter the name of the button that you would like to execute.
Some other useful variables here that you can use are the Repeats option which comes in handy when setting a script to raise or lower the volume a specific number of times with just one click, the Delay option which can help when you are executing several commands in one script, and the Hold option which is good for remotes with a button that triggers a second command when held for a few seconds. Save the script and run it to verify that it’s working properly. You can then add the script as a button on your dashboard and easily trigger the command to control your device.