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:
- It is accessible via WLAN and thus integrable into my smarthome
- It is one of the first manufacturers and thus has “the most experience”, hopefully
- He draws a map internally and cleanes all rooms much more efficiently (for 100m² it takes about 45 minutes)
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.
- IP address of the roomba cleaner should be blocked on your internet router to prevent automatic firmware updates. Otherwise, it may be that it does not work anymore because of some changes to their hidden api
- The robot supports a maximum of one client at a time. i.e. either the connection to the smarthome or the app of the manufacturer can be used. There is a mode that supports both at the same time. But this is so slow that I do not mention it here. Since my vacuum cleaner robot is completely controlled by my smarthome, I don’t need the manufacturer app anymore, so the solution is sufficient for me.
Implementation
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.
Furthermore, a card is drawn at each cleaning process, which shows you at which points has already been cleaned
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.
Sources
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.