Automate you dumb IR device with a Broadlink RM3 IR blaster

I had a problem: I love daylight when I wake up, but I need darkness in order to stay asleep.

I needed to automate the curtains in my bedroom as I’m too lazy to open and close the curtains myself. I looked around at the various options for controlling the window covers. Somfy’s look great, but they were more expensive than I wanted to spend. Dooya’s were another option but I couldn’t find much about them. After some browsing around, I settled on a BEME International motorized curtain rod. It was rather inexpensive compared to other options, and it was available on Prime.

After installing the motorized curtain, I used the IR remote that came with them to control the opening and closing of the curtains. This was a great improvement over the manual curtains I had previously, but it left me yearning for more. I decided to try to solve this with my Home Assistant addiction. After a bit of Googling around, I found that the Broadlink RM Mini 3 is one of the best IR blasters that can do this job. You can get this for less than 20 bucks on AliExpress or about 25 on Prime, being impatient, I, of course, went with the Prime option.

When I got the RM, I was shocked by how small it was. It’s tiny, about the size of a child’s closed fist. I immediately pulled it out and hooked it up to my WiFi network via their eControl app. I then followed the instructions for adding the device to Home Assistant following the instruction on the components page. Here is the configuration in my switch.yaml file to get the communications up and running:

switch: - platform: broadlink host: <broadlink ip> mac: <mac id> friendly_name: Bedroom IR 1 2 3 4 5 switch : - platform : broadlink host : < broadlink ip > mac : < mac id > friendly_name : Bedroom IR

Following the learning process for the codes was pretty straightforward. The BEME only has three buttons so it was a fairly quick process. Copying these three codes into my switch.yaml file left me with the following:

switch: - platform: broadlink host: <broadlink ip> mac: <mac id> friendly_name: Bedroom IR switches: curtains_open: friendly_name: Curtains Open command_on: 'JgA0ACsMJxAPKCwLDykPKA4pLAsPKA8pDygPAAR2LQsoEA4pKwwPKA4pDyknEA0qDygPKA8ADQUAAAAA' curtains_close: friendly_name: Curtains Close command_on: 'JgA0ACsMKBAMKyoJECsMKycQDSsNKgwrDCsOAAR5Kg0qDQwrKwwNKwwrJxAMKwwrDSsMKw0ADQUAAAAA' curtains_stop: friendly_name: Curtains Stop command_on: 'JgA0ACoNKgoPKysJEikMKw0qDCsoDw0rDSoNAAR5Kw0qDQ0qKgoSKA0qDSsNKicQDSoMKw4ADQUAAAAA' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 switch : - platform : broadlink host : < broadlink ip > mac : < mac id > friendly_name : Bedroom IR switches : curtains_open : friendly_name : Curtains Open command_on : 'JgA0ACsMJxAPKCwLDykPKA4pLAsPKA8pDygPAAR2LQsoEA4pKwwPKA4pDyknEA0qDygPKA8ADQUAAAAA' curtains_close : friendly_name : Curtains Close command_on : 'JgA0ACsMKBAMKyoJECsMKycQDSsNKgwrDCsOAAR5Kg0qDQwrKwwNKwwrJxAMKwwrDSsMKw0ADQUAAAAA' curtains_stop : friendly_name : Curtains Stop command_on : 'JgA0ACoNKgoPKysJEikMKw0qDCsoDw0rDSoNAAR5Kw0qDQ0qKgoSKA0qDSsNKicQDSoMKw4ADQUAAAAA'

To control these from the UI, I added service calls to turn on the respective switch actions. After living with that for a bit, I didn’t like the way switches showed the toggle button instead of a push button. So I created some scripts which would give me an actionable button to execute the command.

While in this example I used it the Broadlink to control my curtains, you can use it to control any IR device. I’ve also added a tower fan in the bedroom. The best thing is that I have added a scene to close the curtains and turn on the fan which is triggered via the Google Home. This makes taking naps a breeze!!

Let me know if you have any questions or are struggling with your Broadlink RM Mini in the comments below.