core: Roborock S4 stopped working after upgrading to 2022.8.1

The problem

My Roborock S4 stopped working after upgrading to 2022.8.1. This integration worked for several years. The log shows a time-out. I can still control the vacuum with the mirobo tool:

image

What version of Home Assistant Core has the issue?

core-2022.8.1

What was the last working version of Home Assistant Core?

core-2022.6

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Xiaomi Miio

Link to integration documentation on our website

https://www.home-assistant.io/integrations/xiaomi_miio/#xiaomi-mi-robot-vacuum

Diagnostics information

“coordinator_data”: “VacuumCoordinatorData(status=<VacuumStatus battery=94 clean_area=7.23 clean_time=0:05:54 error=No error error_code=0 fanspeed=103 got_error=False in_segment_cleaning=True in_zone_cleaning=False is_on=True is_paused=False is_water_box_attached=None is_water_box_carriage_attached=None is_water_shortage=None map=True state=Segment cleaning state_code=18>, dnd_status=<DNDStatus enabled=True end=08:00:00 start=22:00:00>, last_clean_details=<CleaningDetails area=0.28 complete=False duration=0:00:16 end=2022-08-07 13:49:47 error=No error error_code=0 start=2022-08-07 13:46:27>, consumable_status=<ConsumableStatus filter=6 days, 5:31:35 filter_left=0:28:25 main_brush=12 days, 13:20:07 main_brush_left=-1 day, 22:39:53 sensor_dirty=4 days, 17:03:27 sensor_dirty_left=-4 days, 12:56:33 side_brush=12 days, 13:20:07 side_brush_left=-5 days, 18:39:53>, clean_history_status=<CleaningSummary count=1006 dust_collection_count=None ids=[1659872787, 1659872519, 1659731122, 1659646905, 1659599758, 1659559533, 1659510859, 1659475844, 1659392092, 1659300162, 1659211123, 1659076950, 1659037499, 1658951995, 1658813241, 1658780606, 1658693883, 1658599350, 1658525677, 1658435476] total_area=21299.49 total_duration=12 days, 12:44:20>, timers=[], fan_speeds={‘Silent’: 38, ‘Standard’: 60, ‘Medium’: 77, ‘Turbo’: 90}, fan_speeds_reverse={38: ‘Silent’, 60: ‘Standard’, 77: ‘Medium’, 90: ‘Turbo’})”

Example YAML snippet

No response

Anything in the logs that might be useful for us?

2022-08-06 11:45:32.002 ERROR (MainThread) [homeassistant.components.xiaomi_miio] Timeout fetching roborock.vacuum data

Additional information

Could be similar to #75835, although I have the S4 and I’ve added the integration before.

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 18 (10 by maintainers)

Most upvoted comments

Removing and re-adding the integration just fixed it for me in 2022.8.5, but I am not blocking the vacuum to the internet. it’s documented that it won’t work if you do. I do have HA on a separate network with IP masquerading for the traffic going from HA to Vacuum.

I wouldn’t work, the root cause why the dummy IP-based, unique_id is not being set to the vacuum’s config entry should be figured out and fixed. In any case, if the vacuum gets initialized once with the real mac address, it wouldn’t match with the dummy one after cutting the cloud connectivity so that’s not a working solution.

Aaah, I didn’t think about that. Thanks!

I wouldn’t work, the root cause why the dummy IP-based, unique_id is not being set to the vacuum’s config entry should be figured out and fixed. In any case, if the vacuum gets initialized once with the real mac address, it wouldn’t match with the dummy one after cutting the cloud connectivity so that’s not a working solution.

I think your vacuum is blocked from the internet (or is otherwise not responding to the info query properly), so there’s no unique id to be had. There is a hack that uses IP address for that, but it doesn’t work unless the device is initialized using the RoborockVacuum class (https://github.com/rytilahti/python-miio/blob/master/miio/integrations/vacuum/roborock/vacuum.py#L253) which is not apparently the case.

As I’m currently working on restructuring the library (https://github.com/rytilahti/python-miio/issues/1495), I haven’t had time to look into fixing that. Anyway, when https://github.com/rytilahti/python-miio/pull/1328 gets done it should start working. If someone wants to tackle that specific problem earlier, I’m open for PRs 😃