Releases: JoshuaSeidel/hass-roborock
Release list
v1.2.4 - Auto-Cleanup Old Entities
v1.2.4 - Auto-Cleanup Old Entities
New Feature
Added automatic cleanup of stale/unused entities from previous versions.
How It Works
When the integration loads (on HA restart or integration reload):
- Builds a list of valid entity unique IDs from active coordinators
- Compares against all entities registered to this config entry
- Automatically removes entities that don't match current structure
- Logs each removal to Home Assistant logs
What Gets Cleaned Up
- Duplicate entities from version upgrades
- Old entity formats that have been replaced
- Orphaned entities from removed features
Safety Features
- Only removes entities with roborock-specific patterns
- Validates against active coordinator data
- Logs every removal for transparency
- Won't remove entities from other integrations
Benefits
✅ No more duplicate entities
✅ Clean entity registry after updates
✅ No manual cleanup needed
✅ Automatic maintenance on each reload
Usage
Simply reload the integration or restart Home Assistant, and stale entities will be automatically removed. Check the logs to see what was cleaned up:
Removing stale entity sensor.roborock_q10_s5_2 (unique_id: status_ABC123)
Full Changelog: v1.2.3...v1.2.4
v1.2.3 - Fix Entity Names
v1.2.3 - Fix Entity Names
Bug Fix
Fixed Q10 entity naming so entities are distinguishable in the Home Assistant UI.
Before
All entities showed as just "Roborock Q10 S5+" making it impossible to tell them apart.
After
Entities now show with proper names:
- Roborock Q10 S5+ Battery
- Roborock Q10 S5+ Status
- Roborock Q10 S5+ Cleaning time
- Roborock Q10 S5+ Cleaning area
- Roborock Q10 S5+ Cleaning progress
- Roborock Q10 S5+ Cleaning mode
- Roborock Q10 S5+ Fan speed
- Roborock Q10 S5+ Water flow
Changes
Added explicit name parameter to all Q10 entity descriptions.
Full Changelog: v1.2.2...v1.2.3
v1.2.2 - Q10 Select Controls
v1.2.2 - Q10 Select Controls
What's New
Added full select entity support for Q10 devices after researching the python-roborock library API.
Q10 Select Entities
Clean Mode:
- Both work (vacuum + mop)
- Only sweep
- Only mop
Fan Level:
- Close
- Quiet
- Normal
- Strong
- Max
- Super
Water Level:
- Close
- Low
- Middle
- High
API Methods Discovered
From the python-roborock library:
VacuumTrait methods:
set_clean_mode(mode: YXCleanType)- Sets cleaning modeset_fan_level(level: YXFanLevel)- Sets fan speed
CommandTrait methods:
send(command: B01_Q10_DP, params)- Send raw device commands- Used for water level:
command.send(B01_Q10_DP.WATER_LEVEL, YXWaterLevel)
Complete Q10 Entity List
Your Q10 device now exposes:
- ✅ Vacuum entity (start, stop, pause, dock, locate)
- ✅ 5 sensors (battery, status, clean time, clean area, progress)
- ✅ 3 select controls (clean mode, fan level, water level)
Full feature parity with Q7 devices achieved!
Full Changelog: v1.2.1...v1.2.2
v1.2.1 - Fix Q10 Data Type Error
v1.2.1 - Fix Q10 Data Type Error
Bug Fixes
Fixed critical error preventing Q10 devices from loading entities:
AttributeError: 'StatusTrait' object has no attribute 'mode'
Root Cause
Q7 and Q10 devices use completely different API structures:
- Q7: Query-based API returning
B01Propswith fields likemode,water,main_brush_time_left - Q10: Subscription-based API returning
Q10Statuswith fields likeclean_mode,water_level,battery
The v1.2.0 release incorrectly tried to use Q7's field structure for Q10 devices.
Changes
Coordinator:
RoborockB01Q10UpdateCoordinatornow properly returnsQ10Statusinstead ofB01Props- Added proper initialization with device info and update interval
Sensors:
- Created Q10-specific sensor descriptions matching
Q10Statusstructure - Available sensors: battery, status, clean_time, clean_area, cleaning_progress
Select Controls:
- Temporarily disabled for Q10 (API methods need documentation)
- Will be re-enabled once Q10PropertiesApi set methods are confirmed
Q10 Entities Now Available
- ✅ Vacuum entity with full controls
- ✅ Battery sensor
- ✅ Status sensor
- ✅ Clean time sensor
- ✅ Clean area sensor
- ✅ Cleaning progress sensor
- ⏸️ Select entities (coming soon)
Full Changelog: v1.2.0...v1.2.1
v1.2.0 - Full Q10 Platform Support
v1.2.0 - Full Q10 Platform Support
What's New
Extended platform support to B01 Q10 devices across all applicable platforms.
Added Entities for Q10 Devices
Sensors:
- Status sensor (work status enum)
- Battery level
- Main brush time remaining
- Side brush time remaining
- Filter time remaining
- Mop life time remaining
Select Controls:
- Water flow level
- Cleaning mode
Technical Details
- Added
RoborockSensorEntityB01Q10for Q10 sensor entities - Added
RoborockB01Q10SelectEntityfor Q10 select entities - Q10 devices now have feature parity with Q7 devices across all supported platforms
Compatibility
- Platforms with Q10 support: vacuum, sensor, select
- Platforms without B01 support (v1 only): button, number, binary_sensor, switch, time, image
Full Changelog: v1.1.1...v1.2.0
v1.1.1 - Fix Q10 API Methods
v1.1.1 - Fix Q10 API Method Calls
Fixed
-
✅ Corrected Q10 VacuumTrait method names - fixes 'update_data_fail' error
pause()→pause_clean()stop()→stop_clean()set_fan_speed()→set_fan_level()find_device()→command.send("app_find_device", {})
-
✅ Improved error logging in coordinator
- Now shows actual exception details for easier debugging
- Added check for None status after refresh
What This Fixes
If you were seeing this error with v1.1.0:
Error fetching roborock data: update_data_fail
This release fixes it by calling the correct Q10 API methods.
Installation
Update via HACS or download roborock.zip and restart Home Assistant.
Your Q10 vacuum controls will now work properly!
v1.1.0 - Full Q10 Vacuum Support
v1.1.0 - Full Q10 Vacuum Platform Support
🎉 Major Feature Release
Your B01 Q10 vacuum will now have full controls in Home Assistant!
Added
- ✅ Complete vacuum entity for Q10 devices
- ✅ All vacuum controls:
- Start/Stop/Pause cleaning
- Return to dock
- Locate/Find device
- Fan speed control (6 levels: quiet, normal, strong, max, super)
- Send custom commands
- ✅ Status monitoring:
- Current activity (cleaning, docked, returning, etc.)
- Battery level
- Fan speed
- Cleaning progress
Fixed
- Fixed Q10 devices showing no controls (they were detected but entities weren't created)
- Proper coordinator integration for Q10 devices
Technical Changes
- Added
RoborockCoordinatedEntityB01Q10base entity class - Implemented
RoborockQ10Vacuumentity with full vacuum.StateVacuumEntity support - Q10 API integration using subscription-based updates
Installation
Via HACS: Update to v1.1.0
Manual: Download roborock.zip and extract to custom_components/
After updating, restart Home Assistant and your Q10 vacuum controls will appear!
For Q10 PF+ Users
This release specifically fixes the issue where your vacuum was detected but had no controls.
All vacuum functions are now available in the Home Assistant UI.
Upgrade Note: If you're on v1.0.x, this is a significant improvement - you'll finally have vacuum controls!
v1.0.3 - Fix Config Flow Loading
v1.0.3 - Fix Config Flow Loading
Fixed
- ✅ Removed invalid translations file that prevented config flow from loading
- ✅ Integration now loads correctly in Home Assistant
- ✅ Config flow works properly
Changes
- Removed translations/en.json (contained 404 error)
- strings.json provides all necessary translations
Installation
Install via HACS - integration should now load and configure properly!
v1.0.2 - Fix HACS Download
v1.0.2 - Fix HACS Download
Fixed
- ✅ Fixed ZIP file structure for HACS compatibility
- ✅ Simplified HACS configuration for better reliability
- ✅ HACS can now successfully download and install the integration
Changes
- Removed unnecessary HACS config options that were causing download issues
- ZIP now extracts directly to integration files (no wrapper directory)
Installation
Install via HACS - download should now work without errors!
v1.0.1 - HACS Validation Fixes
v1.0.1 - HACS Validation Fixes
Fixed
- ✅ Added official Roborock brand assets (icon.png, logo.png)
- ✅ Added repository description and topics for HACS validation
- ✅ Fixes all HACS validation errors
Installation
Same as v1.0.0 - install via HACS or manually.
Note: This is a patch release to fix HACS validation. No functional changes to the integration.