homebridge-roborock-matter 3.30.0 → 3.31.0

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 CHANGED
@@ -1,5 +1,76 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.31.0
4
+
5
+ **Six bugs, three of them mine from last week. And the oldest unexplained failure in this project finally has an instrument pointed at it.**
6
+
7
+ ### The give-up rule tripped on network trouble — the exact thing it promised not to do
8
+
9
+ 3.30.0 added a register that stops asking a robot a request it never answers, and said, in the source and in the line the user reads: it never trips on a transport error, because those come back on their own.
10
+
11
+ It did. The exclusion was dead code.
12
+
13
+ `messageQueueHandler` builds its two timeout messages with the connection state interpolated as a **boolean**:
14
+
15
+ ```
16
+ … timed out after 10 seconds. MQTT connection state: false
17
+ … timed out after 10 seconds Local connect state: false
18
+ ```
19
+
20
+ The rule looked for `EAI_AGAIN`, `ENOTFOUND`, `ECONNREFUSED`, `ECONNRESET`, "not connected", "offline" — every one of which belongs to an error that never contains "timed out after" in the first place, and so had already been excluded a line earlier. The second gate had nothing left to exclude.
21
+
22
+ A four-minute network blip during a clean is 24 failed live-room polls at 10-second intervals. Six is all it takes. Live-room tracking then died for six hours, under a log line telling you this was not a connection failure.
23
+
24
+ It now reads the boolean, and also stands down when the cloud timeout reports that nothing is coming back over MQTT at all. The tests use the exact strings the plugin emits — 3.30.0's used hand-written messages the code cannot produce, which is precisely why they passed against a broken rule.
25
+
26
+ ### A robot was punished for a request it answered perfectly
27
+
28
+ The B01/Q7 live-room fetch is two requests: `get_map_list` (cheap) and `service.upload_by_mapid` (the heavy map payload, with its own 20-second timeout). 3.30.0 wrapped both in one try, acknowledged `get_map_list` only after the second had been fetched, decoded and cached, and recorded every failure — including the upload leg's own timeout — against `get_map_list`.
29
+
30
+ So a robot answering `get_map_list` in 200 ms every time, with a silent upload channel, had the wrong counter climb to six. The diagnostics then named `get_map_list`: the one channel that was working.
31
+
32
+ Each leg is now counted on its own.
33
+
34
+ ### The heartbeat stopped healing a write that never landed
35
+
36
+ Suppressing an unchanged `operationalState` is what stopped the tank notification repeating every 2 minutes. It also broke the safety net the whole publish-dedup design rests on.
37
+
38
+ A cluster write can be rejected by matter.js **after** `updateAccessoryState` has resolved — this codebase has documented that for months: `#assertCurrentPhase` throws, Homebridge swallows the throw, and the controller keeps what it last accepted. From 3.30.0, one such rejection made the plugin believe a value was published that never was, and nothing wrote that attribute again. A permanently stale tile, recoverable only by the robot reaching a different state, or a restart. Before 3.30.0 the heartbeat repaired it inside a minute.
39
+
40
+ A forced heartbeat now re-asserts `operationalState` once every 10 cycles — about once every 10 minutes. Measured: 6 re-assertions an hour instead of 60, the stale tile heals within 10 minutes, and the notification stays gone.
41
+
42
+ ### A map reply can be thrown away in silence — and now it says so
43
+
44
+ This is the one I care most about.
45
+
46
+ `get_map_v1` on a classic robot times out after 10 seconds, forever, while the same robot answers everything else. 95 times in a row on my own a70, 225 twelve days earlier, 40 on the a75 in #9. Nobody has ever been able to say why.
47
+
48
+ Map replies do not come back on the ordinary reply path — they arrive as protocol 301 frames. The 301 handler had several ways to drop one, every one of them a bare `return`. No log, no counter, nothing. A dropped 301 leaves the request to die on its timer, which looks **exactly** like a robot that never answered. There was nothing to diagnose it with.
49
+
50
+ One of those drops was also wrong:
51
+
52
+ ```js
53
+ if (!endpoint.startsWith(data2.endpoint)) return;
54
+ ```
55
+
56
+ `endpoint` is our own 8-character key. `data2.endpoint` is a 15-byte wire field with only _trailing_ nulls stripped. python-roborock, the reference implementation, compares it the other way round — `received.startswith(ours)`. As written, a robot that echoes our 8 characters followed by anything that is not a trailing null leaves a longer string, and an 8-character string can never `startsWith` a longer one. It failed closed, on a reply addressed to us, without a word.
57
+
58
+ The comparison now matches the reference, and **every** 301 drop explains itself and names the robot. I am not claiming this is the cause of the a70's timeouts. I am saying that from this release, if it is, the log says so.
59
+
60
+ ### One robot's unfinished photo could swallow every other robot's map
61
+
62
+ `photoGzipChunks` and `photoChunkID` were module-level variables shared by every robot on the account, cleared only when a photo transfer **completed**. A robot going offline between chunk 1 and chunk 2 left the id set forever — and from then on every 301 frame with `seq == 2`, from any robot, was swallowed into that stale buffer instead of being decoded as a map reply. A permanent, silent map outage on a multi-robot account, with no error anywhere.
63
+
64
+ The buffer is now per robot, and one whose request is no longer waiting is discarded.
65
+
66
+ ### Smaller things
67
+
68
+ - **A robot that comes back online starts with clean counters.** `forgetDevice` existed since 3.30.0 and was never called once. A robot offline for hours kept the counts it collected while unreachable, and because the rule deliberately keeps the counter when it lets one request through, a single probe timing out during the reconnect closed the method for another six hours.
69
+ - **Three polls were bypassing the register entirely** — `get_multi_maps_list` and `get_room_mapping`, two of the seven methods named in the 647 suppressed timeouts that motivated the rule. The test that was supposed to catch this asserted "exactly 3 call sites", a number that silently excluded them. It now asserts the rule instead: no optional poll reaches the robot except through the register.
70
+ - **`cleaning_info` is printed in full while a robot is cleaning.** Not a feature — a measurement. Every status poll already receives this object and throws it away, and it is documented as carrying `{target_segment_id, segment_id, …}`. If `segment_id` tracks the room, live-room tracking on classic robots needs no map at all, which would route around the timeout above entirely. One clean answers it.
71
+
72
+ 2031 tests, 33 of them new.
73
+
3
74
  ## 3.30.0
4
75
 
5
76
  **The water-tank notification that repeated every two minutes was us. Three people reported it, and for three releases this project told them it was Apple.**
package/README.md CHANGED
@@ -37,7 +37,7 @@ This is the most feature-packed, most thoroughly engineered Roborock plugin for
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
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
- - 🛡️ **Verified by Homebridge.** Reviewed and endorsed by the Homebridge team. 1998 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.
40
+ - 🛡️ **Verified by Homebridge.** Reviewed and endorsed by the Homebridge team. 2031 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
 
42
42
  ## Features
43
43
 
@@ -264,7 +264,7 @@ The complete path — robot → plugin → Homebridge → matter.js store — wa
264
264
 
265
265
  ## Contributing
266
266
 
267
- Model reports, diagnostics exports, and pull requests are very welcome. The codebase ships with 1998 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.
267
+ Model reports, diagnostics exports, and pull requests are very welcome. The codebase ships with 2031 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.
268
268
 
269
269
  ## Support the project
270
270
 
@@ -219,6 +219,16 @@ const DOCK_ERROR_CLEAN_WATER_TANK_EMPTY = 38;
219
219
  * writeOperationalStateCluster().
220
220
  */
221
221
  const OPERATIONAL_STATE_CLUSTER = "rvcOperationalState";
222
+ /**
223
+ * How many forced publishes (heartbeats) may pass before `operationalState`
224
+ * is re-written even though it has not changed.
225
+ *
226
+ * 10 heartbeats is about 10 minutes. That restores the self-healing the
227
+ * heartbeat provided before 3.30.0, at a rate far too low for the
228
+ * wipe/raise pair matter.js 0.17.9 performs to become a notification anyone
229
+ * notices — the fault cycle needed one every single minute.
230
+ */
231
+ const RESYNC_OPERATIONAL_STATE_EVERY_FORCED_WRITES = 10;
222
232
  const RVC_OPERATIONAL_ERROR = {
223
233
  NO_ERROR: 0,
224
234
  UNABLE_TO_START_OR_RESUME: 1,
@@ -665,6 +675,10 @@ class RoborockMatterVacuumAccessory {
665
675
  // dropped on failure, and (c) the heartbeat performs a forced full publish
666
676
  // every cycle, self-healing any residual divergence within a minute.
667
677
  this.lastPublishedClusterJson = new Map();
678
+ // How many forced publishes in a row have skipped operationalState. See
679
+ // writeOperationalStateCluster(): without this, a write matter.js rejects
680
+ // silently can never come back.
681
+ this.forcedWritesSinceOperationalState = 0;
668
682
  this.serviceAreaProgress = [];
669
683
  this.selectedCleanMode = CLEAN_MODE_VACUUM;
670
684
  this.selectedCleanModeNeedsApply = false;
@@ -1218,6 +1232,7 @@ class RoborockMatterVacuumAccessory {
1218
1232
  this.lastPublishedClusterJson.clear();
1219
1233
  this.publishedOperationalState = undefined;
1220
1234
  this.publishedOperationalError = undefined;
1235
+ this.forcedWritesSinceOperationalState = 0;
1221
1236
  // …and nothing has been stated about it either, so the evidence line is
1222
1237
  // restated for the new node instead of being suppressed as unchanged.
1223
1238
  this.lastLoggedMatterPublishLine = null;
@@ -1770,13 +1785,41 @@ class RoborockMatterVacuumAccessory {
1770
1785
  * the store really was cleared); clearing and re-raising the tank still
1771
1786
  * produce exactly one event each.
1772
1787
  */
1773
- async writeOperationalStateCluster(matter, attributes) {
1788
+ async writeOperationalStateCluster(matter, attributes, options = {}) {
1774
1789
  const { operationalState, operationalError, ...rest } = attributes;
1775
1790
  const first = { ...rest };
1776
- const stateChanged = operationalState !== undefined &&
1791
+ let stateChanged = operationalState !== undefined &&
1777
1792
  operationalState !== this.publishedOperationalState;
1793
+ // THE HOLE 3.30.0 LEFT, AND WHY IT NEEDED CLOSING.
1794
+ //
1795
+ // Suppressing an unchanged `operationalState` is what stops the tank
1796
+ // fault being cleared and re-raised every minute. But the whole dedup
1797
+ // design rests on the heartbeat being a forced full write that self-heals
1798
+ // any divergence within a minute — and a cluster write can be rejected by
1799
+ // matter.js AFTER `updateAccessoryState` has already resolved. This file
1800
+ // documents that elsewhere: `OperationalStateServer.#assertCurrentPhase`
1801
+ // throws, and Homebridge swallows the throw, so the whole cluster write
1802
+ // is silently rejected and the controller keeps what it last accepted.
1803
+ //
1804
+ // Believing such a write landed and then never writing that attribute
1805
+ // again turns a one-off rejection into a permanently stale tile,
1806
+ // recoverable only by the robot reaching a different state or a restart.
1807
+ // Before 3.30.0 the heartbeat repaired it inside a minute.
1808
+ //
1809
+ // So: never on an ordinary publish, but a forced write re-asserts it once
1810
+ // every RESYNC_OPERATIONAL_STATE_EVERY_FORCED_WRITES heartbeats.
1811
+ if (!stateChanged &&
1812
+ options.force === true &&
1813
+ operationalState !== undefined) {
1814
+ this.forcedWritesSinceOperationalState += 1;
1815
+ if (this.forcedWritesSinceOperationalState >=
1816
+ RESYNC_OPERATIONAL_STATE_EVERY_FORCED_WRITES) {
1817
+ stateChanged = true;
1818
+ }
1819
+ }
1778
1820
  if (stateChanged) {
1779
1821
  first.operationalState = operationalState;
1822
+ this.forcedWritesSinceOperationalState = 0;
1780
1823
  }
1781
1824
  if (Object.keys(first).length > 0) {
1782
1825
  await matter.updateAccessoryState(this.accessory.UUID, OPERATIONAL_STATE_CLUSTER, first);
@@ -1802,7 +1845,7 @@ class RoborockMatterVacuumAccessory {
1802
1845
  await matter.updateAccessoryState(this.accessory.UUID, OPERATIONAL_STATE_CLUSTER, { operationalError });
1803
1846
  this.publishedOperationalError = errorStateId;
1804
1847
  }
1805
- async updateMatterState(partialClusters, reason = "state update") {
1848
+ async updateMatterState(partialClusters, reason = "state update", options = {}) {
1806
1849
  if (!this.registered) {
1807
1850
  return false;
1808
1851
  }
@@ -1829,7 +1872,9 @@ class RoborockMatterVacuumAccessory {
1829
1872
  await Promise.all(clusterEntries.map(async ([cluster, attributes]) => {
1830
1873
  try {
1831
1874
  if (cluster === OPERATIONAL_STATE_CLUSTER) {
1832
- await this.writeOperationalStateCluster(matter, attributes);
1875
+ await this.writeOperationalStateCluster(matter, attributes, {
1876
+ force: options.force === true,
1877
+ });
1833
1878
  }
1834
1879
  else {
1835
1880
  await matter.updateAccessoryState(this.accessory.UUID, cluster, attributes);
@@ -1846,6 +1891,7 @@ class RoborockMatterVacuumAccessory {
1846
1891
  // re-assert them.
1847
1892
  this.publishedOperationalState = undefined;
1848
1893
  this.publishedOperationalError = undefined;
1894
+ this.forcedWritesSinceOperationalState = 0;
1849
1895
  }
1850
1896
  failures.push(error);
1851
1897
  this.platform.log.debug(`Matter publish for cluster ${cluster} on ${this.accessory.UUID} failed: ${error instanceof Error ? error.message : String(error)}`);
@@ -1944,7 +1990,12 @@ class RoborockMatterVacuumAccessory {
1944
1990
  },
1945
1991
  }, "Battery resync nudge");
1946
1992
  }
1947
- const updated = await this.updateMatterState(clusters, reason);
1993
+ // `force` is carried down so writeOperationalStateCluster can tell a
1994
+ // heartbeat from an ordinary publish; it is the only cluster for which
1995
+ // the distinction still means anything.
1996
+ const updated = await this.updateMatterState(clusters, reason, {
1997
+ force: options.force === true,
1998
+ });
1948
1999
  if (updated) {
1949
2000
  this.logMatterPublishIfChanged(snapshot, reason);
1950
2001
  }
@@ -1 +1 @@
1
- {"version":3,"file":"matter_vacuum_accessory.js","sourceRoot":"","sources":["../src/matter_vacuum_accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matter_vacuum_accessory.js","sourceRoot":"","sources":["../src/matter_vacuum_accessory.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homebridge-roborock-matter",
3
- "version": "3.30.0",
3
+ "version": "3.31.0",
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": {
@@ -41,8 +41,24 @@ let client;
41
41
  let endpoint;
42
42
  let rriot;
43
43
 
44
- let photoGzipChunks = [];
45
- let photoChunkID = 0;
44
+ // Per robot, not per process. These were module-level `let`s shared by every
45
+ // robot on the account until 3.31.0, and they are only cleared when a photo
46
+ // transfer COMPLETES. One transfer that started and never finished — a robot
47
+ // going offline between chunk 1 and chunk 2 is enough — left `photoChunkID`
48
+ // set forever, and from then on every protocol 301 frame with `seq == 2`
49
+ // from ANY robot was swallowed into that stale photo buffer instead of being
50
+ // decoded as a map reply. On a multi-robot account that is a permanent,
51
+ // silent map outage with no error anywhere.
52
+ const photoBuffers = new Map();
53
+
54
+ function photoBufferFor(duid) {
55
+ let entry = photoBuffers.get(duid);
56
+ if (!entry) {
57
+ entry = { chunks: [], chunkId: 0 };
58
+ photoBuffers.set(duid, entry);
59
+ }
60
+ return entry;
61
+ }
46
62
 
47
63
  /**
48
64
  * True when a protocol-102 result is a bare "command accepted" acknowledgement
@@ -436,8 +452,9 @@ class roborock_mqtt_connector {
436
452
  if (this.adapter.pendingRequests.has(photoData.id)) {
437
453
  this.adapter.log.debug(`First photo gzip chunk detected!`);
438
454
 
439
- photoGzipChunks.push(data.payload.slice(56));
440
- photoChunkID = photoData.id;
455
+ const photoBuffer = photoBufferFor(duid);
456
+ photoBuffer.chunks.push(data.payload.slice(56));
457
+ photoBuffer.chunkId = photoData.id;
441
458
  }
442
459
  } else {
443
460
  this.adapter.log.debug(
@@ -456,27 +473,44 @@ class roborock_mqtt_connector {
456
473
  return;
457
474
  }
458
475
 
459
- // `photoGzipChunks != []` compared against a fresh array literal
460
- // and was therefore always true, so the guard it was written to be
461
- // never guarded anything.
476
+ // The original guard compared `photoGzipChunks != []` against a
477
+ // fresh array literal and was therefore always true, so it never
478
+ // guarded anything. Both halves are now real: a non-empty buffer,
479
+ // and a request that is still waiting for it.
480
+ const photoBuffer = photoBufferFor(duid);
481
+ // The buffer must belong to a request that is STILL waiting. A
482
+ // stale chunkId — from a transfer that never completed — used to
483
+ // swallow every seq==2 frame from every robot, forever.
484
+ if (
485
+ photoBuffer.chunkId !== 0 &&
486
+ !this.adapter.pendingRequests.has(photoBuffer.chunkId)
487
+ ) {
488
+ this.adapter.log.debug(
489
+ `Discarding a stale photo chunk buffer for ${duid}: request ${photoBuffer.chunkId} is no longer waiting, so the transfer never completed.`
490
+ );
491
+ photoBuffer.chunks = [];
492
+ photoBuffer.chunkId = 0;
493
+ }
494
+
462
495
  if (
463
496
  data.seq == 2 &&
464
- photoGzipChunks.length !== 0 &&
465
- photoChunkID != 0
497
+ photoBuffer.chunks.length !== 0 &&
498
+ photoBuffer.chunkId != 0
466
499
  ) {
467
500
  this.adapter.log.debug(`Second photo gzip chunk detected!`);
468
- photoGzipChunks.push(data.payload);
501
+ photoBuffer.chunks.push(data.payload);
469
502
 
470
- if (this.adapter.pendingRequests.has(photoChunkID)) {
471
- const { resolve, timeout } =
472
- this.adapter.pendingRequests.get(photoChunkID);
503
+ if (this.adapter.pendingRequests.has(photoBuffer.chunkId)) {
504
+ const { resolve, timeout } = this.adapter.pendingRequests.get(
505
+ photoBuffer.chunkId
506
+ );
473
507
  this.adapter.clearTimeout(timeout);
474
- this.adapter.pendingRequests.delete(photoChunkID);
508
+ this.adapter.pendingRequests.delete(photoBuffer.chunkId);
475
509
 
476
- const finalPhotoGzip = Buffer.concat(photoGzipChunks);
510
+ const finalPhotoGzip = Buffer.concat(photoBuffer.chunks);
477
511
 
478
- photoGzipChunks = [];
479
- photoChunkID = 0;
512
+ photoBuffer.chunks = [];
513
+ photoBuffer.chunkId = 0;
480
514
 
481
515
  resolve(finalPhotoGzip);
482
516
  }
@@ -507,7 +541,32 @@ class roborock_mqtt_connector {
507
541
  return;
508
542
  }
509
543
 
510
- if (!endpoint.startsWith(data2.endpoint)) {
544
+ // THE COMPARISON IS THE OTHER WAY ROUND, and until 3.31.0 it
545
+ // was inverted AND silent — the worst possible pair.
546
+ //
547
+ // `endpoint` is our own 8-character key (md5bin(rriot.k)
548
+ // bytes 8..14, base64). The wire field is 15 bytes, so a robot
549
+ // that echoes our 8 characters followed by anything that is not
550
+ // a trailing NUL leaves `data2.endpoint` LONGER than 8 —
551
+ // and an 8-character string can never `startsWith` a longer
552
+ // one. python-roborock, the reference implementation, compares
553
+ // it the other way: received.startswith(ours).
554
+ //
555
+ // So this failed closed on a reply that was addressed to us,
556
+ // and it did it with `return` — no log, no counter, nothing.
557
+ // A dropped 301 leaves the pending request to die on its 10 s
558
+ // timer, which is indistinguishable from a robot that never
559
+ // answered. That is exactly the shape of the oldest open bug in
560
+ // this project: `get_map_v1` on a classic robot timing out 95
561
+ // and 225 times in a row while the same robot answers
562
+ // everything else (my own a70; #9's a75).
563
+ //
564
+ // Whether that IS the cause is not settled here — it is
565
+ // measured, because from 3.31.0 the drop says so.
566
+ if (!String(data2.endpoint || "").startsWith(endpoint)) {
567
+ this.adapter.log.debug(
568
+ `Dropped a protocol 301 message for ${duid}: it is addressed to endpoint '${data2.endpoint}', and this plugin's endpoint is '${endpoint}'. The reply was received and decrypted but is not ours, so the request that is waiting will time out. If you are seeing map or live-room requests time out on a robot that answers everything else, this line is the reason — please report it.`
569
+ );
511
570
  return;
512
571
  }
513
572
 
@@ -524,6 +583,16 @@ class roborock_mqtt_connector {
524
583
  decrypted = zlib.gunzipSync(decrypted);
525
584
  // this.adapter.log.debug("raw 301: " + decrypted);
526
585
 
586
+ if (!this.adapter.pendingRequests.has(data2.id)) {
587
+ // The other silent drop on this path. An unsolicited map push
588
+ // lands here legitimately, but so does a reply whose id we
589
+ // failed to match — and the waiting request then times out
590
+ // with nothing in the log to say a reply had arrived.
591
+ this.adapter.log.debug(
592
+ `Received a protocol 301 message for ${duid} with id ${data2.id}, but no request is waiting for that id. It was decrypted successfully, so the robot did answer something; either this is an unsolicited map push, or a reply arrived after its request had already timed out.`
593
+ );
594
+ }
595
+
527
596
  if (this.adapter.pendingRequests.has(data2.id)) {
528
597
  const { resolve, timeout } = this.adapter.pendingRequests.get(
529
598
  data2.id
@@ -71,10 +71,41 @@ function isUnansweredRequest(error) {
71
71
  if (!/timed out after/i.test(message)) {
72
72
  return false;
73
73
  }
74
- // A timeout raised while the link itself was down is the link's fault.
75
- return !/(EAI_AGAIN|ENOTFOUND|ECONNREFUSED|ECONNRESET|not connected|offline)/i.test(
76
- message
77
- );
74
+
75
+ // Other error shapes that name the transport outright.
76
+ if (
77
+ /(EAI_AGAIN|ENOTFOUND|ECONNREFUSED|ECONNRESET|not connected|offline)/i.test(
78
+ message
79
+ )
80
+ ) {
81
+ return false;
82
+ }
83
+
84
+ // THE ONE THAT ACTUALLY FIRES, and the reason 3.30.0's exclusion was dead
85
+ // code. messageQueueHandler builds the two timeout messages with the
86
+ // connection state interpolated as a BOOLEAN:
87
+ //
88
+ // `… timed out after 10 seconds. MQTT connection state: ${mqttConnectionState}`
89
+ // `… timed out after 10 seconds Local connect state: ${localConnectionState}`
90
+ //
91
+ // so a link that was down while the request was pending reads
92
+ // "MQTT connection state: false" — which matches none of the names above.
93
+ // The whole exclusion had nothing left to exclude, and a four-minute
94
+ // network blip could therefore trip the breaker and suppress a perfectly
95
+ // healthy method for six hours, under a log line claiming this was "not a
96
+ // connection failure". Read the boolean instead.
97
+ if (/(MQTT connection state|Local connect state):\s*false/i.test(message)) {
98
+ return false;
99
+ }
100
+
101
+ // The cloud timeout also carries describeCloudSilence's verdict. When it
102
+ // says nothing at all is coming back over MQTT, the robot's silence is not
103
+ // distinguishable from the link's, and the link is the likelier of the two.
104
+ if (/nothing is coming back over MQTT at all/i.test(message)) {
105
+ return false;
106
+ }
107
+
108
+ return true;
78
109
  }
79
110
 
80
111
  class UnansweredMethodBreaker {
@@ -181,14 +212,24 @@ class UnansweredMethodBreaker {
181
212
  };
182
213
  }
183
214
 
184
- /** Forget everything for one robot (re-login, re-discovery, shutdown). */
215
+ /**
216
+ * Forget everything for one robot (it came back online, re-login,
217
+ * re-discovery, shutdown).
218
+ *
219
+ * @param {string} duid
220
+ * @returns {number} how many counters were dropped, so the caller can stay
221
+ * quiet when there was nothing to forget.
222
+ */
185
223
  forgetDevice(duid) {
186
224
  const prefix = `${duid}:`;
225
+ let forgotten = 0;
187
226
  for (const key of [...this.entries.keys()]) {
188
227
  if (key.startsWith(prefix)) {
189
228
  this.entries.delete(key);
229
+ forgotten += 1;
190
230
  }
191
231
  }
232
+ return forgotten;
192
233
  }
193
234
 
194
235
  /** Forget everything. */
@@ -590,6 +590,40 @@ class vacuum {
590
590
  status: deviceStatus[0] || null,
591
591
  });
592
592
 
593
+ // MEASUREMENT, NOT A FEATURE — and deliberately so.
594
+ //
595
+ // Live-room tracking on a classic robot depends on `get_map_v1`,
596
+ // which on some robots is never answered: 95 timeouts in a row on
597
+ // my own a70, 40 on the a75 in #9. If the robot's own status
598
+ // carries the segment it is cleaning, the whole map round-trip is
599
+ // unnecessary on those robots.
600
+ //
601
+ // `cleaning_info` is documented in deviceFeatures.js as
602
+ // `{target_segment_id, segment_id, fan_power, water_box_mode, ...}`
603
+ // and a real capture from a Saros 10R (a144) in
604
+ // `__tests__/saros10-status-fields.test.js` shows
605
+ // `cleaning_info={"target_segment_id":-1,...}` — truncated at 60
606
+ // characters, which is exactly why nobody has ever seen the rest.
607
+ // Every poll receives this object and throws it away.
608
+ //
609
+ // So print it whole, once per distinct value, while the robot is
610
+ // cleaning. One clean answers the question: if `segment_id` tracks
611
+ // the room, classic live-room tracking needs no map at all. If it
612
+ // does not, this costs nothing and the line stops.
613
+ const cleaningInfo = deviceStatus[0]?.cleaning_info;
614
+ if (cleaningInfo && typeof cleaningInfo === "object") {
615
+ const rendered = JSON.stringify(cleaningInfo);
616
+ if (!this._lastCleaningInfo) {
617
+ this._lastCleaningInfo = new Map();
618
+ }
619
+ if (this._lastCleaningInfo.get(duid) !== rendered) {
620
+ this._lastCleaningInfo.set(duid, rendered);
621
+ this.adapter.log.debug(
622
+ `cleaning_info for ${describeDevice(this.adapter, duid)}: ${rendered}. Reported in full because this field may carry the room the robot is in, which would give live-room tracking a source that does not need the map. If you are reading this while a clean is running, the number to watch is segment_id.`
623
+ );
624
+ }
625
+ }
626
+
593
627
  // Collected across the whole poll and reported as one line. Eight
594
628
  // separate warnings, once a minute, was ~11,500 identical requests a
595
629
  // day to contact the dev about the same eight fields (#8).
@@ -3635,6 +3635,21 @@ class Roborock {
3635
3635
  vacuum.getStatusIntervalHandle = null;
3636
3636
  vacuum.mainUpdateIntervalHandle = null;
3637
3637
  } else if (onlineState && !vacuum.mainUpdateIntervalHandle) {
3638
+ // A robot that has just come back starts with clean counters.
3639
+ // Without this, `forgetDevice` had no call site at all: a robot
3640
+ // that was offline for hours kept the no-answer counts it collected
3641
+ // while it was unreachable, and because `shouldSkip` deliberately
3642
+ // KEEPS the counter when it lets one request through, a single
3643
+ // probe timing out during the reconnect — likely, while the robot
3644
+ // is still booting and its MQTT session re-establishing — closed
3645
+ // the method for another six hours. Coming back online is exactly
3646
+ // the moment the old evidence stops meaning anything.
3647
+ const forgotten = this.unansweredMethods.forgetDevice(duid);
3648
+ if (forgotten > 0) {
3649
+ this.log.debug(
3650
+ `${this.describeDevice(duid)} is back online; forgetting ${forgotten} unanswered-request counter(s) so it starts from a clean slate.`
3651
+ );
3652
+ }
3638
3653
  vacuum.getStatusIntervall();
3639
3654
  this.startMainUpdateInterval(duid, onlineState);
3640
3655
  }
@@ -3818,8 +3833,14 @@ class Roborock {
3818
3833
  // it run behind the tile instead of in front of it. Only a robot the
3819
3834
  // plugin has never seen rooms for is worth waiting on.
3820
3835
  const refresh = async () => {
3821
- await vacuum.getParameter(duid, "get_multi_maps_list");
3822
- await vacuum.getParameter(duid, "get_room_mapping");
3836
+ // Through pollParameter, not straight to getParameter. These two were
3837
+ // the only polls outside the register, and they are two of the seven
3838
+ // methods named in the 647 suppressed timeouts in #22/#24 — so the one
3839
+ // robot whose numbers motivated the rule was still being asked these
3840
+ // two every cycle regardless. `isB01` is false here: this branch is the
3841
+ // classic path, and the B01 branch above has its own.
3842
+ await this.pollParameter(duid, vacuum, "get_multi_maps_list", false);
3843
+ await this.pollParameter(duid, vacuum, "get_room_mapping", false);
3823
3844
  await this.cacheMissingMatterServiceAreaRoomMappings(duid, vacuum);
3824
3845
  };
3825
3846
 
@@ -3874,7 +3895,7 @@ class Roborock {
3874
3895
 
3875
3896
  try {
3876
3897
  if (map.mapId === originalMapId) {
3877
- await vacuum.getParameter(duid, "get_room_mapping");
3898
+ await this.pollParameter(duid, vacuum, "get_room_mapping", false);
3878
3899
  } else {
3879
3900
  this.log.info(
3880
3901
  `Loading Roborock map '${map.name}' for ${this.describeDevice(duid)} to cache Matter Service Area rooms.`
@@ -6080,7 +6101,13 @@ class Roborock {
6080
6101
  // every ten seconds of every clean. Measured before this existed: 95
6081
6102
  // failures in a row on my own a70, 225 twelve days earlier, 40 on the
6082
6103
  // a75 in #9.
6083
- if (this.unansweredMethods.shouldSkip(duid, "get_map_list")) {
6104
+ if (
6105
+ this.unansweredMethods.shouldSkip(duid, "get_map_list") ||
6106
+ this.unansweredMethods.shouldSkip(
6107
+ duid,
6108
+ b01Q7Adapter.B01_MAP_UPLOAD_METHOD
6109
+ )
6110
+ ) {
6084
6111
  return liveState.current;
6085
6112
  }
6086
6113
  liveState.lastAttemptAt = Date.now();
@@ -6092,12 +6119,32 @@ class Roborock {
6092
6119
  "get_map_list",
6093
6120
  {}
6094
6121
  );
6122
+ // Acknowledge THIS request here, not at the bottom. Until 3.31.0 the
6123
+ // acknowledgement sat after the map upload, the decode and a cache
6124
+ // write, so a robot that answered get_map_list in 200 ms never had
6125
+ // its counter reset while the heavy upload leg was silent.
6126
+ this.noteMethodAnswered(duid, "get_map_list");
6095
6127
  const mapId = b01Q7Adapter.findCurrentMapId(mapListData);
6096
6128
  if (mapId === null) {
6097
6129
  return liveState.current;
6098
6130
  }
6099
6131
 
6100
- const rawPayload = await this.sendB01MapRequest(duid, mapId);
6132
+ // And count the second leg on its own. `sendB01MapRequest` has its
6133
+ // own 20-second timeout and its own method on the wire; recording it
6134
+ // as get_map_list would close a channel the robot answers, and point
6135
+ // the diagnostics at the wrong request.
6136
+ let rawPayload;
6137
+ try {
6138
+ rawPayload = await this.sendB01MapRequest(duid, mapId);
6139
+ } catch (error) {
6140
+ this.noteLiveRoomFetchFailed(
6141
+ duid,
6142
+ liveState,
6143
+ error,
6144
+ b01Q7Adapter.B01_MAP_UPLOAD_METHOD
6145
+ );
6146
+ return liveState.current;
6147
+ }
6101
6148
  const serial = this.getVacuumDeviceInfo(duid, "sn");
6102
6149
  const model = this.getProductAttribute(duid, "model");
6103
6150
  const mapKey = b01Q7Adapter.createMapKey(serial, model);
@@ -6122,7 +6169,7 @@ class Roborock {
6122
6169
 
6123
6170
  const resolution2 = b01Q7Adapter.describeLiveRoomResolution(parsed);
6124
6171
  const roomId = resolution2.roomId;
6125
- this.noteMethodAnswered(duid, "get_map_list");
6172
+ this.noteMethodAnswered(duid, b01Q7Adapter.B01_MAP_UPLOAD_METHOD);
6126
6173
  this.noteLiveRoomFetchRecovered(duid, liveState);
6127
6174
 
6128
6175
  if (roomId === null) {