npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

matterbridge-ecovacs

v0.1.58

Published

Matterbridge plugin to bridge Ecovacs Deebot robot vacuums into Apple Home via Matter

Readme

matterbridge-ecovacs

A Matterbridge plugin that exposes Ecovacs Deebot robot vacuums as native Matter RVC devices in Apple Home (and any other Matter-compatible platform) — without Home Assistant.

Why this plugin?

Ecovacs only added native Matter support to newer flagship models. Older and mid-range models like the T30 Omni, T20, X2, T8, T9 etc. have no official Matter update. This plugin fills that gap using the Ecovacs cloud API.

What you get in Apple Home

| Feature | Details | |---|---| | ▶ Start / Stop / Pause / Resume | Full control | | 🏠 Return to dock | One tap | | 🧹 Clean mode | Vacuum / Mop / Vacuum+Mop (3 modes) | | 🗺 Room / zone selection | Select one or more rooms before starting | | 🔋 Battery level | Real-time percentage | | 📊 Operational state | Cleaning · Charging · Docked · Returning · Washing mop · Error | | ⚠️ Error reporting | Stuck · Bin full/missing · Water tank · Mop pad · Wheels jammed · Low battery… | | 🎙 Siri voice control | "Hey Siri, start Jarvis" | | ⚙️ Automations and Scenes | Full HomeKit automation support |

Architecture

Ecovacs Cloud (MQTT)
       │
  ecovacs-deebot.js
       │
  matterbridge-ecovacs  (this plugin)
       │
  Matterbridge (childbridge)
       │
  Matter fabric → Apple Home / Google Home / Alexa

Requirements

  • Matterbridge >= 3.7.0
  • Node.js >= 20 (22 or 24 LTS recommended)
  • An Ecovacs account (email + password)
  • A 950-type Deebot (T8, T9, T10, T20, T30, X1, X2 series and variants)

Installation

Via Matterbridge UI (recommended)

  1. Open the Matterbridge web interface (http://your-ip:8283)
  2. Go to Plugins → Install
  3. Search for matterbridge-ecovacs and install
  4. Configure with your credentials (see below)
  5. Restart Matterbridge

Via command line

npm install -g matterbridge-ecovacs
matterbridge --add matterbridge-ecovacs

Childbridge mode required

Apple Home requires each robot vacuum to be its own Matter node. You must run Matterbridge in childbridge mode:

matterbridge --childbridge

Or set it in the Matterbridge UI under Settings → Bridge mode.

Configuration

| Field | Required | Description | Example | |---|---|---|---| | email | yes | Ecovacs account email | [email protected] | | password | yes | Ecovacs account password | yourpassword | | countryCode | yes | Two-letter country code | IT DE US FR | | authDomain | no | Leave empty for Ecovacs; use yeedi.com for Yeedi devices | | | whiteList | no | Only expose these device nicknames or DIDs | ["T30 Omni"] | | rooms | no | Auto-populated on first run — edit names and enable/disable rooms | |

Minimal config example

{
  "name": "Ecovacs",
  "type": "DynamicPlatform",
  "email": "[email protected]",
  "password": "yourpassword",
  "countryCode": "IT"
}

Room configuration

On first startup the plugin auto-discovers all rooms from the robot's map and saves them to the plugin config. You can then rename rooms and enable/disable them via the Matterbridge UI. Changes take effect after restarting Matterbridge.

"rooms": [
  { "id": "0", "name": "Living Room", "enabled": true },
  { "id": "1", "name": "Kitchen", "enabled": true },
  { "id": "2", "name": "Bedroom", "enabled": true },
  { "id": "3", "name": "Bathroom", "enabled": false }
]

Adding to Apple Home

  1. Open Apple Home → + → Add Accessory
  2. Scan the QR code shown in the Matterbridge UI, or enter the pairing code manually
  3. Accept "Uncertified Accessory" (expected for community plugins)
  4. The vacuum appears with the robot vacuum icon

Country codes

IT · DE · FR · GB · US · ES · NL · BE · SE · DK · NO · CH · AT · PT · AU · JP · CN

For unlisted countries, try WW.

Supported models

Developed and tested on Deebot T30 Omni. Should work with all 950-type protocol models including T8 / T9 / T10 / T20 / T30 series, X1 / X2 series, and any model supported by ecovacs-deebot.js.

Operational states

| Apple Home shows | Meaning | |---|---| | Cleaning | Robot is actively cleaning | | Paused | Cleaning paused | | Returning | Heading back to the dock | | Charging | On dock, charging | | Docked | On dock, idle | | Cleaning mop | Washing or drying mop pad at station | | Error | See error details in Apple Home | | Ready | Stopped / standby |

Troubleshooting

Vacuum does not appear in Apple Home

  • Verify Matterbridge is in childbridge mode
  • Check the Matterbridge logs for authentication errors
  • Make sure the country code matches your Ecovacs account region

Authentication fails

  • Double-check email and password
  • For Yeedi devices, set authDomain to yeedi.com

Rooms do not appear or are wrong

  • Delete the rooms array from the plugin config and restart — rooms will be re-discovered automatically

State does not update

  • The plugin polls every 5 seconds; state changes from the Ecovacs app may take up to 10 seconds to appear in Apple Home

Technical notes

  • Authentication tokens are cached in ~/.matterbridge/ecovacs-token.json to avoid rate limiting. Tokens are refreshed automatically when they expire (every ~7 days).
  • The plugin auto-patches the ecovacs-deebot library at startup to ensure compatibility with the current Ecovacs API.

License

Apache-2.0

Credits

Built on ecovacs-deebot.js by mrbungle64 and Matterbridge by Luligu.