Skip to content

Releases: JoshuaSeidel/hass-roborock

v1.2.4 - Auto-Cleanup Old Entities

Choose a tag to compare

@JoshuaSeidel JoshuaSeidel released this 04 Mar 21:59

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):

  1. Builds a list of valid entity unique IDs from active coordinators
  2. Compares against all entities registered to this config entry
  3. Automatically removes entities that don't match current structure
  4. 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

Choose a tag to compare

@JoshuaSeidel JoshuaSeidel released this 04 Mar 21:56

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

Choose a tag to compare

@JoshuaSeidel JoshuaSeidel released this 04 Mar 21:53

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 mode
  • set_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

Choose a tag to compare

@JoshuaSeidel JoshuaSeidel released this 04 Mar 21:49

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 B01Props with fields like mode, water, main_brush_time_left
  • Q10: Subscription-based API returning Q10Status with fields like clean_mode, water_level, battery

The v1.2.0 release incorrectly tried to use Q7's field structure for Q10 devices.

Changes

Coordinator:

  • RoborockB01Q10UpdateCoordinator now properly returns Q10Status instead of B01Props
  • Added proper initialization with device info and update interval

Sensors:

  • Created Q10-specific sensor descriptions matching Q10Status structure
  • 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

Choose a tag to compare

@JoshuaSeidel JoshuaSeidel released this 04 Mar 21:39

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 RoborockSensorEntityB01Q10 for Q10 sensor entities
  • Added RoborockB01Q10SelectEntity for 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

Choose a tag to compare

@JoshuaSeidel JoshuaSeidel released this 04 Mar 21:33

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

Choose a tag to compare

@JoshuaSeidel JoshuaSeidel released this 04 Mar 21:28

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 RoborockCoordinatedEntityB01Q10 base entity class
  • Implemented RoborockQ10Vacuum entity 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

Choose a tag to compare

@JoshuaSeidel JoshuaSeidel released this 04 Mar 21:22

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

Choose a tag to compare

@JoshuaSeidel JoshuaSeidel released this 04 Mar 21:16

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

Choose a tag to compare

@JoshuaSeidel JoshuaSeidel released this 04 Mar 21:12

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.