[APP][Pro] Roborock Cloud - Intelligent robot vacuum cleaners

Hello,

The app worked perfectly for almost a year. But for some reason the connection between the app and the roborock itself is gone without changing anything since a few days

Are there more people with problems like this and how can I solve this?

Thanks in advance!

9f759080-0eb1-46a7-928d-fe163241140d

@KennyMoens Thanks a mil…!!

Hey,

Have you tried disabling the local connectivity in the settings? The robot does not answer on the local commands.

Mvg

Hi Kenny were you able to have a look? Got you a second report as the robot was cleaning for 3 minutes already before it sent a ā€œstarted cleaningā€ trigger. If I reconnect or restart the roborock app it will solve it for 1 time. Afterwards it starts getting slower and slower. Didn’t have this in the past.

Thanks a bunch

2d8e4714-7d9d-43a6-a84e-5aa769c0b97c

Hey @SandwichDeLuxe,

The only thing that I see in the report is this:

⚠ The app has crashed.
CPU Warning Limit Reached

⚠ The app has crashed.
CPU Warning Limit Reached

⚠ The app has crashed.
CPU Warning Limit Reached

This means that too much CPU is being used on Homey, this could be the Roborock app, or other apps in combination which cause this. I’m not sure about it. But I am sure though that if your Homey is running on its CPU limits you will get delays in messages.

You can view the performance and CPU use of each app using the Homey Developer Tools, maybe worth looking there? It is available at Homey Developer Tools

Other things you might try, is upgrading to the latest test version, which contains already quite a lot of changes compare to the stable version, and once we get confirmation of the L01 protocol I’ll push that one to stable.

Kind regards,

Dear @KennyMoens

i have the TEST version 2.9.6. but it seems that the when cards ā€œFinished cleaningā€œ and ā€œIs stuckā€œ do not work. I have the ā€œAllow local connectionā€œ setting set as ā€œNOā€œ

Any idea what could be the cause?

Kind regards

Radim

Hi Kenny,

First of all: great app, love your work!

For some reason my routines have disappeard from the Homey app (still in the Roborock app, S8).

Is there any way to get them back?

If not, is there another way to have the robot mop instead of vacuum?

Hey guys,

@Radim_Kupcak

There were some changes on how status updates are handled. These might cause some bugs, I’ll look into it later on this week.

@Heymil

The routines are loaded at app startup only, you can try to restart the app.

Nevertheless, the use case you have does not require routines. You can set the suction power to off for mop only, or the scrub intensity to off for vacuum only. Please make sure to add a delay of 1s at least after that command in the flow before you trigger the cleaning. Otherwise it won’t work.

Groetjes

1 Like

Hi Kenny, thanks for checking.

I did not find any CPU peaks, also not when starting a clean triggering the flow. I just rebooted the Roborock Cloud app and it’s working again as intended. The status updates within 1 sec instead of 3 minutes. But I’ve tried this in the past. Let’s see how long it holds up, maybe something crashes it in the hours to come.

Will definitely check the coming versions.

Many thanks! This was the solution

Hello all,

Hereby a request for help from the community. We are facing two major items, i.e. the protocol changes that are occuring.

B01 Protocol (e.g. Q10 Q5)

The one where I’m currenlty most in the dark is the B01 protocol which is used by the newer devices, such as the Q10 S5 device. What I’m really missing here is more data on what is actually transmitted over the MQTT channel for the cloud communication. The guys from Python Roborock already did some work on the encryption/decryption, which seems to work, but the message structure is really unclear.

I would love to get some support from people with these devices, the Homey app will discover your device but you won’t be able to control it at all.

There are a few scenario’s possible for trying to figure out what is going over the wire. These are:

  • Using mitmproxy you can interecept the traffic coming from your phone towards the Roborocok cloud interfaces. This does require you however to install some applications on your PC and additionally have a rooted phone which can get the necessary certificates installed.
  • Or, alternatively, creating a burner account for Roborock. Share your robot with that burner account, and afterwards share the credentials for that burner account with me. Then I can do the process above. You can revoke access of the burner account or remove the burner account at any time.

Local Connectivity / L01 Protocol (e.g. Saros 10)

The Saros 10 and several newer devices don’t work with the local connectivity yet. For now we managed to reverse engineer the decryption with success, but somehow it is not working yet. People who own a Saros 10 device and have disable the local connectivity to get it working, are encouraged to upgrade to v2.9.6 or later (in test only), try how it reacts - it will probably not work - and submit a diagnostics report so that we can try to learn from it.

Thanks guys!

Hi @KennyMoens Lash-L from python-roborock/ Home Assistant here. I came across your gitlab repo from a recommendation from a user when they saw you had some progress on L01. I have a discord chat with a couple of others in the space(copystring from iobroker and rovo who originally did the V1 local reverse engineering) and I would be happy to add it to you if you are interested. Lash-L on discord. I don’t seem to be able to pm you, so I figured I would share here.

Hey @Lash-L

For sure, that would be very interesting. I was not on discord, but now I am.

You should be able to add me, user kennymoens, i cannot seem to find you therefore tried it this way.

Kind regards

1 Like

Hi there and thanks a lot for your great app. I am trying to set my usage (or maybe routine in English) but they are not popping up in the flow creation. As my rooms. They are not displayed. What I want to do is a vacuum only about 3 rooms,then when back to the station, start to mop these 3 rooms. I have created a dedicated routine in the Roborock app to do that but I am not able to trigger it through homey. Thanks for support :wink:

Hello guys,

I’ve just pushed v2.9.6 towards stable. This version contains numerous improvements, and mainly integrated the L01 protocol. This is the protocol spoken by newer robots for the local connectivity. It should be working, but quircks might arise. In case of issues, please let me know.

There is quite some stuff moving at Roborock itself, which might impact us. I have good contacts now with the developers of the Home Assistant and ioBroker integrations, so we share knowledge which - at least I hope - will make progress better.

Though… Roborock introduced the B01 protocol for newer robots, which is a pain-in-the-***, based on what we know so far, it is competely changed and might take some time to get fully implemented. Still I want to support it.

Next, there seems also a new authentication way… this might also break some newer devices. I hope to get that implemented soon.

Lastly, I would love to get the A01 protocol for the Roborock Zeo and non-robot vaccuums integrated somewhere during this winter. People who have any of these devices can always let me know, so that I have some test pool available :).

@Bulletcather

Sorry for my late response, I have been quite busy lately. I’m starting to have some more time again, so I can make some improvements. In your case it appears that we don’t get feedback from the Roborock itself. Could you restart the app inside Homey? Once done wait +/- 1 minute and submit me a diagnostics report.

2 Likes

Hello, thanks for the great app.

After the last update to version 2.9.6, my S5 Max now shows constant problem alarm on. Tried restarting the app, repairing the cloud connection, still the same. The official Roborock iOS app does not show any alarms for the robot.

Here is the diagnostics code: 5c9f3e16-ca32-4f4b-b393-598d622e0736

Thanks!

Hey @0x6170,

The diagnostics report does not make me wiser, it does not contain any useful info to help to diagnose the problem.

Could you restart the app and submit a diagnostics report +/- 1 minute after the restart of the app?

Thanks,

Kenny

Here is the report before restart

1a03fb7b-afed-463d-a513-e84ce696ea1c

Report after restart

2824e6c4-9d5a-49fa-9f29-139b2fccfeed

Hey @0x6170,

This is very weird, it seems all those reports are equal and don’t show anything at all.

Does anything else work? Or is it only the alarm that is wrong?

Thanks,

That is strange. Not sure how these diagnostics generation works though..

Anyway, I believe most of the other stuff works, I can start the robot, pause it, make it return to dock and etc. Here is report after I performed some actions on it. Does it show any activity now in the diagn. report?

073da956-9c95-4070-9337-793b03a35d5d