Regarding the robot vacuum you can have the best of both worlds if you get a compatible device and flash an open-source firmware, like Valetudo [1]. You can operate the device by pressing a button, and you can configure it from a locally-hosted webapp (it doesn't need internet access).