It must have been a strange moment for Mr. Colin M. Angle, CEO of iRobot, when he presumably announced summer 2017 his plans to
sell the mapping data share maps for free with customer consent of his newest robotic vacuum cleaner (Roomba) models to one of the big three (Amazon, Apple, Google). Facing a broad push-back due to obvious privacy concerns, he communicated: “That’s a misunderstanding”, and stated, “iRobot will never sell your data.” Reuters, New York Times, and SmartEnlight had to change their article by replacing “sell maps” with “share maps for free with customer consent”.
Well, a perfect time to take our good old, reliable, mapping-data free, infrared (IR) controlled Roomba and make it compatible with Alexa and Google. It’s not only the voice control, which makes this tinkering with Logitech Harmony useful. We will see, how we can teach Harmony to control (almost) any IR device, plus we will be able to use Logitech’s Schedule Activity feature to conveniently program, when our little Roomba friend shall start his cleaning sessions throughout the week.
Preparing our Roomba
Assuming you have your entertainment center and your Harmony Hub in front of your couch, the probability is high, that if you park your Roomba under your couch, infrared might reach it. Roomba will be out of the way, for the rest of the day. If the Hub cannot reach it, an IR mini blaster placed on the floor of/under the media cabinet (where Roomba cannot reach it when cleaning) will help.
Setting up Harmony
Chances are that your Roomba model is already in the Logitech Harmony database. However, in this post we will teach Harmony the Roomba commands with the original remote, since Logitech’s configuration for this Roomba (model 871) did not work, and Logitech’s support forum is full of questions which state the same for other models.
Anyway, it’s good to see how we can teach Harmony ourselves, since you might end up or already have, with some IR controlled device which is not in Harmony’s database.
Note, you will need your original remote to add devices manually!
Adding the Roomba to Harmony
We need to add a new device and name the model number our own way, e.g. manufacturer “iRobot”, model: “My871Roomba”. Harmony app will then come back with “We didn’t find your iRobot My871Roomba …”, confirm by tapping “My device is correct”.
Harmony will tell us now that we can add devices – which are not in the database – manually, if we have the original remote. Confirm by tapping continue.
Harmony will ask us, which type of device our Roomba is. In fact, it does not matter what we enter here since robotic vacuum cleaners are not in Harmony’s list. We can select entertainment device, a list pops up, where we can select Home Control. In the next screen, we can select “none of the above”. Harmony will ask us, whether we have our original remote control, which we can confirm by tapping “yes”.
Teaching the Harmony Hub our IR Commands
This is going to be a bit time-consuming. But bear with me, as we will teach Harmony all 7 commands, to be able to use our Harmony app as a full original remote replacement to control our Roomba.
Note, there are IR teaching tips in the app at the bottom of every “teach commands” screen. The following worked pretty well for me:
- Place strong batteries in the original remote (and don’t forget to remove them when you’re done)
- Direct the remote at a 45-degree angle towards the top of the Hub (just like in the Harmony illustration),
- about 2-3 inches away from the hub,
- from the side where your windows are (minimize other light input) and
- press the remote button quickly/lightly.
You might need to repeat the process up to 3 times. You might as well try changing the angle, distance and how long you press the remote button. A green checkmark is what we are looking for.
We start by teaching the Power Toggle (=Clean Button on the original remote), then Direction Up. We skip the Direction Down, as we don’t have this feature on the original remote. Harmony will leave us with this configuration. To be able to configure the other commands, we need to go to the Harmony app top left (burger) menu, select Harmony Setup, Add/Edit Devices and Activities, Devices, and select our device. Note, you will find this place helpful to tweak any of the hidden features of your Harmony.
Click “Add/Fix Command” and teach Harmony the other 4 commands: Direction Left, Direction Right, Dock, and Spot.
Since Roomba requires us to first press the Clean Button 2 times, the first time a bit longer to “turn on” and a second time to start the cleaning process, let’s add and teach the missing command “Clean” by tapping “Command Missing”.
Finally, to simulate the long press to power Roomba on, we need to tap “Fix Power Settings” from the Devices menu. In the next screen leave “Turn off when not in use” (the little guy is noisy, we will hardly Watch TV when he is around). The next screen is also fine with “Using a single button to power Roomba on/off”. In the final screen, make sure to prolong the “Power On Delay” (3 secs works in my case, could be longer for your Roomba) to simulate a long keypress.
Testing our IR Commands
Now for the fun part: It’s time to test whether all trained commands work. Put your Roomba somewhere in front of the Harmony Hub and select the device from the Devices Screen. Start with the Direction buttons: It’s almost as fun as driving a remote-controlled toy car, isn’t it? =)
On the next screen, test the power toggle and Clean, Dock and Spot commands. You need to press the Power toggle a bit longer to wake up Roomba and then the Clean, Dock, Spot.
Chances are, that some of our commands do not work. Nothing happens, even when pressing longer. In this case, you need to go back to fix those commands by teaching them again.
Creating our Roomba/Cleaning Activity
We have configured all of our Roomba commands, and they are working. It’s time to create our “Cleaning” or “Roomba” activity (however you prefer to name it).
Add an Activity from the bottom of the Activities screen and set icon and name. Edit the start sequence and add the step iRobot / Clean to start the cleaning after powering up.
Test the Activity with your Roomba in front of your hub. You should hear a beep for Roomba turning on and then he should start the cleaning process. If you stop the activity as long as Roomba is in the line of sight with your Hub and Mini Blasters, he will turn off.
Done, we are almost done! =)
Place your Roomba under your couch, or press the dock button so he returns by himself. Now, repeat testing the activity. If your activity does not start, try adjusting Roomba’s dock position (for me facing a wall 90 degrees from the Hub works fine) and/or adjust the Mini Blaster.
Congratulations! You have successfully upgraded your Roomba to work with your Logitech Harmony Hub!
Customizing the Buttons of our Harmony App
Though we see the proper commands when we look at our Roomba from the Devices Screen, we still need to adapt the buttons we see on our Activities Screen.
Let’s do this quickly. It’s best to do this while the activity is running, so let Roomba meanwhile clean someplace else.
From the Harmony app top left (burger) menu, select “Edit/Reset” and then “Edit Buttons”. The direction buttons work fine, just delete the rest of the useless buttons Harmony has put there and map the remaining four commands either to the second screen, or 3 commands to the first screen (you could omit e.g. the “Power Toggle”, and press the “Clean” longer instead).
Synching and Using Alexa and Google Home
Making our new activity available to our smart assistants is as easy as saying: “Alexa, discover devices.” or “Hey Google, Sync my Harmony”.
Alexa will tell us, that she couldn’t find any new devices, which is OK. You will find your new activity under Alexa’s Smart Home Scenes.
Google will ask us, whether we would like to talk to Harmony (duh!), and Harmony will tell us that she is synching our devices.
Before testing the voice commands, make sure that your activity is turned off in the Harmony app.
- “Alexa, turn on cleaning”
- “Hey Google, tell Harmony to turn on cleaning.”
You will hear Roomba’s familiar beeping.
For Google you might want to create a shorter Shortcut like “Turn on Cleaning”, see Logitech Harmony and Google Assistant: Setup and Voice Commands for details.
Using Your (Hidden) Roomba with the Assistants
When you start your activity, Roomba will start cleaning and when he is done, get back to the dock, hiding under your couch. I usually activate Roomba by voice command and stop when he comes in front of the couch either manually or by voice command to empty the bin and then start the cleaning activity again (by voice or manually, just be consistent).
If you have less dust than me, you can just let him do his job a couple of times without interrupting him. For programming Roomba’s weekly schedule, you can use the “Edit Activities”/Schedule feature. Just don’t forget you need to empty his dustbin, so he performs well.
I hope you’ve enjoyed this post. It is not only intended as a Roomba How-To but as a general overview on how to “teach” Harmony any IR controlled device you might have at home, which is not yet part of your Logitech Harmony configuration. And by adding devices to Harmony Activities, we have them magically available with Alexa and Google!
For a general overview of Logitech Harmony, see: Logitech Harmony: a Hub and it’s Elite, Ultimate, Companion
Find the dedicated assistant posts here:
- Logitech Harmony and Alexa: Setup, Voice Commands and a Candlelight Dinner
- Logitech Harmony and Google Assistant: Setup and Voice Commands
The comparison of the assistants in combination with Logitech Harmony is here: