Xiaomi Mi Robot totally standalone (never known past my LAN)

Hi guys,

I was wondering if it’s possible to manage a Xiaomi Mi Robot vacuum cleaner with HA but without having to ever allow traffic between the robot and the Internet nor having to use the Mi Home app. I understand after reading the documentation that the token can be extracted directly using miio (not 100% guaranteed, it seems) or by dumping it from the phone application which requires registering the device etc, I assume.

  1. Would it be possible to extract the token without having to connect to the internet neither the phone app nor the vacuum cleaner? I guess the answer is no if I’m using the phone app but perhaps it’s possible using miio as AFAICS it basically looks for the device in the LAN however I fear that if the robot never has internet access it might not be able to initialise itself or something.
  2. Once the token is extracted no matter how (miio or via the phone app), would it be possible to fully control the robot from HA if all the internet traffic from/to the device is blocked? There are some comments here pointing to the fact that the device might not work if it does not have Internet access, thus my question.

As you can imagine, I’m basically a bit concerned about this machine sending too much data out :slight_smile:

Thanks!

or

Thanks for those links, I had seen them already but I was looking for something more lightweight if possible. Navigating through the dustcloud wiki again I came across this which could be what I’m looking for! :slight_smile:

I used the app for the initial setup and that was it. Grabbing the key was a pain. I ended up having to extract the key from an IOS backup. It worked great once I plugged the key into Home Assistant. I haven’t used the app in a while and control everything with Node-RED and Home Assistant. The HA controls happen within a second, e.g. pausing or starting the vacuum. I also set up Node-RED to send Pushover alerts if the vacuum has an issue.

Probably one of the few automations that has my wife’s approval. Waking up and having the main floor completely vacuumed went a long way with credits for future projects :).

1 Like

I’d like to ask a few quick questions before I root my Roborock since I am new and you are not:

  • Is this process reversible?
  • Does it mean it won’t get new features going forward (till someone add them to the customized firmware)?
  • Can it still be controlled via the xiaomi home app?

Thank you.

1 Like

any answers for the questions above? Thanks

Has anybody had a chance to figure this out?

Yes. Unless you brick the vacuum by rooting it. Then it’s gonna go to the landfill.

Yes, that’s what it means. You will be entirely dependent on the Dust guy and the Valetudo developer to get new rooted firmware (or not, depending on their mood of the day).

No.

I’ve looked into this some time ago. I ultimately decided against it. Hypfer, the Valetudo developer, is a pretty strange person. He has very strong ideals on certain things, and he almost religiously refuses to implement certain highly useful and vital features (like multifloor support). He recently flat out deleted all open issues, bug reports, feature requests and discussions for Valetudo, because they caused him emotional distress. Keep in mind that by installing Valetudo, you may be independent of the cloud, but you will be totally dependent on that persons whims. Unless you never ever want to update your robot anymore, which can be a valid way to do things too.

There was a Valetudo fork, Valetudo RE, that looked very promising and implemented a lot of the missing features in Valetudo. Sadly it was abandoned.

Personally I think the best course of action with a robot vacuum is to use its original firmware and keep it on a local LAN. You will lose some features, but it will still vacuum your house.