Broadlink RM IR control via Python

Christmas I received the Broadlink RM device for controlling IR devices with the intention of using it with Amazon Alexa. It turns out that the service is not available in the UK so the only way to control the device is with the phone App.

After ‘googling’ for options it turns out there are ways to bridge the connection using Android devices, which I don’t have. My next option was to look for ways to control the device through Python and create my own skills in Alexa.

Everything is easier said than done but here goes.

Step 1. make sure your broadlink RM device is on your network and you can see it with the phone App. Just follow the instructions in the box for this bit.

Step 2. I found a library on github to provide some basic API features. Download the API from user mjg59 on github. From this point you can follow the instructions on the README 🙂

or mine below…..

Step 3. I found that my install of Python did not have pyaes installed that is used by the API so ….. sudo pip install pyaes

Step 4. Okay, when I download the code from github I placed the contents of broadlink/__init__.py in to broadlink.py. You will need to do the same if you use the code below to learn one command from your remote and repeat it back out. This will prove you can communicate with the broadlink device and play out a recorded IR code.

import broadlink
import time

devices = broadlink.discover(timeout=5)
print(devices)

devices[0].auth()

devices[0].enter_learning()
print("learning")
time.sleep(5)
ir = devices[0].check_data()

print("wait")
time.sleep(10)

print("learnt")
devices[0].send_data(ir)
print(ir)
print("end")

Running the above will give you 5 seconds to learn an IR code (your broadlink should show an amber light) and 10 seconds later the broadlink will reply the command.

This proves you have control of your broadlink. The next stages will be to learn all your IR commands to build a database that Alexa can use.

About Warren Cross

A contract IT professional that has been in the technology industry a number of years at various blue chip companies. During his career he has been a successful application developer, analyst, project manager, IT manager and system administrator, and performed in both global and local roles. For contract opportunities feel free to contact Warren through this site.
This entry was posted in Code, Home Automation. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *