homebridge-roborock-matter 2.9.7 ā 2.9.8
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 +6 -0
- package/README.md +1 -1
- package/package.json +6 -1
- package/roborockLib/roborockAPI.js +4 -3
- package/docs/issue-3958-reply.md +0 -29
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.9.8
|
|
4
|
+
|
|
5
|
+
- Fixed a long-standing quirk in state persistence: the file encoding argument was passed to `JSON.stringify` (where it is silently ignored) instead of `fs.writeFileSync`. Behavior was correct by luck (utf8 is the default); the code now says what it means.
|
|
6
|
+
- npm search keywords expanded (s7, s8, q revo, saros, robotic vacuum) so the plugin is found by people searching for their model.
|
|
7
|
+
- README: highlighted that one sign-in brings the whole fleet ā every robot on the account appears as its own accessory.
|
|
8
|
+
|
|
3
9
|
## 2.9.7
|
|
4
10
|
|
|
5
11
|
- 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.
|
package/README.md
CHANGED
|
@@ -35,7 +35,7 @@ This is the most feature-packed, most thoroughly engineered Roborock plugin for
|
|
|
35
35
|
|
|
36
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
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.**
|
|
38
|
+
- š§ **One robot, one tile ā and as many robots as you own.** Sign in once and your whole fleet comes along: every vacuum on your account appears as its own clean, native accessory in Apple Home. No clutter of fake fans and helper switches, and rooms appear with the names you gave them in the Roborock app.
|
|
39
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
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.
|
|
41
41
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-roborock-matter",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.8",
|
|
4
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": {
|
|
@@ -16,9 +16,14 @@
|
|
|
16
16
|
"homekit",
|
|
17
17
|
"matter",
|
|
18
18
|
"q7",
|
|
19
|
+
"q revo",
|
|
20
|
+
"robotic vacuum",
|
|
19
21
|
"roborock",
|
|
20
22
|
"roborock app",
|
|
21
23
|
"roborock vacuum",
|
|
24
|
+
"s7",
|
|
25
|
+
"s8",
|
|
26
|
+
"saros",
|
|
22
27
|
"vacuum",
|
|
23
28
|
"vacuum cleaner"
|
|
24
29
|
],
|
|
@@ -303,7 +303,7 @@ class Roborock {
|
|
|
303
303
|
}
|
|
304
304
|
const persistPath = this.getPersistPath(id);
|
|
305
305
|
fs.mkdirSync(path.dirname(persistPath), { recursive: true });
|
|
306
|
-
fs.writeFileSync(persistPath, JSON.stringify(state, null, 2, "utf8")
|
|
306
|
+
fs.writeFileSync(persistPath, JSON.stringify(state, null, 2), "utf8");
|
|
307
307
|
}
|
|
308
308
|
|
|
309
309
|
this.states[id] = state;
|
|
@@ -320,7 +320,8 @@ class Roborock {
|
|
|
320
320
|
);
|
|
321
321
|
fs.writeFileSync(
|
|
322
322
|
fallbackPath,
|
|
323
|
-
JSON.stringify(state, null, 2,
|
|
323
|
+
JSON.stringify(state, null, 2),
|
|
324
|
+
"utf8"
|
|
324
325
|
);
|
|
325
326
|
this.states[id] = state;
|
|
326
327
|
this.log.warn(
|
|
@@ -431,7 +432,7 @@ class Roborock {
|
|
|
431
432
|
|
|
432
433
|
try {
|
|
433
434
|
fs.mkdirSync(path.dirname(persistPath), { recursive: true });
|
|
434
|
-
fs.writeFileSync(persistPath, JSON.stringify(state, null, 2, "utf8")
|
|
435
|
+
fs.writeFileSync(persistPath, JSON.stringify(state, null, 2), "utf8");
|
|
435
436
|
this.log.info(
|
|
436
437
|
`Migrated legacy '${id}' state file from '${legacyPath}' to '${persistPath}'.`
|
|
437
438
|
);
|
package/docs/issue-3958-reply.md
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Svar til bwp91 pĆ„ homebridge#3958 ā klar til at poste
|
|
2
|
-
|
|
3
|
-
```markdown
|
|
4
|
-
Thank you ā this is exactly the kind of verification I was hoping for, and
|
|
5
|
-
the C ā Q correction is a genuinely important update. You're right that my
|
|
6
|
-
analysis was written against the older changes-omitted reading of the
|
|
7
|
-
attribute; I've already corrected the plugin's documentation to reflect the
|
|
8
|
-
Matter 1.4 Q (quieter) quality and your subscription trace
|
|
9
|
-
(mathiashornbek/homebridge-roborock-matter@main, README + docs).
|
|
10
|
-
|
|
11
|
-
Your controller log also explains two things I had observed but couldn't
|
|
12
|
-
fully reconcile: the resync nudge's null ā value transition "working" at the
|
|
13
|
-
wire level while Apple still never converged, and `batChargeState` updating
|
|
14
|
-
live throughout. Both are consistent with the reports leaving the bridge and
|
|
15
|
-
Apple simply not applying Q-quality percentage reports in steady state.
|
|
16
|
-
|
|
17
|
-
I'll run the verification you suggested on my production setup (three
|
|
18
|
-
robots: one V1, two B01) ā Homebridge with matter.js debug logging through a
|
|
19
|
-
full charge cycle, watching for the subscription flushes carrying
|
|
20
|
-
`batPercentRemaining` ā and post the log excerpts here. If I can get
|
|
21
|
-
chip-tool set up on the same network I'll add a subscription trace from that
|
|
22
|
-
side too.
|
|
23
|
-
|
|
24
|
-
Assuming both confirm what your trace already shows, I'll file the Apple
|
|
25
|
-
Feedback report about the controller's handling of Q-quality PowerSource
|
|
26
|
-
attributes and link it here so others can dupe it. Thanks again for digging
|
|
27
|
-
in ā happy to test any builds if something changes in the Homebridge Matter
|
|
28
|
-
layer down the road.
|
|
29
|
-
```
|