Roborock app

Working! :smiley: Just as before with my S5 …

I ended up using an unofficial app installed with node.js. Etracted the token from my iPhone… It all works fine now. Do you have a macbook?

No unfortunately not, but which app is the unofficial app? Or did you mean the unofficial xiaomi app on your phone?

I’ll try to describe all my steps. I am a Macbook user soo they’re might be some changes in your way of handling stuff.

Get device token

  1. Remove the robot from your Xiaomi app (only Xiaomi works!)
  2. Make sure you reset WIFI by holding ZONE and HOME at the same time
  3. Wait for the reset WIFI voice to sound
  4. Head back to the app and add your robot
  5. Go through the add process as you usually would
  6. Once installed, connect your iPhone to your computer
  7. Create a backup using iTunes (or in my case Finder), make sure you create a uncrypted backup!
  8. Download and install iBackup viewer from here
  9. Open iBackup viewer and click the backup that has been created in step 7
  10. Click on RAW DATA, the tree icon
  11. Search in the left field for com.xiaomi.mihome and open it
  12. In the right bar, use search on top and search for ‘sqlite’ and press the file ‘Documents/[ID]_mihome.sqlite’
  13. Press the download button in the top bar and save the file to your desktop
  14. Now go download ‘DB Browser for SQLite’ from here
  15. Click on ‘Open file’ and choose the recently saved file on your desktop
  16. Click on execute query and add: select ZTOKEN from ZDEVICE where ZLOCALIP is ‘192.168.XX.XX’, where the XX.XX is the IP from the Roborock.
  17. The result will be a HEX encrypted key
  18. Go to this website and paste the key there in ‘input text’

Choose HEX
AES
MODE
Key = 00000000000000000000000000000000
Choose HEX
Press decrypt

  1. Your 32 character key will show up in the right box, it’s the two rules code
  2. Save this code somewere or keep the website open.

More information about this method on this website I found. There are also other ways for other platforms there!

Install the unofficial app

  1. First, download the files for the unofficial app clicking here
  2. Next, if not yet installed, install node.js; download here
  3. Run the installer and take care of all the questions
  4. Open terminal and type ’ npm install -g homey’ to install Homey
  5. Once installed, type homey login to login to Homey; a website will open
  6. Use homey select to select the Homey you wish to use, if you have only one just press enter
  7. Go to the folder were the app is downloaded, in my case cd /Users/[USERNAME]/Downloads/xiaomi/
  8. Next type homey app install to start installing the app on your Homey
  9. The app should be installed

Please keep in mind that you have to be on the same WIFI your Homey is in for this to succeed!

This tutorial is thanks to this url and this url.

Install your Roborock

  1. Open your Homey app, go to devices and add a device with the app Xiaomi
  2. Choose your vacuum cleaner
  3. Enter the IP of your Homey
  4. Go to the place were you stored your key and paste it in the TOKEN field
  5. Press test connection
  6. Ouila!

Cool, thanks so much, i’m not a Mac user, but i can setup a VM if needed, will give this a try tomorrow, hope it works

Take some time for it… It’s working fine here now soo it must be possible, but it’s pretty time consuming! Let me know if it worked

I actually did most of this already, except for the “install the unofficial app”, so that is probably why i couldn’t get it working before, i’ll give this a try, would be very nice to get it working

Okay soo in order to help out some people I created a Roborock app based on the ‘unofficial’ app that i’ve found. I tried tracking down the creator of this app but without any luck, even the people blogging about this app don’t know were it came from. I hope I find him someday, he deserves credits for this.

I changed the whole app, removed stuff that wasn’t working, removed all other devices except the Roborock vacuums and dedicated the app to the vacuum cleaners. Everything should work following the Homey guidelines for apps, soo this should be accepted in the official app store.

I still can’t seem to get ‘Go to location’ and ‘Zone cleanup’ to work, soo for now I removed them from the app in order to make it stable.

I’ll keep you posted about this… For the mean time here are some images.





1 Like

That looks great!

Was just about to test your unofficial option, but now that i know this one is comming soon, i’ll wait for a bit. Did you already submit it to the appstore?

It’s in test now. I am going to use it for a couple of days, see if it’s not crashing anywere. Once i’m sure it won’t I will ask for a submit!

1 Like

:+1: If you need someone else to test it as well, feel free to let me know. I’m pretty good at breaking stuff lol

1 Like

Sure but i’m not sure how this works lol… First time publishing something, i’m ad trial and error mode currently. Is there a way I can invite people to test this? Or do you need the files for a CLI install?

That last one is tricky since there are going to be multiple versions out there… I’ll look into it!

Don’t have a clue to be honest, i know that after an app has been added to the store you can put a testversion out as well, but unsure if you can do that before it enters the store.

@martijnpoppen Any clue if that is possible?

Maybe you can find some more information about zonecleaning, map and coordinates here:

https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum

It works (most of the time) in IObroker (my current test setup as a workaround), so might give you some insights.

Thank you! I am going to do that next!
Firstly focusing on how to get this puppy stable and find out if you can test it with me, next ‘update’ is zone and coordinates.

Sure, first get a stable release out is the best way forward, then add more and more nice features :slight_smile:

If you’re looking for information, just let me know, think i’ve pretty much found every solution out there, but since i’m not a dev i’ve never tried to setup my own app so far, but have tried pretty much every workaround with the s7 lol

But no stable ‘Go to location’ and ‘Start zone cleanup’ soo far with Homey?

Kinda have that working now through IObroker, but the iobroker setup itself ain’t really stable in my opinion, but could also be because of my “complicated” server/VM setup and the mqtt triggers i use from homey to control the IObroker server/apps

Okay well we dig into that later. Thanks for your help soo far.

Sure, no problem, if there’s anything i can do to help, feel free to send me a DM (en dat mag ook in het nederlands :wink: )

Very cool Justin.
I think you can publish your app on the independent Community Store for starters/testing

Info:

If you are a developer, and want to add your app to the Homey Community Store please send me
MaxvandeLaar
a message in our Slack channel

1 Like