homebridge-roborock-matter 2.9.5 → 2.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +34 -27
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.9.7
|
|
4
|
+
|
|
5
|
+
- Positioning sharpened across the npm description and README: the entire Roborock lineup is supported (classic S/Q/Saros series through the 2025 Q7 series that no other plugin can control, with automatic adoption of future models), presented as the most complete Roborock plugin for Apple Home. No functional changes.
|
|
6
|
+
|
|
7
|
+
## 2.9.6
|
|
8
|
+
|
|
9
|
+
- **Friendlier plugin description and README.** The npm description shown in the Homebridge UI now leads with what the plugin does for you ("sign in with your Roborock account — start cleans, pick rooms, set suction power, and see live which room the robot is cleaning") instead of protocol terminology. The README's intro, feature matrix and live-room section were rewritten in plain language, with the technical depth preserved in collapsible under-the-hood sections. No functional changes.
|
|
10
|
+
|
|
3
11
|
## 2.9.5
|
|
4
12
|
|
|
5
13
|
- **One synchronous disk write per received robot message eliminated.** The per-device diagnostics states (last cloud/local message, transport history) were flushed to disk with a blocking `fs.writeFileSync` on EVERY message a robot pushed — every few seconds per robot while cleaning. They are served from memory (the settings UI never reads the file); the on-disk copy only needs to survive restarts. Disk flushes for these two states are now debounced to at most once per minute, with a guaranteed flush on shutdown. Result: event-loop stalls removed from the message hot path, and meaningfully less SD-card wear on Raspberry Pi installs. Critical states (credentials, HomeData, room caches) still persist immediately.
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<h1 align="center">homebridge-roborock-matter</h1>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
|
-
<b>
|
|
8
|
+
<b>The most complete way to run your Roborock in Apple Home — every model, every feature, with live "cleaning in the kitchen" room tracking.</b>
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
@@ -27,29 +27,31 @@
|
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
Sign in with the same account you already use in the Roborock app — that's the whole setup. Every robot on your account then appears in Apple Home as a real vacuum: start and stop cleans, send it to specific rooms, pick the suction power, check the battery — and watch the Home app tell you **which room it's cleaning right now**. No token extraction, no network tricks, no command line.
|
|
31
|
+
|
|
32
|
+
This is the most feature-packed, most thoroughly engineered Roborock plugin for Homebridge — and the only one that speaks every generation of Roborock, including the newest.
|
|
31
33
|
|
|
32
34
|
## Why this plugin
|
|
33
35
|
|
|
34
|
-
-
|
|
35
|
-
- 📍 **
|
|
36
|
-
- 🧭 **
|
|
37
|
-
-
|
|
38
|
-
- 🛡️ **
|
|
36
|
+
- 🥇 **Every Roborock, fully supported.** The entire lineup works — from the classic S-series through the Q- and Saros families to the 2025 Q7 series (Q7 M5 / M5+), which speaks a brand-new protocol that no other Homebridge plugin understands. Brand-new models are adopted automatically with sensible defaults.
|
|
37
|
+
- 📍 **See where it's cleaning — live.** Apple Home shows _"Cleaning — Kitchen"_ with the room the robot is actually inside, updating as it moves from room to room. Works even for cleans started from the robot's button or the Roborock app. No other Homebridge plugin does this.
|
|
38
|
+
- 🧭 **One robot, one tile.** Your vacuum shows up as a single, native accessory in Apple Home — no clutter of fake fans and helper switches. Rooms appear with the names you gave them in the Roborock app.
|
|
39
|
+
- ⚡ **Fast and reliable.** Commands go directly to the robot over your own network whenever possible, with the Roborock cloud as automatic backup — and built-in diagnostics in the settings if you ever want to look under the hood.
|
|
40
|
+
- 🛡️ **Verified by Homebridge.** Reviewed and endorsed by the Homebridge team. 263 automated tests, zero known vulnerabilities, no analytics, and a startup designed to never crash your Homebridge — even when your Wi-Fi or the Roborock cloud has a bad day.
|
|
39
41
|
|
|
40
42
|
## Features
|
|
41
43
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
| 🤖 **
|
|
45
|
-
| 🚪 **
|
|
46
|
-
| 📍 **Live room tracking**
|
|
47
|
-
| 📊 **Honest cleaning progress**
|
|
48
|
-
| 🌀 **Cleaning modes**
|
|
49
|
-
| 🔋 **Battery & charging**
|
|
50
|
-
| 🧠 **
|
|
51
|
-
| 🩺 **Built-in diagnostics**
|
|
52
|
-
| 🔐 **
|
|
44
|
+
| | |
|
|
45
|
+
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
|
|
46
|
+
| 🤖 **Full control from Apple Home** | Start, stop, pause and send the robot home to its dock — from the Home app, Siri, or automations |
|
|
47
|
+
| 🚪 **Clean specific rooms** | Pick rooms right in Apple Home, with the names you gave them in the Roborock app — multi-floor homes included |
|
|
48
|
+
| 📍 **Live room tracking** | See which room the robot is cleaning right now, updated as it moves ([details](#live-room-tracking)) |
|
|
49
|
+
| 📊 **Honest cleaning progress** | Each room goes pending → cleaning → done — and a room only counts as done when the robot was actually there |
|
|
50
|
+
| 🌀 **Cleaning & suction modes** | Vacuum / Mop / Vacuum + Mop on models that support it — plus optional Quiet / Balanced / Turbo / Max suction levels (Max+ on Q7) |
|
|
51
|
+
| 🔋 **Battery & charging** | Battery level and charging state on the accessory ([one Apple-side caveat](#battery-percentage-in-apple-home)) |
|
|
52
|
+
| 🧠 **New models just work** | Brand-new Roborock models get sensible defaults automatically, and the plugin adapts to what each robot actually supports |
|
|
53
|
+
| 🩺 **Built-in diagnostics** | Connection status, a one-click connection test, and a ready-to-share report if you ever need help |
|
|
54
|
+
| 🔐 **Easy, safe login** | Sign in with your Roborock account right in the settings — two-factor supported, session stored encrypted |
|
|
53
55
|
|
|
54
56
|
## Quick start
|
|
55
57
|
|
|
@@ -66,13 +68,16 @@ For B01/Q7 robots, room selection appears once the map has been fetched (watch f
|
|
|
66
68
|
|
|
67
69
|
## Live room tracking
|
|
68
70
|
|
|
69
|
-
While
|
|
71
|
+
While your robot cleans, the plugin follows its position on the map and tells Apple Home which room it's in — _"Cleaning — Kitchen"_, just like the Roborock app shows it. It updates as the robot moves, works for whole-home cleans, and even for cleans you start from the robot's button.
|
|
72
|
+
|
|
73
|
+
Progress stays honest: a room is only shown as _completed_ once the robot was actually seen inside it. The plugin never invents data the robot didn't report. Enabled by default; turn it off with `enableLiveRoomTracking: false`.
|
|
74
|
+
|
|
75
|
+
<details>
|
|
76
|
+
<summary>How it works under the hood</summary>
|
|
70
77
|
|
|
71
|
-
|
|
72
|
-
- Works for full-home cleans and for runs started from the robot's button or the Roborock app, which previously had no room to show at all.
|
|
73
|
-
- Progress stays honest: a room is only marked _completed_ once the robot was actually detected inside it and has moved on. The plugin never invents data the robot didn't report.
|
|
78
|
+
While a robot is actively cleaning, the plugin fetches its live position from the map channel (throttled to ~20 s, active runs only, nothing while docked or paused) and publishes the room it is inside as the Matter Service Area `currentArea`. Both robot generations are covered: **B01/Q7** robots via the encrypted SCMap protobuf (position ray-cast against per-room boundary outlines), **classic S/Q-series** robots via the RRMap segment grid (position resolved against per-pixel room segments — a single-byte lookup on the raw map buffer, ~1 µs per check).
|
|
74
79
|
|
|
75
|
-
|
|
80
|
+
</details>
|
|
76
81
|
|
|
77
82
|
## Suction modes (optional)
|
|
78
83
|
|
|
@@ -82,9 +87,11 @@ Enable **Enable Suction-Level Cleaning Modes** (`enableFanPowerCleanModes`) and
|
|
|
82
87
|
|
|
83
88
|
## Supported robots
|
|
84
89
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
-
|
|
90
|
+
**The entire Roborock lineup.** If it runs in the Roborock app, this plugin can control it:
|
|
91
|
+
|
|
92
|
+
- **2025 Q7 series** (`roborock.vacuum.sc05`, Q7 M5 / M5+) — the only Homebridge plugin that supports these at all, including manual-tank mopping with vacuum/mop mode switching.
|
|
93
|
+
- **Classic S-, Q- and Saros-series** — S5 through S8 Pro Ultra, Q5/Q7/Q8/Q Revo families, Saros, and newer.
|
|
94
|
+
- **Future models** are adopted automatically: the plugin reads what each robot says it can do and adapts, so brand-new releases get sensible defaults from day one. If something looks off, [open a model report](https://github.com/mathiashornbek/homebridge-roborock-matter/issues) with a diagnostics export — that's exactly what it's for.
|
|
88
95
|
|
|
89
96
|
## Configuration
|
|
90
97
|
|
|
@@ -122,7 +129,7 @@ The complete path — robot → plugin → Homebridge → matter.js store — wa
|
|
|
122
129
|
|
|
123
130
|
## Contributing
|
|
124
131
|
|
|
125
|
-
Model reports, diagnostics exports, and pull requests are very welcome. The codebase ships with
|
|
132
|
+
Model reports, diagnostics exports, and pull requests are very welcome. The codebase ships with 263 tests (protocol fixtures verified against the [python-roborock](https://github.com/Python-roborock/python-roborock) reference), strict TypeScript checking, and CI across Node 22/24 × Homebridge 1.11/2.x — `npm test` before you push and you're set.
|
|
126
133
|
|
|
127
134
|
## Support the project
|
|
128
135
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-roborock-matter",
|
|
3
|
-
"version": "2.9.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.9.7",
|
|
4
|
+
"description": "The most complete Roborock plugin for Apple Home. Supports the entire Roborock lineup — from the classic S-series to the new 2025 Q7 series that no other plugin can control. Sign in with your Roborock account and get native start/stop, room cleaning, suction levels, battery, and live 'cleaning in the kitchen' room tracking. Verified by Homebridge.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Mathias Hornbek"
|