[Custom Component] Roborock communication

I don’t think the S6 is a supported model, unless that’s changed recently…?

I have the necessary tokens (from a rooted Android w/ the latest app from the Play store similarly @JohanPotgieter did from step 12), but I have another issue…

I can’t use the plugin in the docker env, because it wants to install requirements by pip that requires gcc to build the binaries… I tried with @jd89’s version and the bit fresher nathanfiscus’s version, but both of them are affected.

Can I include gcc and python-dev packages into the docker container somehow to be able to use this plugin?

For a test you can add them by going into the container and running apk add python3-dev gcc musl-dev. Afterwars I was able to install nathanfiscus’s version. Please notice that the packages will get lost after deleting the Home Assistant container.

Unfortunatelly my token is not Hex so it fails with:

2022-06-04 19:14:32 ERROR (MainThread) [homeassistant.components.vacuum] Error while setting up roborock2 platform for vacuum

Traceback (most recent call last):

File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 249, in _async_setup_platform

await asyncio.shield(task)

File "/config/custom_components/roborock2/vacuum.py", line 138, in async_setup_entry

vacuum = Roborock(ip=host, device_id=device_id, token=token)

File "/usr/local/lib/python3.9/site-packages/pyroborock/__init__.py", line 147, in __init__

super().__init__(ip, token, debug=debug)

File "/usr/local/lib/python3.9/site-packages/miio/utils.py", line 42, in new_func1

return func1(*args, **kwargs)

File "/usr/local/lib/python3.9/site-packages/miio/integrations/vacuum/roborock/vacuum.py", line 909, in __init__

super().__init__(*args, **kwargs)

File "/usr/local/lib/python3.9/site-packages/miio/integrations/vacuum/roborock/vacuum.py", line 168, in __init__

super().__init__(ip, token, start_id, debug, model=model)

File "/usr/local/lib/python3.9/site-packages/miio/device.py", line 75, in __init__

self._protocol = MiIOProtocol(

File "/usr/local/lib/python3.9/site-packages/miio/miioprotocol.py", line 42, in __init__

self.token = bytes.fromhex(token)

ValueError: non-hexadecimal number found in fromhex() arg at position 1
1 Like

I updated the component and the library to support the latest version of home assistant.

See GitHub - jonryf/hass-roborock

Unfortunately, I struggle to connect to my new Roborock S7 MaxV - it stops when connecting to the local IP and port - tested both tinytuya and the ipc bridge. Someone who had a similar problem? Or might know if the new maxv model changed something?

Update: Tested with S5 Max, and had the same issues with connecting to the IP+port, which is really strange

I feel like this needs some serious development to work properly, the Tuya API seems to be outdated anyway, even for those who find their token.

We need to create proper support for the Roborock API.

I’ve got a brand new S7 MaxV, it uses the Roborock API and not Tuya.

When MITMing it with Charles on iOS, I found my token and it’s clearly using the Roborock API and encrypted MQTT commands.

1 Like

Sweet, a working Roborock integration has now been released!

1 Like

I have S6 MaxV, integration OK!!

Thank you very much

Let us know how it works. I have the same vacuum (as well as a Pure).
Does this mean we have all the features available when using the Mi Home app when using the Roborock app, with the addition of the camera and remote control only available via the Roborock app?

for now only integration ok
S6 Maxv is available as a device, not an entity

I don’t know how to proceed now

New HACS integration constantly telling me i have an incorrect username and password. Verified as working within the Roborock app.

1 Like

Now entity is operative

Do you use the same Login (email address) and password as for the Roborock application?
I try but it gives me every time a connection error message.
I use my email as login, my password and DE server because i come from Belgium.
Any idea ?

same credentials as for the roborock app

It’s also working for me on an S6, however I dont think it’s able to pull the brush/sensor use info.

thanks for all your work! I just added the integration and was able to connect my roborock s6 maxV :+1: In the next days I will make some tests and then I can give you feedback whats working/notworking :slight_smile:

Great work, thanks

I added the vacuum map card (same card as the original integration) and I’m getting the following error on the map:

Invalid calibration, please check your configuration.

Any idea what I’m doing wrong?

Same here, unfortunately. I’ve verified my password and tried both username and email from the Roborock app, it still won’t log in.

Does anyone have an idea how to fix that?

Hello, nice work thanks, I installed it and immediately connected it without any problems, it seems to work, I have to test it for a while, even if for some settings you always have to use the roborock app, if you implement other functions such as washing selection, room management and cleaning scheduling would be top. good job.

I was excited to try the Roborock integration, switched my S5 MaxV back to the Roborock app and configured it in Homeassistant. After some fiddling, I had it as completely configured as with the Xiaomi integration.

However, I discovered one vital feature had stopped working. Pause and resume no longer work. I used the power button on the vacuum (or the pause/resume button in the Lovelace card) to pause and continue cleaning. Now it restarts cleaning instead :confused:

Has anyone else come across this change when switching to the Roborock app?