Skip to content

Releases: jaco/switchbot-vacuum

v0.4.0 — K10+ Pro & multi-region support

Choose a tag to compare

@jaco jaco released this 07 Mar 10:29

New features (thanks @hsakoh — PR #5):

  • K10+ Pro support — full device handling for the WoSweeperMiniPro (cleaning, docking, battery, fan speed)
  • Multi-region API — automatically detects the correct WonderLab endpoint based on your account's BotRegion (no longer hardcoded to EU)

Fixes:

  • Fixed missing K10+ Pro check in stop command

v0.3.2 — drying mop fix

Choose a tag to compare

@jaco jaco released this 07 Mar 10:20

Fixes false error/problem state during normal mop drying operation:

  • Error code 11 (drying mop) no longer triggers the problem binary sensor
  • Added work_status 20 (drying mop) — vacuum now shows "docked" instead of "unknown"
  • Brand icons moved into integration directory (HA 2026.3+ serves them locally)
  • Added work_status to vacuum and error sensor attributes for diagnostics

v0.3.1

Choose a tag to compare

@jaco jaco released this 07 Mar 09:32

Added error detection entities for vacuum automations:

  • Problem binary sensor — ON when any error is active, simplest trigger for automations
  • Error sensor — current error type as a string (e.g. stuck, clean_water_tank_empty, path_blocked)
  • 17 known error codes mapped from SwitchBot APK (stuck, wheel stuck, brush tangled, dust bin missing, filter clogged, cliff sensor, low battery, charging error, water tank empty/full/removed, and more)
  • Unknown error codes logged as warnings so they can be reported and added
  • Clean summary sensors — clean area, total area, clean time, session duration (S10 only)

Bug fixes:

  • Room refresh no longer blocks setup (fixes entities becoming unavailable on startup)
  • Expired AWS credentials now skip silently instead of retrying with 15s delay

v0.3.0 — Error detection

Choose a tag to compare

@jaco jaco released this 07 Mar 09:09

What's new

Error detection entities

Two new entities for reacting to vacuum problems in automations:

  • binary_sensor.*.problem — ON when any error is active (simplest trigger)
  • sensor.*.error — current error type as a string, e.g. stuck, clean_water_tank_empty, dirty_water_tank_full

Supported error codes

State Code Description
stuck 2000 Robot is stuck
wheel_stuck 2001 Wheel stuck or suspended
side_brush_stuck 2002 Side brush tangled
main_brush_stuck 2003 Main brush/roller tangled
bumper_stuck 2004 Bumper stuck
dust_bin_missing 2005 Dust bin not installed
filter_clogged 2006 Filter needs cleaning
cliff_sensor_error 2007 Cliff/drop sensor error
low_battery 2008 Battery too low to continue
charging_error 2009 Cannot charge
internal_error 2010 Internal system error
laser_sensor_error 2011 LDS/laser sensor error
path_blocked 2012 Navigation error
clean_water_tank_empty 2728 Clean water tank empty
dirty_water_tank_full 2739 Dirty water tank full
dirty_water_tank_removed 2740 Dirty water tank removed

Unknown error codes are logged as warnings — if you see one, please open an issue so it can be added.

Fixes

  • Room refresh now runs as a background task to prevent setup timeout (CancelledError)
  • Removed 15s sleep that caused config entry setup cancellation on expired AWS credentials
  • Added brand icons for HACS

Automation example

automation:
  - alias: "S10 water tank empty"
    trigger:
      - platform: state
        entity_id: sensor.floor_cleaning_robot_s10_error
        to: "clean_water_tank_empty"
    action:
      - service: notify.mobile_app
        data:
          message: "Clean water tank is empty — refill to continue cleaning"