homebridge-roborock-matter 3.3.2 → 3.4.1

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,24 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.4.1
4
+
5
+ **The Matter fault attribute is withdrawn.** Wazza151 ran three controlled tests on an S8 Pro Ultra with a genuinely empty clean water tank ([#5](https://github.com/mathiashornbek/homebridge-roborock-matter/issues/5)) and the result was unambiguous: Apple Home drew no warning with the fault published beside a Charging state, drew no warning with it published beside a forced Error state either, and the tile went into a stuck "Updating…" that needed a manual poke to clear. Everything off, and the tile behaved perfectly.
6
+
7
+ So the feature cost people their tile and never once delivered the thing it promised. Apple Home does not appear to render Matter vacuum faults from a bridged accessory at all — the same conclusion 1.4.61 reached when it removed the original write. Rather than keep a switch that can only do harm, it is gone.
8
+
9
+ - **`operationalError` is no longer published in any configuration**, and a test pins that it stays that way. The mapping tables from Roborock error and dock codes to Matter error states are removed with it; they were accurate and they were useless.
10
+ - **The 3.4.0 setting Show Dock & Tank Warnings as Errors is removed.** If it is still in your `config.json` it now does nothing — a stale key cannot resurrect the behaviour.
11
+ - **Report Faults in Apple Home keeps its worthwhile half.** A robot that has genuinely halted — stuck, blocked brush or wheel, missing dust bin, flat battery, unreachable dock — still reports the Matter **Error** state instead of Ready. Apple renders operational states perfectly well; the same robot shows Charging, Docked, Emptying and Washing correctly. That was always the valuable part.
12
+ - **The diagnostics report's `matterFeatures` line now reads the saved plugin config rather than the checkboxes on screen.** A tick that has not been saved and had the bridge restarted is not in effect, and a report claiming otherwise sends everyone chasing behaviour the plugin was never exhibiting. If the form has unsaved edits, the report now says so.
13
+
14
+ ## 3.4.0
15
+
16
+ **If you turned on Report Faults in Apple Home in 3.3.0, update.** Field testing on an S8 Pro Ultra found that the feature could leave the Apple Home tile stuck on "Updating…", needing a manual poke to come back — and the same robot behaved perfectly the moment the setting was switched off. That is fixed here, and the reason it happened has changed how the feature works.
17
+
18
+ - **A fault is now only ever published alongside the Error state.** 3.3.0 wrote the attribute continuously — the live fault while one existed, NoError otherwise — so a robot sitting on the dock reported "Charging" and "clean water tank empty" in the same breath. A robot cannot be both, and the Matter specification agrees: OperationalError describes the condition "when the OperationalState attribute is populated with Error". A healthy robot's payload now contains no fault attribute at all, byte-identical to running with the feature off, and a cleared fault sends exactly one all-clear rather than attaching NoError to every snapshot forever.
19
+ - **Dock and tank conditions moved behind their own switch, Show Dock & Tank Warnings as Errors.** The same test established the other half of the picture: with the fault published but the tile not in Error, Apple Home drew nothing. So reporting a dock condition without raising Error is all cost and no benefit. The new switch raises it — which makes the warning visible, at the price of a robot Apple Home may refuse to start even though it could still vacuum. That trade-off is now the user's to make, stated plainly in both settings screens. Off by default, and it does nothing unless fault reporting is on too.
20
+ - **Robot faults are unchanged and still work:** stuck, blocked brush or wheel, missing dust bin, flat battery, unreachable dock. Those genuinely halt the robot, so state and fault agree and there is no contradiction to confuse a controller.
21
+
3
22
  ## 3.3.2
4
23
 
5
24
  - **Finished a job 3.3.1 only half did.** That release converted the B01 log lines to use the robot's name and missed eleven others, including the live-room line for classic S/Q-series robots and the battery resync line — which then appeared in a field log directly above a line that did use the name: `Battery resync for 3tELc5hUekaTlOJEW3YetI` followed by `Matter publish for Garage`. Every user-visible log line now names the robot, and a test enumerates the rule rather than the instances, so the next line written cannot reintroduce it.
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. 385 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. 378 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
 
@@ -102,31 +102,26 @@ The clean mode follows the robot as well: start a vacuum+mop or mop-only clean f
102
102
 
103
103
  Everything is configurable from the Homebridge UI. The essentials:
104
104
 
105
- | Option | Default | What it does |
106
- | ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
107
- | `email` / password | — | Your Roborock app account (2FA handled in the UI; the session token is stored encrypted) |
108
- | `skipDevices` | — | Comma-separated device IDs the plugin should ignore |
109
- | `enableMatterServiceArea` | `true` | Room/map selection in Apple Home |
110
- | `enableLiveRoomTracking` | `true` | Live current-room from the robot's map position while cleaning |
111
- | `enableMatterCleanMode` | `true` | Vacuum / Mop / Vacuum + Mop mode selection |
112
- | `enableFanPowerCleanModes` | `false` | Adds Quiet / Balanced / Turbo / Max (and Max+ on Q7) suction modes to the Matter mode list. **Re-pair the robot once after toggling** — Matter locks the mode list at pairing |
113
- | `enableMatterPowerSource` | `true` | Battery cluster |
114
- | `enableMatterFaultReporting` | `false` | Say why the robot needs attention instead of showing Ready stuck, empty clean-water tank, full waste-water tank, missing dust bag ([details](#why-the-robot-needs-attention)) |
115
- | `cloudOnlyMode` | `false` | Skip local TCP entirely and use the cloud for everything |
116
- | `transientWarningThrottleHours` | `6` | How often recurring transient-timeout warnings may repeat (0 = only in debug) |
105
+ | Option | Default | What it does |
106
+ | ------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
107
+ | `email` / password | — | Your Roborock app account (2FA handled in the UI; the session token is stored encrypted) |
108
+ | `skipDevices` | — | Comma-separated device IDs the plugin should ignore |
109
+ | `enableMatterServiceArea` | `true` | Room/map selection in Apple Home |
110
+ | `enableLiveRoomTracking` | `true` | Live current-room from the robot's map position while cleaning |
111
+ | `enableMatterCleanMode` | `true` | Vacuum / Mop / Vacuum + Mop mode selection |
112
+ | `enableFanPowerCleanModes` | `false` | Adds Quiet / Balanced / Turbo / Max (and Max+ on Q7) suction modes to the Matter mode list. **Re-pair the robot once after toggling** — Matter locks the mode list at pairing |
113
+ | `enableMatterPowerSource` | `true` | Battery cluster |
114
+ | `enableMatterFaultReporting` | `false` | Report a robot that has genuinely halted as Error instead of Ready ([details](#why-the-robot-needs-attention)) |
115
+ | `cloudOnlyMode` | `false` | Skip local TCP entirely and use the cloud for everything |
116
+ | `transientWarningThrottleHours` | `6` | How often recurring transient-timeout warnings may repeat (0 = only in debug) |
117
117
 
118
118
  ## Why the robot needs attention
119
119
 
120
- By default a robot that has stopped for any reason shows as **Ready** in Apple Home — whether it finished the job or is wedged under the sofa. Turning on **Report faults in Apple Home** changes that: the robot's own faults are published as the Matter Error state, and the condition behind them is published as a Matter fault so the Home app can say what is wrong rather than just that something is.
120
+ By default a robot that has stopped for any reason shows as **Ready** in Apple Home — whether it finished the job or is wedged under the sofa. Turning on **Report faults in Apple Home** changes that: a robot that is stuck, has a blocked brush or wheel, a missing dust bin, a flat battery or a dock it cannot reach reports the Matter **Error** state instead of Ready. It is off by default because a robot in Error may be refused a Start command by Apple Home.
121
121
 
122
- What gets reported:
122
+ **Dock and tank conditions are deliberately not reported, and this is worth explaining.** The plugin can read them all accurately — empty clean-water tank, full waste-water tank, missing dust bag, blocked air duct — and two releases tried to surface them through Matter's fault attribute (`OperationalError`). Three controlled tests on an S8 Pro Ultra with a genuinely empty tank showed it does not work: Apple Home drew no warning when the fault was published beside a Charging state, drew no warning when it was published beside a forced Error state either, and the tile went into a stuck "Updating…" that needed a manual poke to clear. **Apple Home does not appear to render Matter vacuum faults from a bridged accessory at all** — which is also why an earlier version removed the same write back in 1.4.61. Reporting them was therefore pure cost, and the attribute is no longer published in any configuration.
123
123
 
124
- - **The robot's own faults** — stuck, a blocked brush or wheel, a missing dust bin, a flat battery, a dock it cannot reach. These put the tile into Error, because the robot genuinely cannot work.
125
- - **Dock and tank conditions** — an empty clean-water tank, a full waste-water tank, a missing dust bag, a blocked air duct, a mop-wash tank that needs emptying. These are reported as a fault but deliberately **do not** put the tile into Error: a robot whose waste-water tank is full can still vacuum, and an accessory in Error may be refused a Start command by the controller.
126
-
127
- What is deliberately **not** reported: a detached water tank or mop pad. That is the normal, correct configuration for a vacuum-only run, so treating it as a fault would leave a permanent warning on every dry robot's tile.
128
-
129
- It is off by default for two reasons: a robot reporting Error may be refused a Start command from Apple Home, and the fault attribute has a history with Apple Home commissioning. If Matter ever refuses the attribute, the plugin drops it by itself and logs a warning rather than letting it freeze the tile. How much of this Apple Home actually draws, and in what words, is Apple's decision.
124
+ A detached water tank or mop pad is never treated as a fault either: that is the normal, correct configuration for a vacuum-only run.
130
125
 
131
126
  ## Battery percentage in Apple Home
132
127
 
@@ -112,7 +112,7 @@
112
112
  },
113
113
  "enableMatterFaultReporting": {
114
114
  "title": "Report Faults in Apple Home",
115
- "description": "Show why the robot needs attention instead of leaving it as Ready: a stuck robot reports Error, and conditions such as an empty clean-water tank, a full waste-water tank, a missing dust bag or a blocked brush are published as a Matter fault. Which of them Apple Home renders, and how, is Apple's decision. Off by default because a robot reporting Error may refuse a Start command from Apple Home. Dock conditions never force the Error state, so a robot that can still vacuum stays startable. If Matter refuses the fault attribute, the plugin drops it automatically and logs a warning rather than freezing the tile.",
115
+ "description": "Show a robot that has genuinely stopped working as Error instead of Ready: stuck, a blocked brush or wheel, a missing dust bin, a flat battery, a dock it cannot reach. Off by default because a robot reporting Error may be refused a Start command by Apple Home. Dock and tank conditions (empty clean-water tank, full waste-water tank, missing dust bag) are NOT reported: field testing showed Apple Home does not draw Matter vacuum faults at all, so reporting them was pure cost.",
116
116
  "type": "boolean",
117
117
  "default": false
118
118
  },
@@ -145,102 +145,6 @@ const RVC_CHARGING_DOCKED_STATE_LIST = [
145
145
  RVC_OPERATIONAL_STATE.CHARGING,
146
146
  RVC_OPERATIONAL_STATE.DOCKED,
147
147
  ];
148
- // RVC Operational State ErrorStateEnum, from the Matter cluster definition
149
- // (src/app/zap-templates/zcl/data-model/chip/operational-state-rvc-cluster.xml).
150
- // Only the values that shipped with the original RVC device type are used:
151
- // they are the ones controllers have understood the longest, and a fault the
152
- // controller cannot name is worse than a generic one it can.
153
- const RVC_ERROR_STATE = {
154
- NO_ERROR: 0x00,
155
- UNABLE_TO_START_OR_RESUME: 0x01,
156
- UNABLE_TO_COMPLETE_OPERATION: 0x02,
157
- FAILED_TO_FIND_CHARGING_DOCK: 0x40,
158
- STUCK: 0x41,
159
- DUST_BIN_MISSING: 0x42,
160
- DUST_BIN_FULL: 0x43,
161
- WATER_TANK_EMPTY: 0x44,
162
- WATER_TANK_MISSING: 0x45,
163
- MOP_CLEANING_PAD_MISSING: 0x47,
164
- LOW_BATTERY: 0x48,
165
- };
166
- /**
167
- * Roborock `error_code` to Matter ErrorStateEnum. The Roborock names are the
168
- * ones this plugin already shows in `deviceFeatures.js`; several distinct
169
- * mechanical faults collapse onto STUCK because Matter has no finer-grained
170
- * standard code for them, which is fine — the human-readable Roborock text
171
- * rides along in `errorStateDetails`.
172
- *
173
- * Codes deliberately absent map to UNABLE_TO_COMPLETE_OPERATION via the
174
- * fallback: inventing a wrong specific code is worse than a correct vague one.
175
- */
176
- const ROBOROCK_ERROR_TO_MATTER = new Map([
177
- [3, RVC_ERROR_STATE.STUCK], // Wheel floating
178
- [5, RVC_ERROR_STATE.STUCK], // Main brush blocked
179
- [6, RVC_ERROR_STATE.STUCK], // Side brush blocked
180
- [7, RVC_ERROR_STATE.STUCK], // Wheel blocked
181
- [8, RVC_ERROR_STATE.STUCK], // Device stuck
182
- [9, RVC_ERROR_STATE.DUST_BIN_MISSING], // Dust bin missing
183
- [12, RVC_ERROR_STATE.LOW_BATTERY], // Low battery
184
- [16, RVC_ERROR_STATE.STUCK], // Uneven surface
185
- [19, RVC_ERROR_STATE.FAILED_TO_FIND_CHARGING_DOCK], // Unpowered charging station
186
- [22, RVC_ERROR_STATE.FAILED_TO_FIND_CHARGING_DOCK], // Charge sensor problem
187
- [23, RVC_ERROR_STATE.FAILED_TO_FIND_CHARGING_DOCK], // Dock problem
188
- [24, RVC_ERROR_STATE.STUCK], // No-go zone or invisible wall detected
189
- [254, RVC_ERROR_STATE.DUST_BIN_FULL], // Bin full
190
- ]);
191
- /**
192
- * Roborock `dock_error_status` to Matter ErrorStateEnum, with the label the
193
- * Roborock app uses. Values are the ones the reference implementations agree
194
- * on; `0` means the dock is healthy.
195
- *
196
- * The dirty-water tank has no pre-1.4 standard code, so "waste water tank
197
- * full" reports as DUST_BIN_FULL — the closest "a container needs emptying"
198
- * signal every controller understands — with the true wording in the details.
199
- */
200
- const ROBOROCK_DOCK_ERROR_TO_MATTER = new Map([
201
- [
202
- 34,
203
- {
204
- errorStateId: RVC_ERROR_STATE.UNABLE_TO_COMPLETE_OPERATION,
205
- details: "Dock air duct blocked",
206
- },
207
- ],
208
- [
209
- 38,
210
- {
211
- errorStateId: RVC_ERROR_STATE.WATER_TANK_EMPTY,
212
- details: "Clean water tank empty",
213
- },
214
- ],
215
- [
216
- 39,
217
- {
218
- errorStateId: RVC_ERROR_STATE.DUST_BIN_FULL,
219
- details: "Waste water tank full",
220
- },
221
- ],
222
- [
223
- 44,
224
- {
225
- errorStateId: RVC_ERROR_STATE.WATER_TANK_MISSING,
226
- details: "Dirty water tank latch open",
227
- },
228
- ],
229
- [
230
- 46,
231
- {
232
- errorStateId: RVC_ERROR_STATE.DUST_BIN_MISSING,
233
- details: "Dock dust bag missing",
234
- },
235
- ],
236
- [
237
- 53,
238
- {
239
- errorStateId: RVC_ERROR_STATE.UNABLE_TO_COMPLETE_OPERATION,
240
- details: "Mop cleaning tank full or blocked",
241
- },
242
- ],
243
- ]);
244
148
  const POWER_SOURCE_STATUS = {
245
149
  ACTIVE: 1,
246
150
  UNAVAILABLE: 3,
@@ -348,13 +252,6 @@ class RoborockMatterVacuumAccessory {
348
252
  this.lastWaterBoxMode = null;
349
253
  this.matterInitializationRetryAttempt = 0;
350
254
  this.matterInitializationRetryPending = false;
351
- // Latched when a Matter write carrying `operationalError` is rejected.
352
- // `operationalError` travels in the same cluster payload as
353
- // `operationalState`, so a controller or matter.js build that refuses the
354
- // attribute would otherwise freeze the whole tile — Cleaning/Docked
355
- // included — for as long as the setting stays on. One rejection is enough
356
- // to drop the attribute for the rest of this run.
357
- this.faultReportingRejected = false;
358
255
  this.returnToDockRetryPending = false;
359
256
  this.matterStateHeartbeatTimer = null;
360
257
  // Serializes every Matter publish so concurrent publishers (live messages,
@@ -462,15 +359,7 @@ class RoborockMatterVacuumAccessory {
462
359
  this.accessory.context = {};
463
360
  }
464
361
  this.accessory.context.duid = duid;
465
- // The registration snapshot is the payload Matter commissions the
466
- // endpoint from, and 1.4.61 removed the plugin's `operationalError` write
467
- // precisely because Apple Home reacted badly to it there. Keep the
468
- // declaration byte-identical to a build without fault reporting and let
469
- // the attribute arrive on the first runtime publish a few seconds later
470
- // — matter.js supplies the mandatory NoError default in the meantime, so
471
- // nothing is missing, and a robot that happens to be faulted at
472
- // Homebridge start can no longer change what gets commissioned.
473
- this.accessory.clusters = this.stripOperationalError(this.buildClusters());
362
+ this.accessory.clusters = this.buildClusters();
474
363
  this.accessory.handlers = this.buildHandlers();
475
364
  this.accessory.getState = async (cluster, attribute) => {
476
365
  const clusterState = this.buildCluster(cluster);
@@ -809,14 +698,6 @@ class RoborockMatterVacuumAccessory {
809
698
  // Drop the record so the cluster is retried on the next snapshot
810
699
  // even if its payload is unchanged.
811
700
  this.lastPublishedClusterJson.delete(cluster);
812
- // Opt-in fault reporting must never cost the user their tile. If
813
- // the payload carried `operationalError` and the write was
814
- // refused for any reason other than an endpoint that is still
815
- // coming up, retry immediately without it and stop sending it.
816
- // The operational state itself then still lands.
817
- if (await this.retryWithoutOperationalError(matter, cluster, attributes, error)) {
818
- return;
819
- }
820
701
  failures.push(error);
821
702
  this.platform.log.debug(`Matter publish for cluster ${cluster} on ${this.accessory.UUID} failed: ${error instanceof Error ? error.message : String(error)}`);
822
703
  }
@@ -849,38 +730,6 @@ class RoborockMatterVacuumAccessory {
849
730
  throw error;
850
731
  }
851
732
  }
852
- /**
853
- * Recovery for a rejected `operationalError` write.
854
- *
855
- * Returns true when the cluster was successfully re-published without the
856
- * attribute, in which case the caller must treat the write as a success —
857
- * the operational state landed, only the optional fault detail was dropped.
858
- * Returns false for payloads that never carried the attribute, for an
859
- * endpoint that is merely still initializing (that has its own retry, and
860
- * disabling a feature over a transient startup race would be wrong), and
861
- * when the retry fails too.
862
- */
863
- async retryWithoutOperationalError(matter, cluster, attributes, error) {
864
- if (!("operationalError" in attributes) ||
865
- this.isMatterInitializingError(error)) {
866
- return false;
867
- }
868
- const { operationalError: _rejected, ...withoutError } = attributes;
869
- try {
870
- await matter.updateAccessoryState(this.accessory.UUID, cluster, withoutError);
871
- }
872
- catch (_a) {
873
- // The write was failing for some other reason. Leave the feature alone
874
- // and let the caller record a normal failure.
875
- return false;
876
- }
877
- if (!this.faultReportingRejected) {
878
- this.faultReportingRejected = true;
879
- this.platform.log.warn(`Matter rejected the fault detail (operationalError) for ${this.getVacuumName()}, so fault reporting has been switched off for this session; the operational state itself is unaffected. Turn off "Report Faults in Apple Home" to silence this. Reason: ${this.getErrorMessage(error)}`);
880
- }
881
- this.lastPublishedClusterJson.set(cluster, JSON.stringify(withoutError));
882
- return true;
883
- }
884
733
  /**
885
734
  * Publish a full Roborock cluster snapshot, performing a one-time battery
886
735
  * resync per boot first. Matter controllers filter attribute reports by
@@ -1027,19 +876,6 @@ class RoborockMatterVacuumAccessory {
1027
876
  }
1028
877
  return this.applyOptimisticState(clusters);
1029
878
  }
1030
- /**
1031
- * A copy of a cluster snapshot with the optional fault attribute removed,
1032
- * for the one payload where its presence is a commissioning risk rather
1033
- * than useful information.
1034
- */
1035
- stripOperationalError(clusters) {
1036
- const operationalState = clusters.rvcOperationalState;
1037
- if (!operationalState || !("operationalError" in operationalState)) {
1038
- return clusters;
1039
- }
1040
- const { operationalError: _omitted, ...rest } = operationalState;
1041
- return { ...clusters, rvcOperationalState: rest };
1042
- }
1043
879
  buildCluster(cluster) {
1044
880
  var _a;
1045
881
  let clusterState;
@@ -1375,19 +1211,23 @@ class RoborockMatterVacuumAccessory {
1375
1211
  operationalStateList: this.getOperationalStateList().map((operationalStateId) => ({ operationalStateId })),
1376
1212
  operationalState,
1377
1213
  };
1378
- if (this.isFaultReportingEnabled()) {
1379
- // Always write the attribute while the feature is on, never just when
1380
- // something is wrong: an error that is published but never cleared
1381
- // leaves the tile complaining about a tank the user refilled an hour
1382
- // ago. NO_ERROR is the "all clear".
1383
- const operationalError = this.buildOperationalError();
1384
- cluster.operationalError =
1385
- operationalError !== null && operationalError !== void 0 ? operationalError : (operationalState === RVC_OPERATIONAL_STATE.ERROR
1386
- ? // The robot says it has halted but named no code. Saying
1387
- // "error, but no error" is worse than a truthful vague answer.
1388
- { errorStateId: RVC_ERROR_STATE.UNABLE_TO_COMPLETE_OPERATION }
1389
- : { errorStateId: RVC_ERROR_STATE.NO_ERROR });
1390
- }
1214
+ // The Matter fault attribute (`operationalError`) is deliberately never
1215
+ // published, in any configuration.
1216
+ //
1217
+ // Three controlled tests on an S8 Pro Ultra with an empty clean water
1218
+ // tank settled it. Apple Home drew no warning when the fault was sent
1219
+ // beside a Charging state, and drew no warning when the fault was sent
1220
+ // beside a forced Error state either — while the tile went to a stuck
1221
+ // "Updating…" that needed a manual poke. Apple does not appear to render
1222
+ // RVC OperationalError from a bridged accessory at all, so publishing it
1223
+ // is pure risk for a benefit that has never once materialised. That is
1224
+ // also why 1.4.61 removed the plugin's original write.
1225
+ //
1226
+ // The Error operational STATE is a different matter and is still
1227
+ // reported below: Apple renders operational states perfectly well (the
1228
+ // same robot shows Charging, Docked, Emptying and Washing correctly), so
1229
+ // a robot stuck under the sofa can stop claiming it is Ready without
1230
+ // touching the attribute that causes trouble.
1391
1231
  return cluster;
1392
1232
  }
1393
1233
  buildPowerSourceCluster(batteryValue, chargeStatusValue, stateValue) {
@@ -1962,66 +1802,12 @@ class RoborockMatterVacuumAccessory {
1962
1802
  return (this.platform.platformConfig.enableMatterChargingDockedStates === true);
1963
1803
  }
1964
1804
  /**
1965
- * Opt-in fault reporting. Off by default: publishing `operationalError` is
1966
- * the one thing 1.4.61 removed for Apple Home commissioning safety, and a
1967
- * robot that reports ERROR may be refused a Start command by the
1968
- * controller — so a spurious fault would cost the user their tile. The
1969
- * write also self-disables at runtime if Matter rejects it
1970
- * (`faultReportingRejected`), which keeps a bad payload from taking the
1971
- * rest of the operational-state cluster down with it.
1805
+ * Opt-in: report the Matter Error state when the robot has genuinely
1806
+ * halted, instead of showing Ready. Off by default because a robot in
1807
+ * Error may be refused a Start command by the controller.
1972
1808
  */
1973
1809
  isFaultReportingEnabled() {
1974
- return (this.platform.platformConfig.enableMatterFaultReporting === true &&
1975
- !this.faultReportingRejected);
1976
- }
1977
- /**
1978
- * Map the robot's current condition onto a Matter ErrorStateStruct, or null
1979
- * when nothing is wrong.
1980
- *
1981
- * `errorStateLabel` is deliberately never set. The Matter spec only allows
1982
- * it for manufacturer-range IDs, and labels on standard IDs are exactly
1983
- * what wedged Apple Home at "Connecting" in 1.4.40 — `errorStateDetails` is
1984
- * the field that may carry free text alongside a standard ID.
1985
- */
1986
- buildOperationalError() {
1987
- var _a, _b, _c;
1988
- // The robot's own fault takes precedence over a dock consumable: if it is
1989
- // stuck under the sofa, that is what the user needs to be told.
1990
- const errorCode = this.getNumberStatus("error_code");
1991
- if (errorCode !== null && errorCode !== 0) {
1992
- return {
1993
- errorStateId: (_a = ROBOROCK_ERROR_TO_MATTER.get(errorCode)) !== null && _a !== void 0 ? _a : RVC_ERROR_STATE.UNABLE_TO_COMPLETE_OPERATION,
1994
- errorStateDetails: this.describeRoborockError(errorCode),
1995
- };
1996
- }
1997
- const dockErrorStatus = this.getNumberStatus("dock_error_status");
1998
- if (dockErrorStatus !== null && dockErrorStatus !== 0) {
1999
- const mapped = ROBOROCK_DOCK_ERROR_TO_MATTER.get(dockErrorStatus);
2000
- return {
2001
- errorStateId: (_b = mapped === null || mapped === void 0 ? void 0 : mapped.errorStateId) !== null && _b !== void 0 ? _b : RVC_ERROR_STATE.UNABLE_TO_COMPLETE_OPERATION,
2002
- errorStateDetails: (_c = mapped === null || mapped === void 0 ? void 0 : mapped.details) !== null && _c !== void 0 ? _c : `Dock error ${dockErrorStatus}`,
2003
- };
2004
- }
2005
- // Onboard tank ran dry mid-mop. This flag is set by the robot only when
2006
- // water is actually wanted, so it does not fire on a vacuum-only run.
2007
- if (this.getNumberStatus("water_shortage_status") === 1) {
2008
- return {
2009
- errorStateId: RVC_ERROR_STATE.WATER_TANK_EMPTY,
2010
- errorStateDetails: "Water tank empty",
2011
- };
2012
- }
2013
- // Deliberately NOT reported as faults: `water_box_status` and
2014
- // `water_box_carriage_status` being 0. A detached tank or mop pad is the
2015
- // normal, correct configuration for a vacuum-only run, so treating them
2016
- // as errors would put a permanent warning on every dry robot's tile.
2017
- return null;
2018
- }
2019
- describeRoborockError(errorCode) {
2020
- var _a, _b;
2021
- const description = (_b = (_a = this.api).getErrorCodeDescription) === null || _b === void 0 ? void 0 : _b.call(_a, errorCode);
2022
- return typeof description === "string" && description.length > 0
2023
- ? description
2024
- : `Roborock error ${errorCode}`;
1810
+ return this.platform.platformConfig.enableMatterFaultReporting === true;
2025
1811
  }
2026
1812
  /**
2027
1813
  * Battery percentage at which a docked robot switches from Charging to
@@ -2096,7 +1882,12 @@ class RoborockMatterVacuumAccessory {
2096
1882
  }
2097
1883
  getOperationalState(state = this.getNumberStatus("state"), chargeStatus = this.getNumberStatus("charge_status")) {
2098
1884
  const operationalState = this.getRoborockOperationalState(state, chargeStatus);
2099
- return this.toControllerOperationalState(operationalState);
1885
+ const controllerState = this.toControllerOperationalState(operationalState);
1886
+ // Dock and tank conditions deliberately never raise ERROR. The 3.4.0
1887
+ // switch that let them do so was withdrawn: it made a robot that could
1888
+ // still vacuum look unstartable, and the warning it was supposed to
1889
+ // surface never appeared in Apple Home even once.
1890
+ return controllerState;
2100
1891
  }
2101
1892
  getRoborockOperationalState(state, chargeStatus) {
2102
1893
  switch (state) {
@@ -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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"}
@@ -235,15 +235,15 @@
235
235
  <span>
236
236
  Report faults in Apple Home
237
237
  <small
238
- >Says why the robot needs attention instead of leaving it as Ready: a
239
- stuck robot reports Error, and conditions like an empty clean-water
240
- tank, a full waste-water tank or a missing dust bag are published as a
241
- Matter fault. Dock conditions never force the Error state, so a robot
242
- that can still vacuum stays startable. Off by default because a robot
243
- in Error may refuse a Start command from Apple Home.</small
238
+ >Shows a robot that has genuinely stopped working as Error instead of
239
+ Ready &mdash; stuck, a blocked brush, a missing dust bin, a flat
240
+ battery. Off by default because a robot in Error may be refused a
241
+ Start command by Apple Home. Dock and tank warnings are not reported:
242
+ Apple Home does not draw Matter vacuum faults.</small
244
243
  >
245
244
  </span>
246
245
  </label>
246
+
247
247
  <label class="field">
248
248
  <span>Charged Battery Threshold (%)</span>
249
249
  <input
@@ -241,25 +241,96 @@ function getCloudOnlyMode() {
241
241
  }
242
242
 
243
243
  /**
244
- * The Apple Home features currently switched on, as a compact list for the
245
- * diagnostics report. Read from the live checkboxes so it reflects what is
246
- * actually saved rather than what the plugin defaults to.
244
+ * The Apple Home features the RUNNING plugin has switched on.
245
+ *
246
+ * This deliberately reads the saved plugin config rather than the checkboxes
247
+ * on screen. A tick that has not been saved and had the bridge restarted is
248
+ * not in effect, and a report that says otherwise sends the reader chasing a
249
+ * behaviour the plugin was never exhibiting — which is exactly what happened
250
+ * when a user toggled a setting, exported a report and we both read it as
251
+ * proof the feature was live.
252
+ *
253
+ * @returns {Promise<string>}
247
254
  */
248
- function describeEnabledMatterFeatures() {
255
+ async function describeEnabledMatterFeatures() {
256
+ let config = null;
257
+ try {
258
+ const configs =
259
+ window.homebridge &&
260
+ typeof window.homebridge.getPluginConfig === "function"
261
+ ? await window.homebridge.getPluginConfig()
262
+ : null;
263
+ config = configs
264
+ ? configs.find((entry) => entry.platform === "RoborockVacuumPlatform")
265
+ : null;
266
+ } catch {
267
+ return "unavailable";
268
+ }
269
+
270
+ if (!config) {
271
+ return "unavailable";
272
+ }
273
+
274
+ // Defaults matter here: several of these are on unless explicitly disabled.
249
275
  const enabled = [
250
- ["serviceArea", elements.enableMatterServiceArea],
251
- ["liveRoomTracking", elements.enableLiveRoomTracking],
252
- ["cleanMode", elements.enableMatterCleanMode],
253
- ["fanPowerCleanModes", elements.enableFanPowerCleanModes],
254
- ["powerSource", elements.enableMatterPowerSource],
255
- ["extendedOperationalStates", elements.enableMatterExtendedStates],
256
- ["chargingDockedStates", elements.enableMatterChargingDocked],
257
- ["faultReporting", elements.enableMatterFaultReporting],
276
+ ["serviceArea", config.enableMatterServiceArea !== false],
277
+ ["liveRoomTracking", config.enableLiveRoomTracking !== false],
278
+ ["cleanMode", config.enableMatterCleanMode !== false],
279
+ ["powerSource", config.enableMatterPowerSource !== false],
280
+ ["fanPowerCleanModes", config.enableFanPowerCleanModes === true],
281
+ [
282
+ "extendedOperationalStates",
283
+ config.enableMatterExtendedOperationalStates === true,
284
+ ],
285
+ ["chargingDockedStates", config.enableMatterChargingDockedStates === true],
286
+ ["faultReporting", config.enableMatterFaultReporting === true],
258
287
  ]
259
- .filter(([, element]) => Boolean(element?.checked))
288
+ .filter(([, on]) => on)
260
289
  .map(([name]) => name);
261
290
 
262
- return enabled.length ? enabled.join(", ") : "none enabled";
291
+ const saved = enabled.length ? enabled.join(", ") : "none enabled";
292
+
293
+ // Unsaved edits are the other half of the same trap.
294
+ return hasUnsavedMatterFeatureEdits(config)
295
+ ? `${saved} (WARNING: the settings form has unsaved changes; these are the values the plugin is running)`
296
+ : saved;
297
+ }
298
+
299
+ /** True when a feature checkbox differs from what is saved in the config. */
300
+ function hasUnsavedMatterFeatureEdits(config) {
301
+ const comparisons = [
302
+ [
303
+ elements.enableMatterServiceArea,
304
+ config.enableMatterServiceArea !== false,
305
+ ],
306
+ [elements.enableLiveRoomTracking, config.enableLiveRoomTracking !== false],
307
+ [elements.enableMatterCleanMode, config.enableMatterCleanMode !== false],
308
+ [
309
+ elements.enableMatterPowerSource,
310
+ config.enableMatterPowerSource !== false,
311
+ ],
312
+ [
313
+ elements.enableFanPowerCleanModes,
314
+ config.enableFanPowerCleanModes === true,
315
+ ],
316
+ [
317
+ elements.enableMatterExtendedStates,
318
+ config.enableMatterExtendedOperationalStates === true,
319
+ ],
320
+ [
321
+ elements.enableMatterChargingDocked,
322
+ config.enableMatterChargingDockedStates === true,
323
+ ],
324
+ [
325
+ elements.enableMatterFaultReporting,
326
+ config.enableMatterFaultReporting === true,
327
+ ],
328
+ ];
329
+
330
+ return comparisons.some(
331
+ ([element, savedValue]) =>
332
+ element && Boolean(element.checked) !== savedValue
333
+ );
263
334
  }
264
335
 
265
336
  function getTransientWarningThrottleHours() {
@@ -1030,11 +1101,11 @@ async function copyDiagnosticsReport() {
1030
1101
  return;
1031
1102
  }
1032
1103
 
1033
- await writeClipboard(buildDiagnosticsReport(diagnostics));
1104
+ await writeClipboard(await buildDiagnosticsReport(diagnostics));
1034
1105
  showToast("success", "Redacted diagnostic report copied.");
1035
1106
  }
1036
1107
 
1037
- function buildDiagnosticsReport(result) {
1108
+ async function buildDiagnosticsReport(result) {
1038
1109
  const hasToken = Boolean(result.hasEncryptedToken || state.hasEncryptedToken);
1039
1110
  const lines = [
1040
1111
  "homebridge-roborock-matter diagnostic report",
@@ -1049,7 +1120,7 @@ function buildDiagnosticsReport(result) {
1049
1120
  // "why doesn't Apple Home show X?" — the first question every one of
1050
1121
  // these reports is sent to answer. Guessing cost a full round-trip with
1051
1122
  // a user who had done the test correctly.
1052
- `matterFeatures: ${describeEnabledMatterFeatures()}`,
1123
+ `matterFeatures: ${await describeEnabledMatterFeatures()}`,
1053
1124
  `deviceCount: ${result.deviceCount ?? "unknown"}`,
1054
1125
  "",
1055
1126
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homebridge-roborock-matter",
3
- "version": "3.3.2",
3
+ "version": "3.4.1",
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": {