Releases: jaco/switchbot-vacuum
Releases · jaco/switchbot-vacuum
Release list
v0.4.0 — K10+ Pro & multi-region support
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
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
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
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"