When you automate your home, you’re going to come across some devices that refuse to play ball and these just do not speak wifi at all. That doesn’t mean they’re not controllable by wifi, just that you’ll have to beat them into submission somehow and their remote control is a great way to do it. Here’s how I like to solve that problem.
- Broadlink RM Mini
- Raspberry Pi or linux server of some sort (check out my post on building an automation gateway for a good place to start)
- Python 2.7
Prepare Your Equipment
- You’ll need to start by plugging the Broadlink in and getting it connected to your wifi. I chose this device as it’s super cheap (about $20 on ebay or amazon) and not super ugly (which is good as it has to sit somewhere in the room where it will have line of sight to the devices you want to control). The app sucks unfortunately, but you only need to use it to get it connected to the wifi, so you can delete it after that.
- Give the Broadlink an IP address reservation on your router and write down its MAC address for use later.
- Log into your Raspberry Pis terminal and install Python 2.7 on your Raspberry Pi
sudo apt-get update && sudo apt-get install python2.7 python-pip
- Clone the Broadbeancontrol app from https://github.com/davorf/BlackBeanControl
sudo git clone https://github.com/davorf/BlackBeanControl
- Edit the Broadbeancontrol.ini file to include your Broadlinks IP address and MAC address.
That’s it! You’re ready.
Recording and Replaying Controls
To record the command from a remote, just run the following command on your Raspberry pi then point the remote at the Broadlink and press the button.
python BlackBeanControl.py -c button1
Now the next time you run that same command, it will replay the IR signal it just recorded. So maybe instead of calling it button1 maybe call it airconOn or something meaningful
Once you’ve recorded all the buttons and created all the commands you need, hook it up to some voice control by using these commands in conjunction with my method for voice control.