core: Roborock setup fails due to dependency conflict with Govee HACS causing 'wrong value for rriot'
The problem
After the Core Update today, Roborock Integration stopped working with the following Error Log. I tried deleting and re-login, but i get an “Unexpected Error”.
Logger: homeassistant.config_entries
Source: components/roborock/__init__.py:29
First occurred: 12:28:48 (2 occurrences)
Last logged: 13:03:04
Error setting up entry <mymail> for roborock
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/roborock/__init__.py", line 29, in async_setup_entry
user_data = UserData.from_dict(entry.data[CONF_USER_DATA])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/roborock/containers.py", line 89, in from_dict
return from_dict(cls, decamelize_obj(data, ignore_keys), config=Config(cast=[Enum]))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/dacite/core.py", line 68, in from_dict
raise WrongTypeError(field_path=field.name, field_type=field.type, value=value)
dacite.exceptions.WrongTypeError: wrong value type for field "rriot" - should be "roborock.containers.RRiot | None" instead of value "{'u': 'xxx', 's': 'xxx', 'h': 'xxx', 'k': 'xxx', 'r': {'r': 'EU', 'a': 'https://api-eu.roborock.com', 'm': 'ssl://mqtt-eu-5.roborock.com:8883', 'l': 'https://wood-eu.roborock.com'}}" of type "dict"
What version of Home Assistant Core has the issue?
core-2023.9.3
What was the last working version of Home Assistant Core?
(the one before)
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Roborock
Link to integration documentation on our website
https://www.home-assistant.io/integrations/roborock
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response
About this issue
- Original URL
- State: closed
- Created 9 months ago
- Reactions: 1
- Comments: 61 (24 by maintainers)
IF you have the HACS Govee integration and you are experiencing this issue:
Go into your file editor, and go to custom components then govee, then edit the manifest requirements to be dacite==1.8.0 instead of dacite==1.6.0
I have created a PR on their library to try to fix this, but I don’t have access to their repository so I cannot make changes myself directly
https://github.com/LaggAt/hacs-govee/pull/124
This morning, I again had issues with the roborock integration because of Govee HACS, and I was really annoyed. Found this other govee LAN control HACS integration, and it seems to work really well. Thought of posting here in case it would help others: https://github.com/wez/govee-lan-hass
As is wrote, i didnt know how to pip uninstall, and just removing roborck was’nt working for me. (i’m new to homeassistant in general).
But i now learned how to
pip uninstall
with this community ssh addon anddocker exec -it homeassistant bash
Thank you @ all 😃
@home-assistant close
Yep, already enabled Govee HACS, and it all works together properly now 😃 Thanks a lot for your help!
@home-assistant rename Roborock setup fails due to dependency conflict with Govee HACS causing ‘wrong value for rriot’
It’s HACS. It’s also been a while since it was last updated. Here’s the output I see when I update dacite:
homeassistant:/config# pip install dacite==1.8.0 Collecting dacite==1.8.0 Downloading dacite-1.8.0-py3-none-any.whl (14 kB) Installing collected packages: dacite Attempting uninstall: dacite Found existing installation: dacite 1.6.0 Uninstalling dacite-1.6.0: Successfully uninstalled dacite-1.6.0 Successfully installed dacite-1.8.0 WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Looks like the dacite update fixed it for me. I now have the Roborock integration working with 2023.9.3 and verified I’m seeing entity updates.