Control robotic cleaner

Another “toy” I have integrated into the smarthome is recently a vacuum cleaner robot from iRobot. I chose the model Roomba 966.

Why a iRobot Roomba

There were several reasons for this:

iRobot Roomba 966 starting a new job iRobot Roomba frontal view

However, there are also negative points. As a “top dog”, you do not need to respond so much to customer requests. You can see it by the fact that there is no official way to control it via an API.

After some research in advance I found a Github project which makes it possible. But it has a few limitations.


The connection is made with the help of the previous mentioned Github Project. This connects to the MQTT broker on the iRobot, reads out the data and writes it into my own MQTT broker. This in turn is read out by openHAB, with which all data is available for further evaluation and control.

openHAB UI to control the iRobot Roomba

Furthermore, a card is drawn at each cleaning process, which shows you at which points has already been cleaned

Room map of the last cleaning job

The whole thing is now automated so far by the presence detection about hour after I leave the house the robot begins to clean. In most cases, he acts completely automatically the whole week and sends me a message at the end of the week that I should empty the container. There is thus no need for using the manufacturer app.

At the moment I have to take him to the upper floor once a week to start cleaning manually. But since it works so well and above all automatically in the basement, I am considering buying a second Roomba for the upper floor.

Last but not least hope that the manufacturer at some point a reasonable way to connect to your own smarthome ready.


All configurations and openHAB rules to control the iRobot Roomba are part of my deployment project and can be tried or downloaded there. Alternatively, the openHAB rules can also be obtained directly from my Github Repository.