Ecovacs
ecovacs
The Ecovacs integration integrates Ecovacs robotic vacuum cleaners and lawn mowers.
In Apple Home through HomeKit Bridge
What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.
| Entity | Shows up as | Note |
|---|---|---|
switch | Switch or outlet | |
binary_sensor | Sensor (motion, contact, leak, smoke…) | |
vacuum | Vacuum (as a switch) | |
lawn_mower | Lawn mower (as a switch) | |
button | Button (as a switch) | |
select | Mode picker (as switches) |
1 report below say how a device from this integration behaves in the Home app.
What people report
Older Deebots work, but newest models (T90, T50, T30C, X12) fail on start and clean_area because the protocol is reverse-engineered. Matter is a workaround for some.
- Works2
- Partly works3
- Not working2
- Requested1
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| Ecovacs Deebot | Works | Work pretty well with custom integrationSaved copyEcovacs Deebots work pretty well, especially with custom ha integration Excerpt saved from the Arctic Shift Reddit archive on 2026-10-23. | Reddit comment · 2024-06 | |
| Ecovacs MQTT-based Deebot vacuums | Works | MQTT-based vacuums supported since 2024.2; clean_area added Feb 2026Saved copyBreaking change ## Proposed change <!-- Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request. If it fixes a bug or resolves Excerpt saved from GitHub on 2026-10-23. | PR #163580 · 2026-02 | |
| Ecovacs Deebot N79s | Partly works Cloud | Broken in Home Turning on sends vacuum.start, which doesn't start cleaning | turn_on starts cleaning; start does not change statusSaved copyThe problem When turning on my RoboVac's accessory in HomeKit, it initiates the "vacuum.start" service instead of "vacuum.turn_on" service for the Deebot N79s entity. The Deebot status does not change with the "vacuum.start" but it starts cleaning with "vacuum.turn_on". ## Environment - Home Assistant Core release with the issue: 2021.1.1 - Last working Home Assistant Core release (if known): - Operating environment (OS/Container/Supervised/Core): Raspberry Pi OS Docker Container Supervised - Integration causing this issue: HomeKit and Ecovacs - Link to integration documentation on our … Excerpt saved from GitHub on 2026-10-23. | Issue #45024 · 2021-01 |
| Ecovacs Deebot T30C Gen2 | Partly works | clean_area fails; sending the command manually from Developer Tools cleans roomsSaved copy… Assistant version available to me - [x] I have checked existing issues - [x] I have enabled debug logging / collected logs ### The problem I am using an ECOVACS DEEBOT T50 PRO OMNI Gen2 in Home Assistant via the Ecovacs integration. The vacuum is discovered and exposed correctly in Home Assistant. Room mapping is available in the UI and I can map the vacuum segments to Home Assistant areas successfully: - Badezimmer - Küche - Flur - Schlafzimmer - Wohnzimmer The vacuum entity also exposes room information, for example: - `badezimmer: 0` - `kuche: 1` - `flur: 2` - `schlafzimmer: 3` - … Excerpt saved from GitHub on 2026-10-23. | Issue #165933 · 2026-03 | |
| Ecovacs Deebot T50 Pro Omni Gen2 | Partly works | Discovered with room map, but vacuum.clean_area fails with clean_V2 code 20011Saved copyThe problem ### Checklist - [x] I have updated to the latest Home Assistant version available to me - [x] I have checked existing issues - [x] I have enabled debug logging / collected logs ### The problem I am using an ECOVACS DEEBOT T50 PRO OMNI Gen2 in Home Assistant via the Ecovacs integration. The vacuum is discovered and exposed correctly in Home Assistant. Room mapping is available in the UI and I can map the vacuum segments to Home Assistant areas successfully: - Badezimmer - Küche - Flur - Schlafzimmer - Wohnzimmer The vacuum entity also exposes room information, for example: - … Excerpt saved from GitHub on 2026-10-23. | Issue #165933 · 2026-03 | |
| Ecovacs Deebot T90 Pro Omni | Not working | vacuum.start and map segments fail with code 20003 'rcp not support'; Matter workaround worksSaved copyThe problem ## The problem The Ecovacs Deebot T90 Pro Omni (CES 2026, firmware 1.87.0) cannot be started via Home Assistant. Additionally, map segment data is not transferred to HA. The following errors appear in the log: Command "clean" was not successfully. body={'code': 20003, 'msg': 'rcp not support'} Could not parse getMapSubSet for twunby: {'ret': 'ok', 'resp': {'body': {'code': 20003, 'msg': 'rcp not support'}, 'header': {'fwVer': '1.87.0', ... ## What works - Changing work mode via select entity ✅ - Changing fan speed via vacuum.set_fan_speed ✅ - Changing clean count via number entity … Excerpt saved from GitHub on 2026-10-23. | Issue #173158 · 2026-06 | |
| Ecovacs Deebot X12 OmniCyclone | Not working | Same rcp-not-support failure as T90 on firmware 1.79.1Saved copySame issue on a different model: ECOVACS DEEBOT X12 OmniCyclone Confirming the same root cause on a different (also newer) device: Model: DEEBOT X12 OmniCyclone Firmware: 1.79.1 (hwVer 0.1.1, wkVer 0.1.54) HA version: 2026.8.2 Integration: built-in ecovacs, deebot-client 18.5.1 The room-mapping dialog ("Map vacuum segments to areas") shows "No sections available" even though a saved map exists (image. _map shows a valid persistent map) and the official ECOVACS app can select and clean individual rooms without issue. Debug log during automatic segment sync: WARNING [deebot_client.command] … Excerpt saved from GitHub on 2026-10-23. | Issue #173158 · 2026-06 | |
| Ecovacs Deebot X5 Pro Omni | Requested | KVS WebRTC camera streaming PR was closed, not mergedSaved copyProposed change Add real-time camera streaming to the `ecovacs` integration for Deebot robots that support KVS (Amazon Kinesis Video Streams) WebRTC, such as the X5 Pro Omni series. When the user enables the camera entity and configures a PIN via the options flow, Home Assistant establishes a full Excerpt saved from GitHub on 2026-10-23. | PR #167564 · 2026-04 |
Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Cloud push
Goes through the maker’s cloud, which sends updates as they happen. Needs the internet and an account.
Details
| Installs (analytics) | 10,768 (1.52%) |
|---|---|
| Added in | Home Assistant 0.77 |
| Set up in the UI | Yes |
| Maintainers | @mib1185, @edenhaus, @Augar |
In ReReHome
Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.
Bridges get their own settings page listing the accessories behind them.