homebridge-roborock-matter 3.4.0 → 3.4.2
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 +21 -0
- package/README.md +5 -8
- package/config.schema.json +1 -7
- package/dist/matter_vacuum_accessory.js +26 -285
- package/dist/matter_vacuum_accessory.js.map +1 -1
- package/homebridge-ui/public/index.html +5 -18
- package/homebridge-ui/public/index.js +88 -29
- package/package.json +1 -1
- package/roborockLib/lib/b01Q7Adapter.js +26 -0
- package/roborockLib/roborockAPI.js +73 -13
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.4.2
|
|
4
|
+
|
|
5
|
+
**Q7-series robots are no longer asked for things they cannot answer.** Every restart, each Q7-generation robot (`roborock.vacuum.sc05`, `ss07`, and the rest of the B01 family) logged an unsupported-method notice — most visibly for `get_water_box_custom_mode`, and also for `get_timer` and `get_carpet_clean_mode`. The message blamed the robot, and the robot was never involved: the plugin's own send path rejects v1-only requests for B01 devices before anything reaches the network, and the poller then recorded that self-rejection as though the robot had answered it.
|
|
6
|
+
|
|
7
|
+
- **The periodic poller now consults the dialect before asking.** For a B01 robot it skips exactly the requests that have neither a Q7 translation nor a neutral placeholder, and says so once per robot at debug level instead of once per robot as a notice. Classic S- and Q-series robots poll precisely as before.
|
|
8
|
+
- **The check derives from the translation table itself**, not from a hand-written list of method names — a second list would drift the first time a translation was added, and the drift would only ever show up as noise in somebody's log.
|
|
9
|
+
- **The poll-profile line stops promising a water-box probe it will not perform** on a robot whose water tank is filled by hand and has no electronic level to read.
|
|
10
|
+
- **A test enumerates the rule rather than the three reported methods:** for a B01 robot, no periodic poll may be one the dialect cannot answer. Probes added later are covered without anyone having to remember this.
|
|
11
|
+
- Also fixed: the B01 full-chain simulation ran under Jest's 5-second default, which quietly made suite-wide CPU load an implicit assertion — it began failing on an unrelated new test file. Its wall-clock time was never what it set out to verify.
|
|
12
|
+
|
|
13
|
+
## 3.4.1
|
|
14
|
+
|
|
15
|
+
**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.
|
|
16
|
+
|
|
17
|
+
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.
|
|
18
|
+
|
|
19
|
+
- **`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.
|
|
20
|
+
- **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.
|
|
21
|
+
- **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.
|
|
22
|
+
- **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.
|
|
23
|
+
|
|
3
24
|
## 3.4.0
|
|
4
25
|
|
|
5
26
|
**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.
|
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.
|
|
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
|
|
|
@@ -111,20 +111,17 @@ Everything is configurable from the Homebridge UI. The essentials:
|
|
|
111
111
|
| `enableMatterCleanMode` | `true` | Vacuum / Mop / Vacuum + Mop mode selection |
|
|
112
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
113
|
| `enableMatterPowerSource` | `true` | Battery cluster |
|
|
114
|
-
| `enableMatterFaultReporting` | `false` |
|
|
115
|
-
| `enableMatterDockFaultsAsError` | `false` | Also raise dock and tank conditions to the Error state, which is the only way Apple Home appears to draw them ([details](#why-the-robot-needs-attention)) |
|
|
114
|
+
| `enableMatterFaultReporting` | `false` | Report a robot that has genuinely halted as Error instead of Ready ([details](#why-the-robot-needs-attention)) |
|
|
116
115
|
| `cloudOnlyMode` | `false` | Skip local TCP entirely and use the cloud for everything |
|
|
117
116
|
| `transientWarningThrottleHours` | `6` | How often recurring transient-timeout warnings may repeat (0 = only in debug) |
|
|
118
117
|
|
|
119
118
|
## Why the robot needs attention
|
|
120
119
|
|
|
121
|
-
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
|
|
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.
|
|
122
121
|
|
|
123
|
-
Dock and tank conditions —
|
|
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.
|
|
124
123
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
Both settings are off by default. A robot with nothing wrong sends exactly what it sent before the feature existed, and if Matter ever refuses the fault attribute the plugin drops it by itself and logs a warning rather than letting it freeze the tile.
|
|
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.
|
|
128
125
|
|
|
129
126
|
## Battery percentage in Apple Home
|
|
130
127
|
|
package/config.schema.json
CHANGED
|
@@ -112,13 +112,7 @@
|
|
|
112
112
|
},
|
|
113
113
|
"enableMatterFaultReporting": {
|
|
114
114
|
"title": "Report Faults in Apple Home",
|
|
115
|
-
"description": "Show
|
|
116
|
-
"type": "boolean",
|
|
117
|
-
"default": false
|
|
118
|
-
},
|
|
119
|
-
"enableMatterDockFaultsAsError": {
|
|
120
|
-
"title": "Show Dock & Tank Warnings as Errors",
|
|
121
|
-
"description": "Requires Report Faults in Apple Home. Lets a dock or tank condition — empty clean-water tank, full waste-water tank, missing dust bag — put the robot into the Matter Error state. Apple Home appears to show a fault only alongside the Error state, so without this the warning is published but never drawn. The trade-off is real: a robot reporting Error may be refused a Start command by Apple Home even though it could still vacuum. Off by default.",
|
|
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.",
|
|
122
116
|
"type": "boolean",
|
|
123
117
|
"default": false
|
|
124
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,17 +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
|
-
// Whether a real fault has been published and not yet cleared. Keeps the
|
|
359
|
-
// "all clear" write to the one moment it is needed instead of attaching a
|
|
360
|
-
// NoError to every snapshot a healthy robot sends.
|
|
361
|
-
this.publishedNonZeroOperationalError = false;
|
|
362
255
|
this.returnToDockRetryPending = false;
|
|
363
256
|
this.matterStateHeartbeatTimer = null;
|
|
364
257
|
// Serializes every Matter publish so concurrent publishers (live messages,
|
|
@@ -466,15 +359,7 @@ class RoborockMatterVacuumAccessory {
|
|
|
466
359
|
this.accessory.context = {};
|
|
467
360
|
}
|
|
468
361
|
this.accessory.context.duid = duid;
|
|
469
|
-
|
|
470
|
-
// endpoint from, and 1.4.61 removed the plugin's `operationalError` write
|
|
471
|
-
// precisely because Apple Home reacted badly to it there. Keep the
|
|
472
|
-
// declaration byte-identical to a build without fault reporting and let
|
|
473
|
-
// the attribute arrive on the first runtime publish a few seconds later
|
|
474
|
-
// — matter.js supplies the mandatory NoError default in the meantime, so
|
|
475
|
-
// nothing is missing, and a robot that happens to be faulted at
|
|
476
|
-
// Homebridge start can no longer change what gets commissioned.
|
|
477
|
-
this.accessory.clusters = this.stripOperationalError(this.buildClusters());
|
|
362
|
+
this.accessory.clusters = this.buildClusters();
|
|
478
363
|
this.accessory.handlers = this.buildHandlers();
|
|
479
364
|
this.accessory.getState = async (cluster, attribute) => {
|
|
480
365
|
const clusterState = this.buildCluster(cluster);
|
|
@@ -813,14 +698,6 @@ class RoborockMatterVacuumAccessory {
|
|
|
813
698
|
// Drop the record so the cluster is retried on the next snapshot
|
|
814
699
|
// even if its payload is unchanged.
|
|
815
700
|
this.lastPublishedClusterJson.delete(cluster);
|
|
816
|
-
// Opt-in fault reporting must never cost the user their tile. If
|
|
817
|
-
// the payload carried `operationalError` and the write was
|
|
818
|
-
// refused for any reason other than an endpoint that is still
|
|
819
|
-
// coming up, retry immediately without it and stop sending it.
|
|
820
|
-
// The operational state itself then still lands.
|
|
821
|
-
if (await this.retryWithoutOperationalError(matter, cluster, attributes, error)) {
|
|
822
|
-
return;
|
|
823
|
-
}
|
|
824
701
|
failures.push(error);
|
|
825
702
|
this.platform.log.debug(`Matter publish for cluster ${cluster} on ${this.accessory.UUID} failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
826
703
|
}
|
|
@@ -853,38 +730,6 @@ class RoborockMatterVacuumAccessory {
|
|
|
853
730
|
throw error;
|
|
854
731
|
}
|
|
855
732
|
}
|
|
856
|
-
/**
|
|
857
|
-
* Recovery for a rejected `operationalError` write.
|
|
858
|
-
*
|
|
859
|
-
* Returns true when the cluster was successfully re-published without the
|
|
860
|
-
* attribute, in which case the caller must treat the write as a success —
|
|
861
|
-
* the operational state landed, only the optional fault detail was dropped.
|
|
862
|
-
* Returns false for payloads that never carried the attribute, for an
|
|
863
|
-
* endpoint that is merely still initializing (that has its own retry, and
|
|
864
|
-
* disabling a feature over a transient startup race would be wrong), and
|
|
865
|
-
* when the retry fails too.
|
|
866
|
-
*/
|
|
867
|
-
async retryWithoutOperationalError(matter, cluster, attributes, error) {
|
|
868
|
-
if (!("operationalError" in attributes) ||
|
|
869
|
-
this.isMatterInitializingError(error)) {
|
|
870
|
-
return false;
|
|
871
|
-
}
|
|
872
|
-
const { operationalError: _rejected, ...withoutError } = attributes;
|
|
873
|
-
try {
|
|
874
|
-
await matter.updateAccessoryState(this.accessory.UUID, cluster, withoutError);
|
|
875
|
-
}
|
|
876
|
-
catch (_a) {
|
|
877
|
-
// The write was failing for some other reason. Leave the feature alone
|
|
878
|
-
// and let the caller record a normal failure.
|
|
879
|
-
return false;
|
|
880
|
-
}
|
|
881
|
-
if (!this.faultReportingRejected) {
|
|
882
|
-
this.faultReportingRejected = true;
|
|
883
|
-
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)}`);
|
|
884
|
-
}
|
|
885
|
-
this.lastPublishedClusterJson.set(cluster, JSON.stringify(withoutError));
|
|
886
|
-
return true;
|
|
887
|
-
}
|
|
888
733
|
/**
|
|
889
734
|
* Publish a full Roborock cluster snapshot, performing a one-time battery
|
|
890
735
|
* resync per boot first. Matter controllers filter attribute reports by
|
|
@@ -1031,19 +876,6 @@ class RoborockMatterVacuumAccessory {
|
|
|
1031
876
|
}
|
|
1032
877
|
return this.applyOptimisticState(clusters);
|
|
1033
878
|
}
|
|
1034
|
-
/**
|
|
1035
|
-
* A copy of a cluster snapshot with the optional fault attribute removed,
|
|
1036
|
-
* for the one payload where its presence is a commissioning risk rather
|
|
1037
|
-
* than useful information.
|
|
1038
|
-
*/
|
|
1039
|
-
stripOperationalError(clusters) {
|
|
1040
|
-
const operationalState = clusters.rvcOperationalState;
|
|
1041
|
-
if (!operationalState || !("operationalError" in operationalState)) {
|
|
1042
|
-
return clusters;
|
|
1043
|
-
}
|
|
1044
|
-
const { operationalError: _omitted, ...rest } = operationalState;
|
|
1045
|
-
return { ...clusters, rvcOperationalState: rest };
|
|
1046
|
-
}
|
|
1047
879
|
buildCluster(cluster) {
|
|
1048
880
|
var _a;
|
|
1049
881
|
let clusterState;
|
|
@@ -1368,7 +1200,6 @@ class RoborockMatterVacuumAccessory {
|
|
|
1368
1200
|
}
|
|
1369
1201
|
}
|
|
1370
1202
|
buildOperationalStateCluster() {
|
|
1371
|
-
var _a;
|
|
1372
1203
|
const operationalState = this.getOperationalState();
|
|
1373
1204
|
const cluster = {
|
|
1374
1205
|
// RVC Operational State requires PhaseList and CurrentPhase to be null.
|
|
@@ -1380,41 +1211,23 @@ class RoborockMatterVacuumAccessory {
|
|
|
1380
1211
|
operationalStateList: this.getOperationalStateList().map((operationalStateId) => ({ operationalStateId })),
|
|
1381
1212
|
operationalState,
|
|
1382
1213
|
};
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
// while the robot really is in ERROR, plus exactly one NoError write to
|
|
1401
|
-
// clear a fault that was previously published.
|
|
1402
|
-
const operationalError = operationalState === RVC_OPERATIONAL_STATE.ERROR
|
|
1403
|
-
? (_a = this.buildOperationalError()) !== null && _a !== void 0 ? _a : {
|
|
1404
|
-
// The robot says it has halted but named no code. Saying
|
|
1405
|
-
// "error, but no error" is worse than a truthful vague answer.
|
|
1406
|
-
errorStateId: RVC_ERROR_STATE.UNABLE_TO_COMPLETE_OPERATION,
|
|
1407
|
-
}
|
|
1408
|
-
: null;
|
|
1409
|
-
if (operationalError) {
|
|
1410
|
-
cluster.operationalError = operationalError;
|
|
1411
|
-
this.publishedNonZeroOperationalError = true;
|
|
1412
|
-
}
|
|
1413
|
-
else if (this.publishedNonZeroOperationalError) {
|
|
1414
|
-
cluster.operationalError = { errorStateId: RVC_ERROR_STATE.NO_ERROR };
|
|
1415
|
-
this.publishedNonZeroOperationalError = false;
|
|
1416
|
-
}
|
|
1417
|
-
}
|
|
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.
|
|
1418
1231
|
return cluster;
|
|
1419
1232
|
}
|
|
1420
1233
|
buildPowerSourceCluster(batteryValue, chargeStatusValue, stateValue) {
|
|
@@ -1989,74 +1802,12 @@ class RoborockMatterVacuumAccessory {
|
|
|
1989
1802
|
return (this.platform.platformConfig.enableMatterChargingDockedStates === true);
|
|
1990
1803
|
}
|
|
1991
1804
|
/**
|
|
1992
|
-
* Opt-in
|
|
1993
|
-
*
|
|
1994
|
-
*
|
|
1995
|
-
* controller — so a spurious fault would cost the user their tile. The
|
|
1996
|
-
* write also self-disables at runtime if Matter rejects it
|
|
1997
|
-
* (`faultReportingRejected`), which keeps a bad payload from taking the
|
|
1998
|
-
* 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.
|
|
1999
1808
|
*/
|
|
2000
1809
|
isFaultReportingEnabled() {
|
|
2001
|
-
return
|
|
2002
|
-
!this.faultReportingRejected);
|
|
2003
|
-
}
|
|
2004
|
-
/**
|
|
2005
|
-
* Opt-in on top of fault reporting: let a dock or tank condition raise the
|
|
2006
|
-
* tile to ERROR. Separate from the main switch because it is the one that
|
|
2007
|
-
* can make a working robot unstartable from Apple Home.
|
|
2008
|
-
*/
|
|
2009
|
-
isDockFaultEscalationEnabled() {
|
|
2010
|
-
return this.platform.platformConfig.enableMatterDockFaultsAsError === true;
|
|
2011
|
-
}
|
|
2012
|
-
/**
|
|
2013
|
-
* Map the robot's current condition onto a Matter ErrorStateStruct, or null
|
|
2014
|
-
* when nothing is wrong.
|
|
2015
|
-
*
|
|
2016
|
-
* `errorStateLabel` is deliberately never set. The Matter spec only allows
|
|
2017
|
-
* it for manufacturer-range IDs, and labels on standard IDs are exactly
|
|
2018
|
-
* what wedged Apple Home at "Connecting" in 1.4.40 — `errorStateDetails` is
|
|
2019
|
-
* the field that may carry free text alongside a standard ID.
|
|
2020
|
-
*/
|
|
2021
|
-
buildOperationalError() {
|
|
2022
|
-
var _a, _b, _c;
|
|
2023
|
-
// The robot's own fault takes precedence over a dock consumable: if it is
|
|
2024
|
-
// stuck under the sofa, that is what the user needs to be told.
|
|
2025
|
-
const errorCode = this.getNumberStatus("error_code");
|
|
2026
|
-
if (errorCode !== null && errorCode !== 0) {
|
|
2027
|
-
return {
|
|
2028
|
-
errorStateId: (_a = ROBOROCK_ERROR_TO_MATTER.get(errorCode)) !== null && _a !== void 0 ? _a : RVC_ERROR_STATE.UNABLE_TO_COMPLETE_OPERATION,
|
|
2029
|
-
errorStateDetails: this.describeRoborockError(errorCode),
|
|
2030
|
-
};
|
|
2031
|
-
}
|
|
2032
|
-
const dockErrorStatus = this.getNumberStatus("dock_error_status");
|
|
2033
|
-
if (dockErrorStatus !== null && dockErrorStatus !== 0) {
|
|
2034
|
-
const mapped = ROBOROCK_DOCK_ERROR_TO_MATTER.get(dockErrorStatus);
|
|
2035
|
-
return {
|
|
2036
|
-
errorStateId: (_b = mapped === null || mapped === void 0 ? void 0 : mapped.errorStateId) !== null && _b !== void 0 ? _b : RVC_ERROR_STATE.UNABLE_TO_COMPLETE_OPERATION,
|
|
2037
|
-
errorStateDetails: (_c = mapped === null || mapped === void 0 ? void 0 : mapped.details) !== null && _c !== void 0 ? _c : `Dock error ${dockErrorStatus}`,
|
|
2038
|
-
};
|
|
2039
|
-
}
|
|
2040
|
-
// Onboard tank ran dry mid-mop. This flag is set by the robot only when
|
|
2041
|
-
// water is actually wanted, so it does not fire on a vacuum-only run.
|
|
2042
|
-
if (this.getNumberStatus("water_shortage_status") === 1) {
|
|
2043
|
-
return {
|
|
2044
|
-
errorStateId: RVC_ERROR_STATE.WATER_TANK_EMPTY,
|
|
2045
|
-
errorStateDetails: "Water tank empty",
|
|
2046
|
-
};
|
|
2047
|
-
}
|
|
2048
|
-
// Deliberately NOT reported as faults: `water_box_status` and
|
|
2049
|
-
// `water_box_carriage_status` being 0. A detached tank or mop pad is the
|
|
2050
|
-
// normal, correct configuration for a vacuum-only run, so treating them
|
|
2051
|
-
// as errors would put a permanent warning on every dry robot's tile.
|
|
2052
|
-
return null;
|
|
2053
|
-
}
|
|
2054
|
-
describeRoborockError(errorCode) {
|
|
2055
|
-
var _a, _b;
|
|
2056
|
-
const description = (_b = (_a = this.api).getErrorCodeDescription) === null || _b === void 0 ? void 0 : _b.call(_a, errorCode);
|
|
2057
|
-
return typeof description === "string" && description.length > 0
|
|
2058
|
-
? description
|
|
2059
|
-
: `Roborock error ${errorCode}`;
|
|
1810
|
+
return this.platform.platformConfig.enableMatterFaultReporting === true;
|
|
2060
1811
|
}
|
|
2061
1812
|
/**
|
|
2062
1813
|
* Battery percentage at which a docked robot switches from Charging to
|
|
@@ -2132,20 +1883,10 @@ class RoborockMatterVacuumAccessory {
|
|
|
2132
1883
|
getOperationalState(state = this.getNumberStatus("state"), chargeStatus = this.getNumberStatus("charge_status")) {
|
|
2133
1884
|
const operationalState = this.getRoborockOperationalState(state, chargeStatus);
|
|
2134
1885
|
const controllerState = this.toControllerOperationalState(operationalState);
|
|
2135
|
-
//
|
|
2136
|
-
//
|
|
2137
|
-
//
|
|
2138
|
-
//
|
|
2139
|
-
// is what the field test on an S8 Pro Ultra with an empty clean water
|
|
2140
|
-
// tank showed. This switch trades the other way for people who would
|
|
2141
|
-
// rather see the warning, and it is the only way the tank indicator can
|
|
2142
|
-
// reach the tile at all.
|
|
2143
|
-
if (controllerState !== RVC_OPERATIONAL_STATE.ERROR &&
|
|
2144
|
-
this.isFaultReportingEnabled() &&
|
|
2145
|
-
this.isDockFaultEscalationEnabled() &&
|
|
2146
|
-
this.buildOperationalError() !== null) {
|
|
2147
|
-
return RVC_OPERATIONAL_STATE.ERROR;
|
|
2148
|
-
}
|
|
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.
|
|
2149
1890
|
return controllerState;
|
|
2150
1891
|
}
|
|
2151
1892
|
getRoborockOperationalState(state, chargeStatus) {
|
|
@@ -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,28 +235,15 @@
|
|
|
235
235
|
<span>
|
|
236
236
|
Report faults in Apple Home
|
|
237
237
|
<small
|
|
238
|
-
>
|
|
239
|
-
|
|
240
|
-
battery
|
|
241
|
-
|
|
238
|
+
>Shows a robot that has genuinely stopped working as Error instead of
|
|
239
|
+
Ready — 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
|
|
242
243
|
>
|
|
243
244
|
</span>
|
|
244
245
|
</label>
|
|
245
246
|
|
|
246
|
-
<label class="checkbox">
|
|
247
|
-
<input id="enable-matter-dock-faults-as-error" type="checkbox" />
|
|
248
|
-
<span>
|
|
249
|
-
Show dock & tank warnings as errors
|
|
250
|
-
<small
|
|
251
|
-
>Requires the setting above. Lets an empty clean-water tank, a full
|
|
252
|
-
waste-water tank or a missing dust bag put the robot into Error. Apple
|
|
253
|
-
Home appears to draw a fault only alongside the Error state, so
|
|
254
|
-
without this the warning is sent but never shown — and with it,
|
|
255
|
-
a robot that could still vacuum may be refused a Start command. Off by
|
|
256
|
-
default.</small
|
|
257
|
-
>
|
|
258
|
-
</span>
|
|
259
|
-
</label>
|
|
260
247
|
<label class="field">
|
|
261
248
|
<span>Charged Battery Threshold (%)</span>
|
|
262
249
|
<input
|
|
@@ -29,9 +29,6 @@ const elements = {
|
|
|
29
29
|
enableMatterFaultReporting: document.getElementById(
|
|
30
30
|
"enable-matter-fault-reporting"
|
|
31
31
|
),
|
|
32
|
-
enableMatterDockFaultsAsError: document.getElementById(
|
|
33
|
-
"enable-matter-dock-faults-as-error"
|
|
34
|
-
),
|
|
35
32
|
matterChargedBatteryThreshold: document.getElementById(
|
|
36
33
|
"matter-charged-battery-threshold"
|
|
37
34
|
),
|
|
@@ -184,11 +181,6 @@ async function loadConfig() {
|
|
|
184
181
|
config.enableMatterFaultReporting
|
|
185
182
|
);
|
|
186
183
|
}
|
|
187
|
-
if (elements.enableMatterDockFaultsAsError) {
|
|
188
|
-
elements.enableMatterDockFaultsAsError.checked = Boolean(
|
|
189
|
-
config.enableMatterDockFaultsAsError
|
|
190
|
-
);
|
|
191
|
-
}
|
|
192
184
|
if (elements.matterChargedBatteryThreshold) {
|
|
193
185
|
elements.matterChargedBatteryThreshold.value =
|
|
194
186
|
config.matterChargedBatteryThreshold != null
|
|
@@ -249,26 +241,96 @@ function getCloudOnlyMode() {
|
|
|
249
241
|
}
|
|
250
242
|
|
|
251
243
|
/**
|
|
252
|
-
* The Apple Home features
|
|
253
|
-
*
|
|
254
|
-
*
|
|
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>}
|
|
255
254
|
*/
|
|
256
|
-
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.
|
|
257
275
|
const enabled = [
|
|
258
|
-
["serviceArea",
|
|
259
|
-
["liveRoomTracking",
|
|
260
|
-
["cleanMode",
|
|
261
|
-
["
|
|
262
|
-
["
|
|
263
|
-
[
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
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],
|
|
267
287
|
]
|
|
268
|
-
.filter(([,
|
|
288
|
+
.filter(([, on]) => on)
|
|
269
289
|
.map(([name]) => name);
|
|
270
290
|
|
|
271
|
-
|
|
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
|
+
);
|
|
272
334
|
}
|
|
273
335
|
|
|
274
336
|
function getTransientWarningThrottleHours() {
|
|
@@ -312,9 +374,6 @@ function getFormValues() {
|
|
|
312
374
|
enableMatterFaultReporting: Boolean(
|
|
313
375
|
elements.enableMatterFaultReporting?.checked
|
|
314
376
|
),
|
|
315
|
-
enableMatterDockFaultsAsError: Boolean(
|
|
316
|
-
elements.enableMatterDockFaultsAsError?.checked
|
|
317
|
-
),
|
|
318
377
|
matterChargedBatteryThreshold: getMatterChargedBatteryThreshold(),
|
|
319
378
|
preferCloudForMatterCommands: getPreferCloudForMatterCommands(),
|
|
320
379
|
cloudOnlyMode: getCloudOnlyMode(),
|
|
@@ -1042,11 +1101,11 @@ async function copyDiagnosticsReport() {
|
|
|
1042
1101
|
return;
|
|
1043
1102
|
}
|
|
1044
1103
|
|
|
1045
|
-
await writeClipboard(buildDiagnosticsReport(diagnostics));
|
|
1104
|
+
await writeClipboard(await buildDiagnosticsReport(diagnostics));
|
|
1046
1105
|
showToast("success", "Redacted diagnostic report copied.");
|
|
1047
1106
|
}
|
|
1048
1107
|
|
|
1049
|
-
function buildDiagnosticsReport(result) {
|
|
1108
|
+
async function buildDiagnosticsReport(result) {
|
|
1050
1109
|
const hasToken = Boolean(result.hasEncryptedToken || state.hasEncryptedToken);
|
|
1051
1110
|
const lines = [
|
|
1052
1111
|
"homebridge-roborock-matter diagnostic report",
|
|
@@ -1061,7 +1120,7 @@ function buildDiagnosticsReport(result) {
|
|
|
1061
1120
|
// "why doesn't Apple Home show X?" — the first question every one of
|
|
1062
1121
|
// these reports is sent to answer. Guessing cost a full round-trip with
|
|
1063
1122
|
// a user who had done the test correctly.
|
|
1064
|
-
`matterFeatures: ${describeEnabledMatterFeatures()}`,
|
|
1123
|
+
`matterFeatures: ${await describeEnabledMatterFeatures()}`,
|
|
1065
1124
|
`deviceCount: ${result.deviceCount ?? "unknown"}`,
|
|
1066
1125
|
"",
|
|
1067
1126
|
];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-roborock-matter",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.2",
|
|
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": {
|
|
@@ -714,6 +714,31 @@ function neutralResponse(method) {
|
|
|
714
714
|
return factory ? { value: factory() } : undefined;
|
|
715
715
|
}
|
|
716
716
|
|
|
717
|
+
/**
|
|
718
|
+
* True when a v1-shaped request has *any* answer on a Q7 robot — a real
|
|
719
|
+
* translation or a neutral placeholder. Everything else is rejected by the
|
|
720
|
+
* send choke point in messageQueueHandler with a B01_METHOD_UNSUPPORTED
|
|
721
|
+
* error, so the periodic poller can consult this instead of asking for
|
|
722
|
+
* something the plugin already knows will fail.
|
|
723
|
+
*
|
|
724
|
+
* Derived from the same two sources the choke point uses, deliberately: a
|
|
725
|
+
* separate hand-written list would drift the first time a translation is
|
|
726
|
+
* added, and the drift would only show up as noise in a user's log.
|
|
727
|
+
* @param {string} method
|
|
728
|
+
* @returns {boolean}
|
|
729
|
+
*/
|
|
730
|
+
function canAnswerV1Method(method) {
|
|
731
|
+
if (NEUTRAL_RESPONSES.has(method)) {
|
|
732
|
+
return true;
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
try {
|
|
736
|
+
return Boolean(translateOutgoing(method, []));
|
|
737
|
+
} catch {
|
|
738
|
+
return false;
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
|
|
717
742
|
/**
|
|
718
743
|
* Map a Q7 `prop.get` status payload to v1-shaped status fields.
|
|
719
744
|
* Fixture reference: {"status":4,"quantity":87,"fault":0,...}
|
|
@@ -796,5 +821,6 @@ module.exports = {
|
|
|
796
821
|
createB01MessageId,
|
|
797
822
|
translateOutgoing,
|
|
798
823
|
neutralResponse,
|
|
824
|
+
canAnswerV1Method,
|
|
799
825
|
mapStatusToV1,
|
|
800
826
|
};
|
|
@@ -201,6 +201,7 @@ class Roborock {
|
|
|
201
201
|
// repeated warnings for requests they will never answer.
|
|
202
202
|
this.unsupportedPollCommands = new Set();
|
|
203
203
|
this.loggedPollProfiles = new Set();
|
|
204
|
+
this.skippedDialectPolls = new Set();
|
|
204
205
|
this.baseURL = options.baseURL || "usiot.roborock.com";
|
|
205
206
|
|
|
206
207
|
this.userData = options.userData || null;
|
|
@@ -2470,6 +2471,29 @@ class Roborock {
|
|
|
2470
2471
|
return true;
|
|
2471
2472
|
}
|
|
2472
2473
|
|
|
2474
|
+
/**
|
|
2475
|
+
* Poll one v1 parameter, unless the robot speaks a dialect that has no
|
|
2476
|
+
* answer for it. Every periodic probe goes through here so the rule holds
|
|
2477
|
+
* for probes added later, not just the three that were reported.
|
|
2478
|
+
* @param {string} duid @param {any} vacuum @param {string} method
|
|
2479
|
+
* @param {boolean} isB01
|
|
2480
|
+
* @returns {Promise<any>}
|
|
2481
|
+
*/
|
|
2482
|
+
async pollParameter(duid, vacuum, method, isB01) {
|
|
2483
|
+
if (isB01 && !b01Q7Adapter.canAnswerV1Method(method)) {
|
|
2484
|
+
const key = `${duid}:${method}`;
|
|
2485
|
+
if (!this.skippedDialectPolls.has(key)) {
|
|
2486
|
+
this.skippedDialectPolls.add(key);
|
|
2487
|
+
this.log.debug(
|
|
2488
|
+
`Not polling '${method}' for ${this.describeDevice(duid)}: the Q7/B01 dialect has no equivalent request, so the robot could only ever reject it.`
|
|
2489
|
+
);
|
|
2490
|
+
}
|
|
2491
|
+
return undefined;
|
|
2492
|
+
}
|
|
2493
|
+
|
|
2494
|
+
return vacuum.getParameter(duid, method);
|
|
2495
|
+
}
|
|
2496
|
+
|
|
2473
2497
|
startMainUpdateInterval(duid, online) {
|
|
2474
2498
|
if (!this.hasInitializedVacuum(duid)) {
|
|
2475
2499
|
return;
|
|
@@ -2628,18 +2652,26 @@ class Roborock {
|
|
|
2628
2652
|
this.log.debug(`Latest data requested`);
|
|
2629
2653
|
|
|
2630
2654
|
if (this.isSupportedVacuumModel(robotModel)) {
|
|
2655
|
+
// Q7-series robots speak the B01 dialect, where a good half of the v1
|
|
2656
|
+
// poll chain has no equivalent request at all. Asking anyway produced
|
|
2657
|
+
// an "unsupported" notice per robot per restart for a request the
|
|
2658
|
+
// plugin itself rejected before it ever reached the robot.
|
|
2659
|
+
const isB01 = b01Q7Adapter.isB01Protocol(
|
|
2660
|
+
await this.getRobotVersion(duid)
|
|
2661
|
+
);
|
|
2662
|
+
|
|
2631
2663
|
const refreshedServiceAreaRooms =
|
|
2632
2664
|
await this.refreshMatterServiceAreaRoomMappings(duid, vacuum);
|
|
2633
2665
|
|
|
2634
2666
|
if (!refreshedServiceAreaRooms) {
|
|
2635
|
-
await
|
|
2667
|
+
await this.pollParameter(duid, vacuum, "get_room_mapping", isB01);
|
|
2636
2668
|
}
|
|
2637
2669
|
|
|
2638
|
-
await
|
|
2670
|
+
await this.pollParameter(duid, vacuum, "get_consumable", isB01);
|
|
2639
2671
|
|
|
2640
|
-
await
|
|
2672
|
+
await this.pollParameter(duid, vacuum, "get_server_timer", isB01);
|
|
2641
2673
|
|
|
2642
|
-
await
|
|
2674
|
+
await this.pollParameter(duid, vacuum, "get_timer", isB01);
|
|
2643
2675
|
|
|
2644
2676
|
await this.checkForNewFirmware(duid);
|
|
2645
2677
|
|
|
@@ -2657,13 +2689,28 @@ class Roborock {
|
|
|
2657
2689
|
//do nothing
|
|
2658
2690
|
break;
|
|
2659
2691
|
case "roborock.vacuum.s6":
|
|
2660
|
-
await
|
|
2692
|
+
await this.pollParameter(duid, vacuum, "get_carpet_mode", isB01);
|
|
2661
2693
|
break;
|
|
2662
2694
|
case "roborock.vacuum.a27":
|
|
2663
|
-
await
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2695
|
+
await this.pollParameter(
|
|
2696
|
+
duid,
|
|
2697
|
+
vacuum,
|
|
2698
|
+
"get_dust_collection_switch_status",
|
|
2699
|
+
isB01
|
|
2700
|
+
);
|
|
2701
|
+
await this.pollParameter(duid, vacuum, "get_wash_towel_mode", isB01);
|
|
2702
|
+
await this.pollParameter(
|
|
2703
|
+
duid,
|
|
2704
|
+
vacuum,
|
|
2705
|
+
"get_smart_wash_params",
|
|
2706
|
+
isB01
|
|
2707
|
+
);
|
|
2708
|
+
await this.pollParameter(
|
|
2709
|
+
duid,
|
|
2710
|
+
vacuum,
|
|
2711
|
+
"app_get_dryer_setting",
|
|
2712
|
+
isB01
|
|
2713
|
+
);
|
|
2667
2714
|
break;
|
|
2668
2715
|
default: {
|
|
2669
2716
|
// No dedicated poll profile for this model: derive it from the
|
|
@@ -2675,18 +2722,31 @@ class Roborock {
|
|
|
2675
2722
|
const carpetSupported = featureList
|
|
2676
2723
|
? Boolean(featureList.isCarpetSupported)
|
|
2677
2724
|
: true;
|
|
2725
|
+
const waterBoxProbe =
|
|
2726
|
+
!isB01 ||
|
|
2727
|
+
b01Q7Adapter.canAnswerV1Method("get_water_box_custom_mode");
|
|
2678
2728
|
const profileKey = `${duid}:${robotModel}`;
|
|
2679
2729
|
if (!this.loggedPollProfiles.has(profileKey)) {
|
|
2680
2730
|
this.loggedPollProfiles.add(profileKey);
|
|
2681
2731
|
this.log.info(
|
|
2682
|
-
`No dedicated poll profile for model '${robotModel}'; using ${featureList ? "capability-derived" : "generic"} polls (carpet=${carpetSupported ? "yes" : "no"}, water-box probe
|
|
2732
|
+
`No dedicated poll profile for model '${robotModel}'; using ${featureList ? "capability-derived" : "generic"} polls (carpet=${carpetSupported ? "yes" : "no"}, water-box probe=${waterBoxProbe ? "yes" : "no, the Q7/B01 dialect has no such request"}). Requests the robot reports as unsupported are disabled automatically. If states look wrong for this model, please open a model report issue on GitHub.`
|
|
2683
2733
|
);
|
|
2684
2734
|
}
|
|
2685
2735
|
if (carpetSupported) {
|
|
2686
|
-
await
|
|
2687
|
-
await
|
|
2736
|
+
await this.pollParameter(duid, vacuum, "get_carpet_mode", isB01);
|
|
2737
|
+
await this.pollParameter(
|
|
2738
|
+
duid,
|
|
2739
|
+
vacuum,
|
|
2740
|
+
"get_carpet_clean_mode",
|
|
2741
|
+
isB01
|
|
2742
|
+
);
|
|
2688
2743
|
}
|
|
2689
|
-
await
|
|
2744
|
+
await this.pollParameter(
|
|
2745
|
+
duid,
|
|
2746
|
+
vacuum,
|
|
2747
|
+
"get_water_box_custom_mode",
|
|
2748
|
+
isB01
|
|
2749
|
+
);
|
|
2690
2750
|
}
|
|
2691
2751
|
}
|
|
2692
2752
|
} else {
|