A bit strange, I thought the communication of the App is running locally to the roborock.
I remember that there was some kind of server issue like a month ago and I couldn’t load the map. But starting stopping etc worked fine without any delay.
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 250, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/roborock/vacuum.py", line 138, in async_setup_entry
vacuum = Roborock(ip=host, device_id=device_id, token=token)
File "/usr/local/lib/python3.8/site-packages/pyroborock/__init__.py", line 147, in __init__
super().__init__(ip, token, debug=debug)
File "/usr/local/lib/python3.8/site-packages/miio/vacuum.py", line 108, in __init__
super().__init__(ip, token, start_id, debug)
File "/usr/local/lib/python3.8/site-packages/miio/device.py", line 151, in __init__
self._protocol = MiIOProtocol(
File "/usr/local/lib/python3.8/site-packages/miio/miioprotocol.py", line 43, in __init__
self.token = bytes.fromhex(token)
ValueError: non-hexadecimal number found in fromhex() arg at position 3
In there is instructions on how to tell if you’re account is migrated to Tuya yet. I have a S6 MaxV and in my case, I’m still in the Roborock cloud instance.
This might help to determine if it’s worth trying to implement this component or not.
Instructions from the link above:
How can users check which IoT cloud they are connected to:
Users connected to Roborock IoT cloud are not affected by this vulnerability, and so they might not receive the update information.
For users connected to Roborock IoT cloud,the DID is a string prefixed with “rr_”.
Note:DID is a unique device ID assigned by the IoT cloud during the process of network pairing which may change subject to the device, the user and the IoT cloud.
How to check the DID: Tap the 3 dots at the top right corner of the main page on the Roborock app, tap “Customer Support” and then “Serial Number” or “Product Info”.
For users connected to Tuya IoT cloud,the DID is a string prefixed with “ty_”.
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
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
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?