Home Assistant Roborock Integration - MQTT Timeout Fix
The Roborock integration in Home Assistant Core 2026.3.x (using python-roborock==4.17.1) suffers from frequent re-authentication prompts caused by MQTT connection churn. The root cause is documented in home-assistant/core#164865:
- The integration connects to MQTT on startup to retrieve network info
- When devices are locally accessible, MQTT messages are sent locally and MQTT remains idle
- The Roborock cloud server disconnects idle (inactive) subscribers
- The integration detects the disconnection and attempts to reconnect
- This reconnect loop repeats until the account gets rate-limited and marked unauthorized
- Home Assistant then prompts the user to re-authenticate
python-roborock==4.18.1 (released 2026-03-07) includes PR #779 which fixes this by deferring MQTT reconnect attempts when there are no active subscribers, preventing the reconnect churn that leads to rate limiting.
This custom component is a copy of the official Roborock integration updated to use python-roborock==4.18.1, providing the fix while waiting for the official Home Assistant Core update.
- Add this repository as a custom repository in HACS
- Install "Roborock (MQTT Fix)"
- Restart Home Assistant
- Copy the
custom_components/roborockfolder to your<config>/custom_components/directory - Restart Home Assistant
- This is a temporary fix. Once Home Assistant Core updates to use
python-roborock>=4.18.1, you can remove this custom component and use the built-in integration. - This component is identical to the official Roborock integration except for the
python-roborockversion requirement.