The idea is rather simple: python-miio library allows you to get the status of and control the Roborock S5 vacuum cleaner via the python script. You can easily run the following actions (the python-miio library can do much more but these are the ones important for us):
- start the cleaning of the rooms with given IDs
- abort cleaning and go to the charger
- go to a predefined place for the vacuum maintenance
- (I have almost forgotten) triggering the famous "Hi, I'm over here!" sentence
Around that features list I have added a UI in the form of Raspberry Pi, push buttons and LEDs mounted on the wooden panel with room symbols so my kids can use it.
This video shows how simple it is to start a cleanup of two segments. It also shows the log output of the Python script. Having this remote controller doesn't affect functionality of an official MiHome application nor does it require modification of the vacuum itself. The output of the MiHome application is shown at the top left corner of the video.
Before you start building something similar you should be familiar with the following skills:
- setting up an Raspberry Pi - burning SD card, WiFi setup, remote ssh connection
- wiring - IDC connector and flat cables
- soldering - buttons, resistors and LEDs
- woodworking - this depends on which material you will use for the housing
- simple computer image editing (e.g. using Gimp) - for front panel drawings and printing