Ok. This project will take a while... A lot of stuff coming together on this one.
So I found out that the Roomba I've had for some years has a serial port and an open interface.
It's basically a iRobot Create 2, but this one can also clean my floor:
The Roomba is a 632 (600 series) without any scheduling or mapping capabilities... for now.
The interface allows me to not only send basic commands, but also to get full sensor readings. On everything from motors, bump and cliff sensors etc.
As always, the plan is pretty simple. Add microcontroller, some soldering, some typing, done!
To start, I want to be able to let Home Assistant send a CLEAN command via MQTT on a schedule.
In the long run I want to add a IMU (MPU6050) and integrate this with the sensordata (odometry) from the Roomba to get mapping data. So tracks like you get with a handheld GPS.
Then maybe do some loop-closing geodesy magic and take full control of the driving and cleaning.