homebridge-roborock-matter 3.21.3 → 3.22.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 +41 -0
- package/README.md +2 -2
- package/dist/hap_schedule_accessory.js +441 -60
- package/dist/hap_schedule_accessory.js.map +1 -1
- package/dist/platform.js +7 -1
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
- package/roborockLib/lib/describeReplyRefusal.js +55 -1
- package/roborockLib/lib/localConnector.js +7 -3
- package/roborockLib/lib/roborock_mqtt_connector.js +7 -3
- package/roborockLib/roborockAPI.js +28 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.22.0
|
|
4
|
+
|
|
5
|
+
**Schedule reads cost far fewer cloud calls, and the queue that makes that possible could deadlock itself.**
|
|
6
|
+
|
|
7
|
+
pponce contributed #23, which cuts the cloud traffic HomeKit schedule operations generate. The schedule snapshot is now cached for 5 minutes instead of 1, read failures back off progressively (1m → 2m → 5m → 15m → 1h, with 10% jitter) instead of retrying every 30 seconds, rapid switch toggles inside a 500ms window are coalesced so only the last value for a schedule is sent, all schedule traffic for an account is serialised through one queue with 500ms spacing, and an explicit rate-limit answer from Roborock pauses that account's schedule traffic for 65 minutes rather than hammering it. For an account with several vacuums this is the difference between a steady stream of requests and a handful.
|
|
8
|
+
|
|
9
|
+
**The defect found while reviewing it, and fixed here.** A write batch runs inside the account queue and verifies itself afterwards by refreshing. That verification refresh is told the queue is already held, so it reads directly instead of queueing behind itself — correct. But a refresh may _adopt_ another refresh that is already in flight, and an ordinary HomeKit read of a schedule switch starts one that does **not** hold the queue. With a schedule snapshot older than the cache, a single `onGet` during a write was enough:
|
|
10
|
+
|
|
11
|
+
- the HomeKit read's refresh takes a place in the queue **behind** the running batch;
|
|
12
|
+
- the batch finishes writing, waits, and adopts that refresh as its verification;
|
|
13
|
+
- the refresh cannot start until the batch releases the queue, and the batch cannot release it until the refresh returns.
|
|
14
|
+
|
|
15
|
+
Nothing below the queue could break this. The timeouts that make the queue safe apply to requests that have been issued, and this read was never issued — there was nothing to expire. Both promises stayed pending forever: the HomeKit switch never answered, and the account queue was wedged for **every** vacuum on the account until Homebridge restarted.
|
|
16
|
+
|
|
17
|
+
A caller holding the queue now refuses to adopt a refresh that does not hold it, and starts its own instead. Separately, a refresh that has been superseded while waiting in the queue no longer spends a cloud request when its turn comes — the generation guards already barred it from storing the result, so the request was pure waste.
|
|
18
|
+
|
|
19
|
+
## 3.21.4
|
|
20
|
+
|
|
21
|
+
**The refusal 3.21.3 made visible was then reported as a plugin crash, twice per poll cycle, forever.**
|
|
22
|
+
|
|
23
|
+
DSimeone1989 ran 3.21.3 and sent the line it was written to produce. His Saros 10R answers:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Cloud message with protocol 102 and id 5 received. No result; reply was {"id":5,"error":{"code":-10007,"message":"Not FCC robot"}}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
That is the answer: the robot's firmware declines `get_server_timer` outright. The fix worked. What it also produced was this, every poll cycle, for a robot behaving exactly as intended:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
Failed to execute get_server_timer on robot Rocky (roborock.vacuum.a144): Error: The robot refused get_server_timer (cloud id 5): Not FCC robot (code -10007)
|
|
33
|
+
at MqttClient.<anonymous> (…/roborock_mqtt_connector.js:420:17)
|
|
34
|
+
at MqttClient.emit (node:events:514:28)
|
|
35
|
+
… eight more frames
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
**A stated refusal was thrown as a bare `Error`.** It carried no code, so it matched none of `catchError`'s calm branches and fell through to the final `else`, which logs `error.stack`. The stack names our own MQTT handler and describes nothing that went wrong. Because the schedule coordinator and the generic poll both ask, it was emitted twice per cycle, indefinitely.
|
|
39
|
+
|
|
40
|
+
**A refusal the robot spelled out is now a capability fact, not a failure.** It is tagged where it is constructed, carries the robot's own error code, is reported once per robot per method so the owner learns why a feature is missing, and then drops to debug. It never carries a stack trace and never escalates to `log.error`.
|
|
41
|
+
|
|
42
|
+
Deliberately narrow: transport failures are untouched. A robot that is unreachable, a dead cloud link and a missing local socket all keep their existing loud paths — quieting those would tell an owner nothing is wrong while their robot is offline.
|
|
43
|
+
|
|
3
44
|
## 3.21.3
|
|
4
45
|
|
|
5
46
|
**A robot that refuses a request was reported as a robot that answered nothing.**
|
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. 1760 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
|
|
|
@@ -257,7 +257,7 @@ The complete path — robot → plugin → Homebridge → matter.js store — wa
|
|
|
257
257
|
|
|
258
258
|
## Contributing
|
|
259
259
|
|
|
260
|
-
Model reports, diagnostics exports, and pull requests are very welcome. The codebase ships with
|
|
260
|
+
Model reports, diagnostics exports, and pull requests are very welcome. The codebase ships with 1760 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.
|
|
261
261
|
|
|
262
262
|
## Support the project
|
|
263
263
|
|
|
@@ -1,17 +1,221 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HAP_SCHEDULE_EXTENSION = exports.HAP_EXTENSION_KIND = void 0;
|
|
3
|
+
exports.ScheduleWriteBatcher = exports.ScheduleAccountCoordinator = exports.ScheduleWriteQueue = exports.HAP_SCHEDULE_EXTENSION = exports.HAP_EXTENSION_KIND = exports.DEFAULT_SCHEDULE_POLICY = void 0;
|
|
4
|
+
exports.scheduleFailureBackoffMs = scheduleFailureBackoffMs;
|
|
5
|
+
exports.isDefiniteScheduleThrottle = isDefiniteScheduleThrottle;
|
|
4
6
|
exports.parseServerTimers = parseServerTimers;
|
|
5
7
|
exports.isHapScheduleAccessory = isHapScheduleAccessory;
|
|
6
8
|
const hap_schedule_api_1 = require("./hap_schedule_api");
|
|
7
9
|
const timers_1 = require("./timers");
|
|
8
10
|
const VERIFY_DELAY_MS = 3000;
|
|
9
11
|
const WRITE_SUPPRESSION_MS = 5000;
|
|
10
|
-
const SCHEDULE_CACHE_TTL_MS = 60 * 1000;
|
|
11
|
-
const
|
|
12
|
+
const SCHEDULE_CACHE_TTL_MS = 5 * 60 * 1000;
|
|
13
|
+
const SCHEDULE_FAILURE_BACKOFF_STEPS_MS = [
|
|
14
|
+
60 * 1000,
|
|
15
|
+
2 * 60 * 1000,
|
|
16
|
+
5 * 60 * 1000,
|
|
17
|
+
15 * 60 * 1000,
|
|
18
|
+
60 * 60 * 1000,
|
|
19
|
+
];
|
|
20
|
+
const SCHEDULE_FAILURE_JITTER_RATIO = 0.1;
|
|
21
|
+
const SCHEDULE_WRITE_BATCH_WINDOW_MS = 500;
|
|
22
|
+
const SCHEDULE_WRITE_SPACING_MS = 500;
|
|
23
|
+
const SCHEDULE_THROTTLE_COOLDOWN_MS = 65 * 60 * 1000;
|
|
12
24
|
const SERVICE_PREFIX = "roborock-schedule-";
|
|
25
|
+
exports.DEFAULT_SCHEDULE_POLICY = {
|
|
26
|
+
cacheTtlMs: SCHEDULE_CACHE_TTL_MS,
|
|
27
|
+
batchWindowMs: SCHEDULE_WRITE_BATCH_WINDOW_MS,
|
|
28
|
+
writeSpacingMs: SCHEDULE_WRITE_SPACING_MS,
|
|
29
|
+
throttleCooldownMs: SCHEDULE_THROTTLE_COOLDOWN_MS,
|
|
30
|
+
};
|
|
13
31
|
exports.HAP_EXTENSION_KIND = "hapExtension";
|
|
14
32
|
exports.HAP_SCHEDULE_EXTENSION = "schedules";
|
|
33
|
+
function scheduleFailureBackoffMs(consecutiveFailures, randomValue = Math.random()) {
|
|
34
|
+
const failureIndex = Math.max(0, Math.floor(consecutiveFailures) - 1);
|
|
35
|
+
const baseDelay = SCHEDULE_FAILURE_BACKOFF_STEPS_MS[Math.min(failureIndex, SCHEDULE_FAILURE_BACKOFF_STEPS_MS.length - 1)];
|
|
36
|
+
const boundedRandom = Math.min(1, Math.max(0, randomValue));
|
|
37
|
+
const jitterFactor = 1 + (boundedRandom * 2 - 1) * SCHEDULE_FAILURE_JITTER_RATIO;
|
|
38
|
+
return Math.round(baseDelay * jitterFactor);
|
|
39
|
+
}
|
|
40
|
+
function isDefiniteScheduleThrottle(error) {
|
|
41
|
+
const candidates = [error];
|
|
42
|
+
const visited = new Set();
|
|
43
|
+
while (candidates.length > 0) {
|
|
44
|
+
const candidate = candidates.shift();
|
|
45
|
+
if (candidate == null || visited.has(candidate))
|
|
46
|
+
continue;
|
|
47
|
+
visited.add(candidate);
|
|
48
|
+
if (typeof candidate === "number" && candidate === 429)
|
|
49
|
+
return true;
|
|
50
|
+
if (typeof candidate === "string") {
|
|
51
|
+
if (/\b429\b|too many requests|rate[ -]?limit(?:ed|ing)?|request limit|frequency limit|throttl(?:ed|ing)/i.test(candidate)) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (typeof candidate !== "object")
|
|
57
|
+
continue;
|
|
58
|
+
const record = candidate;
|
|
59
|
+
candidates.push(record.status, record.statusCode, record.code, record.message, record.cause, record.response);
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
class ScheduleWriteQueue {
|
|
64
|
+
constructor() {
|
|
65
|
+
this.tail = Promise.resolve();
|
|
66
|
+
this.generation = 0;
|
|
67
|
+
}
|
|
68
|
+
enqueue(operation) {
|
|
69
|
+
const generation = this.generation;
|
|
70
|
+
const run = this.tail.then(async () => {
|
|
71
|
+
if (generation !== this.generation) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
return operation();
|
|
75
|
+
});
|
|
76
|
+
this.tail = run.then(() => undefined, () => undefined);
|
|
77
|
+
return run;
|
|
78
|
+
}
|
|
79
|
+
cancelPending() {
|
|
80
|
+
this.generation++;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.ScheduleWriteQueue = ScheduleWriteQueue;
|
|
84
|
+
class ScheduleAccountCoordinator {
|
|
85
|
+
constructor(policy = exports.DEFAULT_SCHEDULE_POLICY) {
|
|
86
|
+
this.policy = policy;
|
|
87
|
+
this.tail = Promise.resolve();
|
|
88
|
+
this.throttleUntil = 0;
|
|
89
|
+
this.metrics = {
|
|
90
|
+
scheduleReads: 0,
|
|
91
|
+
primaryWrites: 0,
|
|
92
|
+
fallbackWrites: 0,
|
|
93
|
+
coalescedChanges: 0,
|
|
94
|
+
cacheAvoidedReads: 0,
|
|
95
|
+
backoffAvoidedReads: 0,
|
|
96
|
+
throttleAvoidedOperations: 0,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
enqueue(operation, rejectedDuringCooldown) {
|
|
100
|
+
const run = this.tail.then(async () => {
|
|
101
|
+
const throttle = this.currentThrottleError();
|
|
102
|
+
if (throttle !== undefined) {
|
|
103
|
+
this.metrics.throttleAvoidedOperations++;
|
|
104
|
+
return rejectedDuringCooldown(throttle);
|
|
105
|
+
}
|
|
106
|
+
return operation();
|
|
107
|
+
});
|
|
108
|
+
this.tail = run.then(() => undefined, () => undefined);
|
|
109
|
+
return run;
|
|
110
|
+
}
|
|
111
|
+
recordThrottle(error) {
|
|
112
|
+
this.throttleUntil = Math.max(this.throttleUntil, Date.now() + this.policy.throttleCooldownMs);
|
|
113
|
+
this.throttleError = error;
|
|
114
|
+
}
|
|
115
|
+
currentThrottleError(now = Date.now()) {
|
|
116
|
+
var _a;
|
|
117
|
+
if (this.throttleUntil <= now)
|
|
118
|
+
return undefined;
|
|
119
|
+
return ((_a = this.throttleError) !== null && _a !== void 0 ? _a : new Error("Roborock schedule requests are in throttle cooldown"));
|
|
120
|
+
}
|
|
121
|
+
cooldownRemainingMs(now = Date.now()) {
|
|
122
|
+
return Math.max(0, this.throttleUntil - now);
|
|
123
|
+
}
|
|
124
|
+
recordRequest(kind) {
|
|
125
|
+
if (kind === "read")
|
|
126
|
+
this.metrics.scheduleReads++;
|
|
127
|
+
if (kind === "primaryWrite")
|
|
128
|
+
this.metrics.primaryWrites++;
|
|
129
|
+
if (kind === "fallbackWrite")
|
|
130
|
+
this.metrics.fallbackWrites++;
|
|
131
|
+
}
|
|
132
|
+
recordAvoided(kind) {
|
|
133
|
+
if (kind === "cache")
|
|
134
|
+
this.metrics.cacheAvoidedReads++;
|
|
135
|
+
if (kind === "backoff")
|
|
136
|
+
this.metrics.backoffAvoidedReads++;
|
|
137
|
+
if (kind === "coalesced")
|
|
138
|
+
this.metrics.coalescedChanges++;
|
|
139
|
+
if (kind === "throttle")
|
|
140
|
+
this.metrics.throttleAvoidedOperations++;
|
|
141
|
+
}
|
|
142
|
+
metricsSnapshot() {
|
|
143
|
+
return { ...this.metrics };
|
|
144
|
+
}
|
|
145
|
+
policyDescription() {
|
|
146
|
+
return (`Schedule cloud policy: cache=${this.policy.cacheTtlMs / 60000}m; ` +
|
|
147
|
+
`batchWindow=${this.policy.batchWindowMs}ms; writeSpacing=${this.policy.writeSpacingMs}ms; ` +
|
|
148
|
+
`throttleCooldown=${this.policy.throttleCooldownMs / 60000}m.`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.ScheduleAccountCoordinator = ScheduleAccountCoordinator;
|
|
152
|
+
class ScheduleWriteBatcher {
|
|
153
|
+
constructor(executeBatch, keyOf, windowMs = SCHEDULE_WRITE_BATCH_WINDOW_MS, onSuperseded = () => undefined) {
|
|
154
|
+
this.executeBatch = executeBatch;
|
|
155
|
+
this.keyOf = keyOf;
|
|
156
|
+
this.windowMs = windowMs;
|
|
157
|
+
this.onSuperseded = onSuperseded;
|
|
158
|
+
this.queue = new ScheduleWriteQueue();
|
|
159
|
+
this.pending = new Map();
|
|
160
|
+
}
|
|
161
|
+
enqueue(value) {
|
|
162
|
+
const key = this.keyOf(value);
|
|
163
|
+
const superseded = this.pending.get(key);
|
|
164
|
+
if (superseded) {
|
|
165
|
+
this.onSuperseded();
|
|
166
|
+
superseded.resolve(false);
|
|
167
|
+
}
|
|
168
|
+
const result = new Promise((resolve, reject) => {
|
|
169
|
+
this.pending.set(key, { value, resolve, reject });
|
|
170
|
+
});
|
|
171
|
+
if (!this.timer) {
|
|
172
|
+
const timer = (0, timers_1.scheduleTimer)(() => {
|
|
173
|
+
this.timer = undefined;
|
|
174
|
+
this.flush();
|
|
175
|
+
}, this.windowMs);
|
|
176
|
+
this.timer = timer;
|
|
177
|
+
(0, timers_1.unrefTimer)(timer);
|
|
178
|
+
}
|
|
179
|
+
return result;
|
|
180
|
+
}
|
|
181
|
+
cancelPending() {
|
|
182
|
+
if (this.timer) {
|
|
183
|
+
(0, timers_1.clearTimer)(this.timer);
|
|
184
|
+
this.timer = undefined;
|
|
185
|
+
}
|
|
186
|
+
for (const pending of this.pending.values()) {
|
|
187
|
+
pending.resolve(false);
|
|
188
|
+
}
|
|
189
|
+
this.pending.clear();
|
|
190
|
+
this.queue.cancelPending();
|
|
191
|
+
}
|
|
192
|
+
flush() {
|
|
193
|
+
const batch = [...this.pending.values()];
|
|
194
|
+
this.pending.clear();
|
|
195
|
+
void this.queue
|
|
196
|
+
.enqueue(() => this.executeBatch(batch.map((pending) => pending.value)))
|
|
197
|
+
.then((failures) => {
|
|
198
|
+
for (const pending of batch) {
|
|
199
|
+
if (failures === undefined) {
|
|
200
|
+
pending.resolve(false);
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
const error = failures.get(this.keyOf(pending.value));
|
|
204
|
+
if (error !== undefined) {
|
|
205
|
+
pending.reject(error);
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
pending.resolve(true);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}, (error) => {
|
|
212
|
+
for (const pending of batch) {
|
|
213
|
+
pending.reject(error);
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
exports.ScheduleWriteBatcher = ScheduleWriteBatcher;
|
|
15
219
|
function parseServerTimers(value) {
|
|
16
220
|
if (!Array.isArray(value))
|
|
17
221
|
return [];
|
|
@@ -61,18 +265,24 @@ function isHapScheduleAccessory(accessory) {
|
|
|
61
265
|
* identity and must never overwrite the shared manager accessory identity.
|
|
62
266
|
*/
|
|
63
267
|
class RoborockHapScheduleAccessory {
|
|
64
|
-
constructor(platform, accessory, duid) {
|
|
268
|
+
constructor(platform, accessory, duid, accountCoordinator = new ScheduleAccountCoordinator()) {
|
|
65
269
|
this.platform = platform;
|
|
66
270
|
this.duid = duid;
|
|
271
|
+
this.accountCoordinator = accountCoordinator;
|
|
67
272
|
this.scheduleAccessories = new Map();
|
|
68
273
|
this.vacuumName = "";
|
|
69
274
|
this.managerRemoved = false;
|
|
70
275
|
this.disposed = false;
|
|
71
276
|
this.lastScheduleRefreshAt = 0;
|
|
72
277
|
this.lastFailedRefreshAt = 0;
|
|
278
|
+
this.consecutiveRefreshFailures = 0;
|
|
279
|
+
this.nextRefreshAttemptAt = 0;
|
|
280
|
+
this.scheduleBackoffRandom = Math.random;
|
|
73
281
|
this.refreshInProgressStartedAt = 0;
|
|
282
|
+
this.refreshInProgressHoldsAccountQueue = false;
|
|
74
283
|
this.refreshGeneration = 0;
|
|
75
284
|
this.managerAccessory = accessory;
|
|
285
|
+
this.writeBatcher = new ScheduleWriteBatcher((requests) => this.executeScheduleWriteBatch(requests), (request) => request.scheduleId, this.accountCoordinator.policy.batchWindowMs, () => this.accountCoordinator.recordAvoided("coalesced"));
|
|
76
286
|
accessory.context = {
|
|
77
287
|
kind: exports.HAP_EXTENSION_KIND,
|
|
78
288
|
extension: exports.HAP_SCHEDULE_EXTENSION,
|
|
@@ -162,26 +372,38 @@ class RoborockHapScheduleAccessory {
|
|
|
162
372
|
return true;
|
|
163
373
|
}
|
|
164
374
|
async refreshIfNeeded() {
|
|
165
|
-
var _a, _b, _c, _d, _e, _f;
|
|
375
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
166
376
|
const now = Date.now();
|
|
167
377
|
this.platform.log.debug(`Schedule refreshIfNeeded: entered; ` +
|
|
168
378
|
`cached=${(_b = (_a = this.cachedSchedules) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : "undefined"}; ` +
|
|
169
379
|
`lastRefreshAgeMs=${this.lastScheduleRefreshAt > 0 ? now - this.lastScheduleRefreshAt : "never"}; ` +
|
|
170
|
-
`lastFailureAgeMs=${this.lastFailedRefreshAt > 0 ? now - this.lastFailedRefreshAt : "never"}`
|
|
380
|
+
`lastFailureAgeMs=${this.lastFailedRefreshAt > 0 ? now - this.lastFailedRefreshAt : "never"}; ` +
|
|
381
|
+
`consecutiveFailures=${this.consecutiveRefreshFailures || 0}; ` +
|
|
382
|
+
`nextAttemptInMs=${Math.max(0, (this.nextRefreshAttemptAt || 0) - now)}`);
|
|
171
383
|
if (this.cachedSchedules !== undefined &&
|
|
172
|
-
now - this.lastScheduleRefreshAt <
|
|
384
|
+
now - this.lastScheduleRefreshAt <
|
|
385
|
+
this.accountCoordinator.policy.cacheTtlMs) {
|
|
173
386
|
this.platform.log.debug(`Schedule refreshIfNeeded: CACHE HIT; ` +
|
|
174
387
|
`ageMs=${now - this.lastScheduleRefreshAt}; ` +
|
|
175
388
|
`returning=${this.cachedSchedules.length > 0}`);
|
|
389
|
+
this.accountCoordinator.recordAvoided("cache");
|
|
176
390
|
return this.cachedSchedules.length > 0;
|
|
177
391
|
}
|
|
178
|
-
if (this.
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
`ageMs=${now - this.lastFailedRefreshAt}; ` +
|
|
392
|
+
if (this.accountCoordinator.currentThrottleError(now) !== undefined) {
|
|
393
|
+
this.platform.log.debug(`Schedule refreshIfNeeded: THROTTLE COOLDOWN; ` +
|
|
394
|
+
`retryInMs=${this.accountCoordinator.cooldownRemainingMs(now)}; ` +
|
|
182
395
|
`returning=${((_d = (_c = this.cachedSchedules) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0}`);
|
|
396
|
+
this.accountCoordinator.recordAvoided("throttle");
|
|
183
397
|
return ((_f = (_e = this.cachedSchedules) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0) > 0;
|
|
184
398
|
}
|
|
399
|
+
if ((this.nextRefreshAttemptAt || 0) > now) {
|
|
400
|
+
this.platform.log.debug(`Schedule refreshIfNeeded: FAILURE BACKOFF; ` +
|
|
401
|
+
`ageMs=${now - this.lastFailedRefreshAt}; ` +
|
|
402
|
+
`retryInMs=${this.nextRefreshAttemptAt - now}; ` +
|
|
403
|
+
`returning=${((_h = (_g = this.cachedSchedules) === null || _g === void 0 ? void 0 : _g.length) !== null && _h !== void 0 ? _h : 0) > 0}`);
|
|
404
|
+
this.accountCoordinator.recordAvoided("backoff");
|
|
405
|
+
return ((_k = (_j = this.cachedSchedules) === null || _j === void 0 ? void 0 : _j.length) !== null && _k !== void 0 ? _k : 0) > 0;
|
|
406
|
+
}
|
|
185
407
|
this.platform.log.debug(`Schedule refreshIfNeeded: CALLING refresh()`);
|
|
186
408
|
return this.refresh();
|
|
187
409
|
}
|
|
@@ -200,7 +422,7 @@ class RoborockHapScheduleAccessory {
|
|
|
200
422
|
}
|
|
201
423
|
: undefined;
|
|
202
424
|
}
|
|
203
|
-
async refreshDetailed(minimumRefreshStartedAt = 0) {
|
|
425
|
+
async refreshDetailed(minimumRefreshStartedAt = 0, accountCoordinatorHeld = false) {
|
|
204
426
|
if (this.disposed) {
|
|
205
427
|
return {
|
|
206
428
|
success: false,
|
|
@@ -208,14 +430,22 @@ class RoborockHapScheduleAccessory {
|
|
|
208
430
|
};
|
|
209
431
|
}
|
|
210
432
|
if (this.refreshInProgress &&
|
|
211
|
-
this.refreshInProgressStartedAt >= minimumRefreshStartedAt
|
|
433
|
+
this.refreshInProgressStartedAt >= minimumRefreshStartedAt &&
|
|
434
|
+
// A caller that already holds the account queue must never adopt a
|
|
435
|
+
// refresh that does not hold it. Such a refresh is waiting its turn
|
|
436
|
+
// *behind* this caller, so waiting for it is a circular wait that no
|
|
437
|
+
// request timeout can break: the queued read has not been issued, so
|
|
438
|
+
// there is nothing to expire. It would strand the HomeKit write and
|
|
439
|
+
// wedge the account queue for every vacuum until Homebridge restarts.
|
|
440
|
+
(!accountCoordinatorHeld || this.refreshInProgressHoldsAccountQueue)) {
|
|
212
441
|
return this.refreshInProgress;
|
|
213
442
|
}
|
|
214
443
|
const startedAt = Date.now();
|
|
215
444
|
const generation = ++this.refreshGeneration;
|
|
216
|
-
const refresh = this.performRefresh(generation);
|
|
445
|
+
const refresh = this.performRefresh(generation, accountCoordinatorHeld);
|
|
217
446
|
this.refreshInProgress = refresh;
|
|
218
447
|
this.refreshInProgressStartedAt = startedAt;
|
|
448
|
+
this.refreshInProgressHoldsAccountQueue = accountCoordinatorHeld;
|
|
219
449
|
try {
|
|
220
450
|
return await refresh;
|
|
221
451
|
}
|
|
@@ -225,15 +455,41 @@ class RoborockHapScheduleAccessory {
|
|
|
225
455
|
if (this.refreshInProgress === refresh) {
|
|
226
456
|
this.refreshInProgress = undefined;
|
|
227
457
|
this.refreshInProgressStartedAt = 0;
|
|
458
|
+
this.refreshInProgressHoldsAccountQueue = false;
|
|
228
459
|
}
|
|
229
460
|
}
|
|
230
461
|
}
|
|
231
|
-
async performRefresh(generation) {
|
|
462
|
+
async performRefresh(generation, accountCoordinatorHeld) {
|
|
232
463
|
try {
|
|
233
464
|
const api = this.platform.roborockAPI;
|
|
234
|
-
const
|
|
235
|
-
|
|
236
|
-
|
|
465
|
+
const readSchedules = () => {
|
|
466
|
+
this.accountCoordinator.recordRequest("read");
|
|
467
|
+
return (0, hap_schedule_api_1.getServerTimers)(api, this.duid, {
|
|
468
|
+
requestTimeoutMs: 10000,
|
|
469
|
+
});
|
|
470
|
+
};
|
|
471
|
+
// A refresh can wait a long time in the account queue, and a newer
|
|
472
|
+
// refresh may replace it while it waits. A superseded refresh is barred
|
|
473
|
+
// from storing its result by the generation guards below, so issuing its
|
|
474
|
+
// cloud request once it reaches the front of the queue is pure waste.
|
|
475
|
+
let superseded = false;
|
|
476
|
+
const raw = accountCoordinatorHeld
|
|
477
|
+
? await readSchedules()
|
|
478
|
+
: await this.accountCoordinator.enqueue(async () => {
|
|
479
|
+
if (generation !== this.refreshGeneration || this.disposed) {
|
|
480
|
+
superseded = true;
|
|
481
|
+
return undefined;
|
|
482
|
+
}
|
|
483
|
+
return readSchedules();
|
|
484
|
+
}, (error) => {
|
|
485
|
+
throw error;
|
|
486
|
+
});
|
|
487
|
+
if (superseded) {
|
|
488
|
+
return {
|
|
489
|
+
success: false,
|
|
490
|
+
hasSchedules: this.scheduleAccessories.size > 0,
|
|
491
|
+
};
|
|
492
|
+
}
|
|
237
493
|
this.platform.log.debug(`Schedule discovery for ${this.duid}: ` +
|
|
238
494
|
`type=${Array.isArray(raw) ? "array" : typeof raw}, ` +
|
|
239
495
|
`value=${JSON.stringify(raw)}`);
|
|
@@ -244,7 +500,7 @@ class RoborockHapScheduleAccessory {
|
|
|
244
500
|
hasSchedules: this.scheduleAccessories.size > 0,
|
|
245
501
|
};
|
|
246
502
|
}
|
|
247
|
-
this.
|
|
503
|
+
this.recordRefreshFailure();
|
|
248
504
|
this.platform.log.warn(`Unable to reliably read Roborock schedules for ${this.duid}: ` +
|
|
249
505
|
`get_server_timer returned ${typeof raw}; preserving existing schedules.`);
|
|
250
506
|
return {
|
|
@@ -272,7 +528,7 @@ class RoborockHapScheduleAccessory {
|
|
|
272
528
|
hasSchedules: this.scheduleAccessories.size > 0,
|
|
273
529
|
};
|
|
274
530
|
}
|
|
275
|
-
this.
|
|
531
|
+
this.recordRefreshFailure();
|
|
276
532
|
this.platform.log.warn(`Unable to reliably read Roborock schedules for ${this.duid}: ` +
|
|
277
533
|
`get_server_timer returned a non-empty response that parsed to zero schedules; preserving existing schedules.`);
|
|
278
534
|
return {
|
|
@@ -294,7 +550,7 @@ class RoborockHapScheduleAccessory {
|
|
|
294
550
|
timer: [...schedule.timer],
|
|
295
551
|
}));
|
|
296
552
|
this.lastScheduleRefreshAt = Date.now();
|
|
297
|
-
this.
|
|
553
|
+
this.clearRefreshFailure();
|
|
298
554
|
this.platform.log.info(`Schedule parser: parsed ${this.duid}; result count=${schedules.length}.`);
|
|
299
555
|
this.sync(schedules);
|
|
300
556
|
// A successful empty snapshot is authoritative information. It is
|
|
@@ -311,7 +567,12 @@ class RoborockHapScheduleAccessory {
|
|
|
311
567
|
hasSchedules: this.scheduleAccessories.size > 0,
|
|
312
568
|
};
|
|
313
569
|
}
|
|
314
|
-
|
|
570
|
+
if (isDefiniteScheduleThrottle(error)) {
|
|
571
|
+
this.recordScheduleThrottle(error);
|
|
572
|
+
}
|
|
573
|
+
else {
|
|
574
|
+
this.recordRefreshFailure();
|
|
575
|
+
}
|
|
315
576
|
const message = error instanceof Error ? error.message : String(error);
|
|
316
577
|
this.platform.log.warn(`Unable to refresh Roborock schedules for ${this.duid}: ${message}. Preserving existing schedules.`);
|
|
317
578
|
return {
|
|
@@ -336,6 +597,148 @@ class RoborockHapScheduleAccessory {
|
|
|
336
597
|
this.cachedSchedules = schedules;
|
|
337
598
|
this.lastScheduleRefreshAt = Date.now();
|
|
338
599
|
}
|
|
600
|
+
enqueueScheduleWrite(scheduleId, enabled) {
|
|
601
|
+
return this.writeBatcher.enqueue({ scheduleId, enabled });
|
|
602
|
+
}
|
|
603
|
+
async executeScheduleWriteBatch(requests) {
|
|
604
|
+
const result = await this.accountCoordinator.enqueue(() => this.executeAccountCoordinatedScheduleWriteBatch(requests), (error) => new Map(requests.map((request) => [request.scheduleId, error])));
|
|
605
|
+
this.logScheduleMetrics();
|
|
606
|
+
return result;
|
|
607
|
+
}
|
|
608
|
+
async executeAccountCoordinatedScheduleWriteBatch(requests) {
|
|
609
|
+
const failures = new Map();
|
|
610
|
+
const primarySent = [];
|
|
611
|
+
const api = this.platform.roborockAPI;
|
|
612
|
+
const primaryStartedAt = Date.now();
|
|
613
|
+
for (let index = 0; index < requests.length; index++) {
|
|
614
|
+
const request = requests[index];
|
|
615
|
+
if (index > 0) {
|
|
616
|
+
await this.waitForScheduleWriteSpacing();
|
|
617
|
+
}
|
|
618
|
+
try {
|
|
619
|
+
this.platform.log.info(`Schedule command: ${request.enabled ? "enabling" : "disabling"} ${this.duid}/${request.scheduleId}.`);
|
|
620
|
+
this.accountCoordinator.recordRequest("primaryWrite");
|
|
621
|
+
await (0, hap_schedule_api_1.updateServerTimer)(api, this.duid, request.scheduleId, request.enabled, { requestTimeoutMs: 10000 });
|
|
622
|
+
primarySent.push(request);
|
|
623
|
+
}
|
|
624
|
+
catch (error) {
|
|
625
|
+
failures.set(request.scheduleId, error);
|
|
626
|
+
if (isDefiniteScheduleThrottle(error)) {
|
|
627
|
+
this.recordScheduleThrottle(error);
|
|
628
|
+
return new Map(requests.map((candidate) => [candidate.scheduleId, error]));
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
if (primarySent.length === 0 || this.disposed) {
|
|
633
|
+
return failures;
|
|
634
|
+
}
|
|
635
|
+
await this.waitForScheduleVerification();
|
|
636
|
+
await this.refreshDetailed(primaryStartedAt, true);
|
|
637
|
+
const throttleError = this.accountCoordinator.currentThrottleError();
|
|
638
|
+
if (throttleError !== undefined) {
|
|
639
|
+
return new Map(requests.map((request) => [request.scheduleId, throttleError]));
|
|
640
|
+
}
|
|
641
|
+
const fallback = primarySent.filter((request) => !this.cachedScheduleMatches(request));
|
|
642
|
+
const primaryConfirmed = primarySent.length - fallback.length;
|
|
643
|
+
this.platform.log.info(`Schedule batch verification for ${this.duid}: ` +
|
|
644
|
+
`requested=${requests.length}; primarySent=${primarySent.length}; ` +
|
|
645
|
+
`primaryConfirmed=${primaryConfirmed}; fallbackNeeded=${fallback.length}.`);
|
|
646
|
+
for (const request of primarySent) {
|
|
647
|
+
if (!fallback.includes(request)) {
|
|
648
|
+
failures.delete(request.scheduleId);
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
if (fallback.length === 0 || this.disposed) {
|
|
652
|
+
return failures;
|
|
653
|
+
}
|
|
654
|
+
const fallbackSent = [];
|
|
655
|
+
const fallbackStartedAt = Date.now();
|
|
656
|
+
for (let index = 0; index < fallback.length; index++) {
|
|
657
|
+
const request = fallback[index];
|
|
658
|
+
if (index > 0) {
|
|
659
|
+
await this.waitForScheduleWriteSpacing();
|
|
660
|
+
}
|
|
661
|
+
try {
|
|
662
|
+
this.platform.log.warn(`Schedule command: upd_server_timer was not confirmed for ${this.duid}/${request.scheduleId}; trying upd_timer fallback.`);
|
|
663
|
+
this.accountCoordinator.recordRequest("fallbackWrite");
|
|
664
|
+
await (0, hap_schedule_api_1.updateTimer)(api, this.duid, request.scheduleId, request.enabled, {
|
|
665
|
+
requestTimeoutMs: 10000,
|
|
666
|
+
});
|
|
667
|
+
fallbackSent.push(request);
|
|
668
|
+
}
|
|
669
|
+
catch (error) {
|
|
670
|
+
failures.set(request.scheduleId, error);
|
|
671
|
+
if (isDefiniteScheduleThrottle(error)) {
|
|
672
|
+
this.recordScheduleThrottle(error);
|
|
673
|
+
for (const candidate of fallback) {
|
|
674
|
+
failures.set(candidate.scheduleId, error);
|
|
675
|
+
}
|
|
676
|
+
return failures;
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
if (fallbackSent.length > 0 && !this.disposed) {
|
|
681
|
+
await this.waitForScheduleVerification();
|
|
682
|
+
await this.refreshDetailed(fallbackStartedAt, true);
|
|
683
|
+
}
|
|
684
|
+
for (const request of fallbackSent) {
|
|
685
|
+
if (this.cachedScheduleMatches(request)) {
|
|
686
|
+
failures.delete(request.scheduleId);
|
|
687
|
+
}
|
|
688
|
+
else {
|
|
689
|
+
failures.set(request.scheduleId, new Error(`Roborock did not confirm schedule ${request.scheduleId} as ${request.enabled ? "enabled" : "disabled"}`));
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
const fallbackConfirmed = fallbackSent.filter((request) => this.cachedScheduleMatches(request)).length;
|
|
693
|
+
this.platform.log.info(`Schedule fallback verification for ${this.duid}: ` +
|
|
694
|
+
`requested=${requests.length}; primarySent=${primarySent.length}; ` +
|
|
695
|
+
`primaryConfirmed=${primaryConfirmed}; fallbackNeeded=${fallback.length}; ` +
|
|
696
|
+
`fallbackSent=${fallbackSent.length}; fallbackConfirmed=${fallbackConfirmed}; ` +
|
|
697
|
+
`failed=${failures.size}.`);
|
|
698
|
+
return failures;
|
|
699
|
+
}
|
|
700
|
+
cachedScheduleMatches(request) {
|
|
701
|
+
var _a;
|
|
702
|
+
return (((_a = this.cachedSchedules) === null || _a === void 0 ? void 0 : _a.some((schedule) => schedule.id === request.scheduleId &&
|
|
703
|
+
schedule.enabled === request.enabled)) === true);
|
|
704
|
+
}
|
|
705
|
+
async waitForScheduleVerification() {
|
|
706
|
+
await new Promise((resolve) => {
|
|
707
|
+
const timer = (0, timers_1.scheduleTimer)(resolve, VERIFY_DELAY_MS);
|
|
708
|
+
(0, timers_1.unrefTimer)(timer);
|
|
709
|
+
});
|
|
710
|
+
}
|
|
711
|
+
async waitForScheduleWriteSpacing() {
|
|
712
|
+
await new Promise((resolve) => {
|
|
713
|
+
const timer = (0, timers_1.scheduleTimer)(resolve, this.accountCoordinator.policy.writeSpacingMs);
|
|
714
|
+
(0, timers_1.unrefTimer)(timer);
|
|
715
|
+
});
|
|
716
|
+
}
|
|
717
|
+
recordRefreshFailure() {
|
|
718
|
+
const now = Date.now();
|
|
719
|
+
this.lastFailedRefreshAt = now;
|
|
720
|
+
this.consecutiveRefreshFailures =
|
|
721
|
+
(this.consecutiveRefreshFailures || 0) + 1;
|
|
722
|
+
const delay = scheduleFailureBackoffMs(this.consecutiveRefreshFailures, (this.scheduleBackoffRandom || Math.random)());
|
|
723
|
+
this.nextRefreshAttemptAt = now + delay;
|
|
724
|
+
}
|
|
725
|
+
clearRefreshFailure() {
|
|
726
|
+
this.lastFailedRefreshAt = 0;
|
|
727
|
+
this.consecutiveRefreshFailures = 0;
|
|
728
|
+
this.nextRefreshAttemptAt = 0;
|
|
729
|
+
}
|
|
730
|
+
recordScheduleThrottle(error) {
|
|
731
|
+
this.accountCoordinator.recordThrottle(error);
|
|
732
|
+
this.platform.log.warn(`Roborock schedule requests for this account appear rate-limited; pausing this vacuum's schedule traffic for ${this.accountCoordinator.policy.throttleCooldownMs / 60000} minutes.`);
|
|
733
|
+
}
|
|
734
|
+
logScheduleMetrics() {
|
|
735
|
+
const metrics = this.accountCoordinator.metricsSnapshot();
|
|
736
|
+
this.platform.log.debug(`Schedule cloud totals: reads=${metrics.scheduleReads}; ` +
|
|
737
|
+
`primaryWrites=${metrics.primaryWrites}; fallbackWrites=${metrics.fallbackWrites}; ` +
|
|
738
|
+
`coalesced=${metrics.coalescedChanges}; cacheAvoidedReads=${metrics.cacheAvoidedReads}; ` +
|
|
739
|
+
`backoffAvoidedReads=${metrics.backoffAvoidedReads}; ` +
|
|
740
|
+
`throttleAvoidedOperations=${metrics.throttleAvoidedOperations}.`);
|
|
741
|
+
}
|
|
339
742
|
/**
|
|
340
743
|
* Stop in-memory work without changing the cached HAP service topology.
|
|
341
744
|
* Normal Homebridge shutdown must preserve the same service instances so
|
|
@@ -364,8 +767,11 @@ class RoborockHapScheduleAccessory {
|
|
|
364
767
|
this.refreshGeneration++;
|
|
365
768
|
this.refreshInProgress = undefined;
|
|
366
769
|
this.refreshInProgressStartedAt = 0;
|
|
770
|
+
this.refreshInProgressHoldsAccountQueue = false;
|
|
367
771
|
this.cachedSchedules = undefined;
|
|
368
772
|
this.lastScheduleRefreshAt = 0;
|
|
773
|
+
this.clearRefreshFailure();
|
|
774
|
+
this.writeBatcher.cancelPending();
|
|
369
775
|
for (const schedule of this.scheduleAccessories.values()) {
|
|
370
776
|
schedule.dispose();
|
|
371
777
|
}
|
|
@@ -417,11 +823,11 @@ class RoborockHapScheduleSwitchAccessory {
|
|
|
417
823
|
this.accessory = accessory;
|
|
418
824
|
this.duid = duid;
|
|
419
825
|
this.scheduleId = scheduleId;
|
|
420
|
-
this.writes = new Set();
|
|
421
826
|
this.suppression = new Map();
|
|
422
827
|
// If Roborock rejects/doesn't reflect a command, don't allow HomeKit
|
|
423
828
|
// to immediately hammer the same command over and over.
|
|
424
829
|
this.failedCommands = new Map();
|
|
830
|
+
this.disposed = false;
|
|
425
831
|
this.schedule = {
|
|
426
832
|
id: scheduleId,
|
|
427
833
|
enabled: false,
|
|
@@ -429,6 +835,7 @@ class RoborockHapScheduleSwitchAccessory {
|
|
|
429
835
|
};
|
|
430
836
|
}
|
|
431
837
|
initialize(displayName, schedule) {
|
|
838
|
+
this.disposed = false;
|
|
432
839
|
this.updateIdentity(displayName, schedule);
|
|
433
840
|
const subtype = `${SERVICE_PREFIX}${encodeURIComponent(this.scheduleId)}`;
|
|
434
841
|
let service = this.accessory.getServiceById(this.platform.Service.Switch, subtype);
|
|
@@ -473,7 +880,7 @@ class RoborockHapScheduleSwitchAccessory {
|
|
|
473
880
|
}
|
|
474
881
|
}
|
|
475
882
|
dispose() {
|
|
476
|
-
this.
|
|
883
|
+
this.disposed = true;
|
|
477
884
|
this.suppression.clear();
|
|
478
885
|
this.failedCommands.clear();
|
|
479
886
|
}
|
|
@@ -494,27 +901,14 @@ class RoborockHapScheduleSwitchAccessory {
|
|
|
494
901
|
this.updateService(previous);
|
|
495
902
|
return;
|
|
496
903
|
}
|
|
497
|
-
if (this.writes.has(this.scheduleId)) {
|
|
498
|
-
this.updateService(previous);
|
|
499
|
-
return;
|
|
500
|
-
}
|
|
501
|
-
this.writes.add(this.scheduleId);
|
|
502
904
|
try {
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
this.platform.log.warn(`Roborock schedule ${this.scheduleId} did not reflect upd_server_timer; trying upd_timer fallback.`);
|
|
511
|
-
const fallbackWriteStartedAt = Date.now();
|
|
512
|
-
await (0, hap_schedule_api_1.updateTimer)(api, this.duid, this.scheduleId, enabled, {
|
|
513
|
-
requestTimeoutMs: 10000,
|
|
514
|
-
});
|
|
515
|
-
if (!(await this.verify(enabled, fallbackWriteStartedAt))) {
|
|
516
|
-
throw new Error(`Roborock did not confirm schedule ${this.scheduleId} as ${enabled ? "enabled" : "disabled"}`);
|
|
517
|
-
}
|
|
905
|
+
this.platform.log.info(`Schedule command: queueing ${enabled ? "enable" : "disable"} for ${this.duid}/${this.scheduleId}.`);
|
|
906
|
+
const executed = await this.coordinator.enqueueScheduleWrite(this.scheduleId, enabled);
|
|
907
|
+
if (!executed) {
|
|
908
|
+
return;
|
|
909
|
+
}
|
|
910
|
+
if (this.disposed) {
|
|
911
|
+
return;
|
|
518
912
|
}
|
|
519
913
|
this.schedule.enabled = enabled;
|
|
520
914
|
this.schedule.timer[1] = enabled ? "on" : "off";
|
|
@@ -526,6 +920,9 @@ class RoborockHapScheduleSwitchAccessory {
|
|
|
526
920
|
this.updateService(enabled);
|
|
527
921
|
}
|
|
528
922
|
catch (error) {
|
|
923
|
+
if (this.disposed) {
|
|
924
|
+
return;
|
|
925
|
+
}
|
|
529
926
|
this.updateService(previous);
|
|
530
927
|
this.failedCommands.set(this.scheduleId, {
|
|
531
928
|
enabled,
|
|
@@ -536,22 +933,6 @@ class RoborockHapScheduleSwitchAccessory {
|
|
|
536
933
|
`Further attempts for this same state are suppressed for ` +
|
|
537
934
|
`${RoborockHapScheduleSwitchAccessory.FAILED_COMMAND_COOLDOWN_MS / 1000}s.`);
|
|
538
935
|
}
|
|
539
|
-
finally {
|
|
540
|
-
this.writes.delete(this.scheduleId);
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
async verify(enabled, minimumRefreshStartedAt) {
|
|
544
|
-
await new Promise((resolve) => {
|
|
545
|
-
const timer = (0, timers_1.scheduleTimer)(resolve, VERIFY_DELAY_MS);
|
|
546
|
-
(0, timers_1.unrefTimer)(timer);
|
|
547
|
-
});
|
|
548
|
-
const current = await this.coordinator.refreshAndGetSchedule(this.scheduleId, minimumRefreshStartedAt);
|
|
549
|
-
if (!current) {
|
|
550
|
-
return false;
|
|
551
|
-
}
|
|
552
|
-
this.schedule = { ...current, timer: [...current.timer] };
|
|
553
|
-
this.updateService(current.enabled);
|
|
554
|
-
return current.enabled === enabled;
|
|
555
936
|
}
|
|
556
937
|
updateService(enabled) {
|
|
557
938
|
const service = this.accessory.getServiceById(this.platform.Service.Switch, `${SERVICE_PREFIX}${encodeURIComponent(this.scheduleId)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hap_schedule_accessory.js","sourceRoot":"","sources":["../src/hap_schedule_accessory.ts"],"names":[],"mappings":";;;AAoCA,8CAwBC;AAED,wDAUC;AAtED,yDAI4B;AAE5B,qCAAqD;AAErD,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AACxC,MAAM,2BAA2B,GAAG,EAAE,GAAG,IAAI,CAAC;AAC9C,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAE/B,QAAA,kBAAkB,GAAG,cAAuB,CAAC;AAC7C,QAAA,sBAAsB,GAAG,WAAoB,CAAC;AAmB3D,SAAgB,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAC;IACnD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QACxD,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;QACjC,IACE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;YACxD,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,KAAK,CAAC,EAC3C,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QACpC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;YACb,EAAE;YACF,OAAO,EAAE,SAAS,KAAK,IAAI;YAC3B,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,sBAAsB,CAAC,SAEtC;;IACC,MAAM,OAAO,GAAG,CAAC,MAAA,SAAS,CAAC,OAAO,mCAAI,EAAE,CAAgC,CAAC;IACzE,OAAO,CACL,OAAO,CAAC,IAAI,KAAK,0BAAkB;QACnC,OAAO,CAAC,SAAS,KAAK,8BAAsB;QAC5C,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ;QAChC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CACxB,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAqB,4BAA4B;IAgB/C,YACmB,QAA0B,EAC3C,SAA4B,EACX,IAAY;QAFZ,aAAQ,GAAR,QAAQ,CAAkB;QAE1B,SAAI,GAAJ,IAAI,CAAQ;QAlBd,wBAAmB,GAAG,IAAI,GAAG,EAG3C,CAAC;QAEI,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,KAAK,CAAC;QACvB,aAAQ,GAAG,KAAK,CAAC;QAEjB,0BAAqB,GAAG,CAAC,CAAC;QAC1B,wBAAmB,GAAG,CAAC,CAAC;QAExB,+BAA0B,GAAG,CAAC,CAAC;QAC/B,sBAAiB,GAAG,CAAC,CAAC;QAO5B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,SAAS,CAAC,OAAO,GAAG;YAClB,IAAI,EAAE,0BAAkB;YACxB,SAAS,EAAE,8BAAsB;YACjC,IAAI;SACwB,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,MAAM,WAAW,GAAG,GAAG,UAAU,YAAY,CAAC;QAC9C,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,WAAW,CAAC;QAEhD,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG;YAC9B,IAAI,EAAE,0BAAkB;YACxB,SAAS,EAAE,8BAAsB;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;SACa,CAAC;QAE/B,MAAM,IAAI,GACR,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAC3C;YACD,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAC3C,CAAC;QAEJ,IAAI,CAAC,iBAAiB,CACpB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EACzC,UAAU,CACX,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,iBAAiB,CACpB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EACzC,GAAG,IAAI,CAAC,IAAI,YAAY,CACzB,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAEvE,gEAAgE;QAChE,qEAAqE;QACrE,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,oCAAoC;QAClC,MAAM,QAAQ,GAAuB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAC3B,IAAI,0BAA0B,GAAG,CAAC,CAAC;QAEnC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACrD,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvD,SAAS;YACX,CAAC;YAED,kBAAkB,EAAE,CAAC;YAErB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBACvE,SAAS;YACX,CAAC;YAED,0BAA0B,EAAE,CAAC;YAE7B,IAAI,UAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YACxE,CAAC;YAAC,WAAM,CAAC;gBACP,SAAS;YACX,CAAC;YAED,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAErB,MAAM,OAAO,GAAG,OAAO,CACrB,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,CACjE,CAAC;YAEF,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,UAAU;gBACd,OAAO;gBACP,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,4BAA4B,IAAI,CAAC,UAAU,IAAI;gBAC7C,eAAe,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI;gBAC7C,YAAY,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,IAAI;gBACrD,kBAAkB,kBAAkB,IAAI;gBACxC,0BAA0B,0BAA0B,IAAI;gBACxD,sCAAsC,CACzC,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACrB,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CACvD,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,4BAA4B,IAAI,CAAC,UAAU,IAAI;YAC7C,eAAe,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI;YAC7C,YAAY,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,IAAI;YACrD,kBAAkB,kBAAkB,IAAI;YACxC,0BAA0B,0BAA0B,IAAI;YACxD,YAAY,QAAQ,CAAC,MAAM,IAAI;YAC/B,eAAe,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;YACpE,yBAAyB,CAC5B,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe;;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,qCAAqC;YACnC,UAAU,MAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,mCAAI,WAAW,IAAI;YACzD,oBAAoB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,IAAI;YACnG,oBAAoB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,EAAE,CAChG,CAAC;QAEF,IACE,IAAI,CAAC,eAAe,KAAK,SAAS;YAClC,GAAG,GAAG,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,EACxD,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,uCAAuC;gBACrC,SAAS,GAAG,GAAG,IAAI,CAAC,qBAAqB,IAAI;gBAC7C,aAAa,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CACjD,CAAC;YACF,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QACzC,CAAC;QAED,IACE,IAAI,CAAC,mBAAmB,GAAG,CAAC;YAC5B,GAAG,GAAG,IAAI,CAAC,mBAAmB,GAAG,2BAA2B,EAC5D,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,6CAA6C;gBAC3C,SAAS,GAAG,GAAG,IAAI,CAAC,mBAAmB,IAAI;gBAC3C,aAAa,CAAC,MAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CACzD,CAAC;YACF,OAAO,CAAC,MAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAEvE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,UAAkB,EAClB,uBAAuB,GAAG,CAAC;;QAE3B,MAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,eAAe,0CAAE,IAAI,CACzC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,UAAU,CAC3C,CAAC;QAEF,OAAO,QAAQ;YACb,CAAC,CAAC;gBACE,GAAG,QAAQ;gBACX,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;aAC3B;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,uBAAuB,GAAG,CAAC;QAE3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,KAAK;aACpB,CAAC;QACJ,CAAC;QAED,IACE,IAAI,CAAC,iBAAiB;YACtB,IAAI,CAAC,0BAA0B,IAAI,uBAAuB,EAC1D,CAAC;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAEhD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;QACjC,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;QAE5C,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAC;QACvB,CAAC;gBAAS,CAAC;YACT,sEAAsE;YACtE,qEAAqE;YACrE,IAAI,IAAI,CAAC,iBAAiB,KAAK,OAAO,EAAE,CAAC;gBACvC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;gBACnC,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,UAAkB;QAElB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAkB,CAAC;YAC7C,MAAM,GAAG,GAAG,MAAM,IAAA,kCAAe,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;gBAChD,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,0BAA0B,IAAI,CAAC,IAAI,IAAI;gBACrC,QAAQ,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI;gBACrD,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CACjC,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,UAAU,KAAK,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC3D,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;qBAChD,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,kDAAkD,IAAI,CAAC,IAAI,IAAI;oBAC7D,6BAA6B,OAAO,GAAG,kCAAkC,CAC5E,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;iBAChD,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAEzC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,KAAK;iBACpB,CAAC;YACJ,CAAC;YAED,mEAAmE;YACnE,0CAA0C;YAC1C,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACtB,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CACvD,CAAC;YAEF,8DAA8D;YAC9D,kEAAkE;YAClE,6CAA6C;YAC7C,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7C,IAAI,UAAU,KAAK,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC3D,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;qBAChD,CAAC;gBACJ,CAAC;gBAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,kDAAkD,IAAI,CAAC,IAAI,IAAI;oBAC7D,8GAA8G,CACjH,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;iBAChD,CAAC;YACJ,CAAC;YAED,qEAAqE;YACrE,sEAAsE;YACtE,sCAAsC;YACtC,IAAI,UAAU,KAAK,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3D,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;iBAChD,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAClD,GAAG,QAAQ;gBACX,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;aAC3B,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;YAE7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,2BAA2B,IAAI,CAAC,IAAI,kBAAkB,SAAS,CAAC,MAAM,GAAG,CAC1E,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAErB,kEAAkE;YAClE,oDAAoD;YACpD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;aACnC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,UAAU,KAAK,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3D,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;iBAChD,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,4CAA4C,IAAI,CAAC,IAAI,KAAK,OAAO,kCAAkC,CACpG,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC;aAChD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oBAAoB,CAAC,QAA0B;QAC7C,MAAM,OAAO,GAAG;YACd,GAAG,QAAQ;YACX,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;SAC3B,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe;YACpC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CACrC,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE;gBACzB,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE;gBAChB,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,CAClD;YACH,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAChE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,sBAAsB;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACvE,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAE/B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC;IAEO,IAAI,CAAC,SAA6B;QACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,kBAAkB,IAAI,CAAC,IAAI,aAAa,SAAS,CAAC,MAAM,sBAAsB,CAC/E,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAE9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,UAAU,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE3D,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBAC/C,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,kCAAkC,CAClD,IAAI,CAAC,QAAQ,EACb,IAAI,EACJ,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,IAAI,EACT,QAAQ,CAAC,EAAE,CACZ,CAAC;YAEF,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAEjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,oCAAoC,WAAW,SAAS,QAAQ,CAAC,EAAE,GAAG,CACvE,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACnD,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAE1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,gDAAgD,EAAE,GAAG,CACtD,CAAC;YACF,KAAK,CAAC,OAAO,EAAE,CAAC;YAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAClD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAC5B,GAAG,cAAc,GAAG,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAC7C,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,SAA4B;;QAC1D,MAAM,iBAAiB,GAAG,CAAC,MAAC,IAAI,CAAC,QAAgB,CAAC,WAAW,mCAC3D,EAAE,CAAwB,CAAC;QAC7B,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;CACF;AAhfD,+CAgfC;AAED,MAAM,kCAAkC;IAkBtC,YACmB,QAA0B,EAC1B,WAAyC,EAC1C,SAA4B,EAC3B,IAAY,EACZ,UAAkB;QAJlB,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,gBAAW,GAAX,WAAW,CAA8B;QAC1C,cAAS,GAAT,SAAS,CAAmB;QAC3B,SAAI,GAAJ,IAAI,CAAQ;QACZ,eAAU,GAAV,UAAU,CAAQ;QAtBpB,WAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QAC3B,gBAAW,GAAG,IAAI,GAAG,EAGnC,CAAC;QAEJ,qEAAqE;QACrE,wDAAwD;QACvC,mBAAc,GAAG,IAAI,GAAG,EAGtC,CAAC;QAaF,IAAI,CAAC,QAAQ,GAAG;YACd,EAAE,EAAE,UAAU;YACd,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC;SAC3B,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,WAAmB,EAAE,QAA0B;QACxD,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,GAAG,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1E,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAC5B,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CACjC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAC5B,WAAW,EACX,OAAO,CACR,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QAClC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC1E,OAAO,CAAC,yBAAyB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAC5C,CAAC;QAEF,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAC9C,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAC5C,CAAC;QACF,MAAM,qBAAqB,GAAG,cAAc,CAAC,KAAK,CAAC;QAEnD,IACE,qBAAqB,IAAI,IAAI;YAC7B,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YACjD,MAAM,CAAC,qBAAqB,CAAC,KAAK,WAAW,EAC7C,CAAC;YACD,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,OAAO;aACJ,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;aAClD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;aAClD,KAAK,CAAC,GAAG,EAAE;YACV,KAAK,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC/B,CAAC,CAAC,CAAC;QACL,OAAO,CAAC,oBAAoB,CAC1B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAC/B,QAAQ,CAAC,OAAO,CACjB,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,WAAmB,EAAE,QAA0B;QAC5D,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAE5D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CACjD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAC5B,GAAG,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAC1D,CAAC;QACF,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,mBAAmB,GAAG,aAAa,CAAC,iBAAiB,CACzD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAClC,CAAC,KAAK,CAAC;YAER,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC;YAExC,aAAa,CAAC,iBAAiB,CAC7B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EACjC,WAAW,CACZ,CAAC;YACF,aAAa,CAAC,yBAAyB,CACrC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAC5C,CAAC;YACF,MAAM,cAAc,GAAG,aAAa,CAAC,iBAAiB,CACpD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAC5C,CAAC;YACF,MAAM,qBAAqB,GAAG,cAAc,CAAC,KAAK,CAAC;YACnD,IACE,qBAAqB,IAAI,IAAI;gBAC7B,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBACjD,MAAM,CAAC,qBAAqB,CAAC,KAAK,MAAM,CAAC,mBAAmB,CAAC,EAC7D,CAAC;gBACD,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;YACD,aAAa,CAAC,oBAAoB,CAChC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAC/B,QAAQ,CAAC,OAAO,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,OAAgB;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEnD,IACE,IAAI;YACJ,IAAI,CAAC,OAAO,KAAK,OAAO;YACxB,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,oBAAoB,EAC3C,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxD,IACE,MAAM;YACN,MAAM,CAAC,OAAO,KAAK,OAAO;YAC1B,GAAG,GAAG,MAAM,CAAC,SAAS;gBACpB,kCAAkC,CAAC,0BAA0B,EAC/D,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAkB,CAAC;YAE7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,qBAAqB,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CACrL,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAElC,MAAM,IAAA,oCAAiB,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;gBAChE,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;YAEH,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,qBAAqB,IAAI,CAAC,UAAU,+DAA+D,CACpG,CAAC;gBAEF,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE1C,MAAM,IAAA,8BAAW,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;oBAC1D,gBAAgB,EAAE,KAAK;iBACxB,CAAC,CAAC;gBAEH,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,EAAE,CAAC;oBAC1D,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,CAAC,UAAU,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAC9F,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAEhD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE5C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpC,OAAO;gBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAE7B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE;gBACvC,OAAO;gBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEvE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,aAAa,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,sBAAsB,IAAI,CAAC,UAAU,KAAK,OAAO,IAAI;gBAC9F,0DAA0D;gBAC1D,GAAG,kCAAkC,CAAC,0BAA0B,GAAG,IAAI,IAAI,CAC9E,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,MAAM,CAClB,OAAgB,EAChB,uBAA+B;QAE/B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,IAAA,sBAAa,EAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACtD,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAC1D,IAAI,CAAC,UAAU,EACf,uBAAuB,CACxB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEpC,OAAO,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC;IACrC,CAAC;IAEO,aAAa,CAAC,OAAgB;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAC3C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAC5B,GAAG,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAC1D,CAAC;QACF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;;AA1OuB,6DAA0B,GAAG,KAAK,AAAR,CAAS"}
|
|
1
|
+
{"version":3,"file":"hap_schedule_accessory.js","sourceRoot":"","sources":["../src/hap_schedule_accessory.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.js
CHANGED
|
@@ -93,11 +93,13 @@ class RoborockPlatform {
|
|
|
93
93
|
this.stateSensors = new Map();
|
|
94
94
|
/** Optional HAP schedule accessories, keyed by vacuum duid. */
|
|
95
95
|
this.hapScheduleAccessories = new Map();
|
|
96
|
+
this.schedulePolicyLogged = false;
|
|
96
97
|
this.matterUnavailableLogged = false;
|
|
97
98
|
this.hapPairingHintLogged = false;
|
|
98
99
|
this.platformConfig = config;
|
|
99
100
|
// Initialise logging utility
|
|
100
101
|
this.log = new logger_1.default(homebridgeLogger, this.platformConfig.debugMode);
|
|
102
|
+
this.scheduleAccountCoordinator = new hap_schedule_accessory_1.ScheduleAccountCoordinator();
|
|
101
103
|
// Create Roborock App communication module
|
|
102
104
|
const username = this.platformConfig.email;
|
|
103
105
|
const password = this.platformConfig.password;
|
|
@@ -471,6 +473,10 @@ class RoborockPlatform {
|
|
|
471
473
|
}
|
|
472
474
|
return;
|
|
473
475
|
}
|
|
476
|
+
if (!this.schedulePolicyLogged) {
|
|
477
|
+
this.schedulePolicyLogged = true;
|
|
478
|
+
this.log.info(this.scheduleAccountCoordinator.policyDescription());
|
|
479
|
+
}
|
|
474
480
|
// An empty device list is normally a temporary Roborock/cloud failure.
|
|
475
481
|
// Never remove schedule accessories because discovery temporarily
|
|
476
482
|
// returned no devices.
|
|
@@ -548,7 +554,7 @@ class RoborockPlatform {
|
|
|
548
554
|
if (!accessory) {
|
|
549
555
|
accessory = new this.api.platformAccessory(`${target.vacuumName} schedules`, uuid);
|
|
550
556
|
}
|
|
551
|
-
schedule = new hap_schedule_accessory_1.default(this, accessory, duid);
|
|
557
|
+
schedule = new hap_schedule_accessory_1.default(this, accessory, duid, this.scheduleAccountCoordinator);
|
|
552
558
|
this.hapScheduleAccessories.set(duid, schedule);
|
|
553
559
|
void schedule
|
|
554
560
|
.initialize(target.vacuumName)
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.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.
|
|
3
|
+
"version": "3.22.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": {
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Marks an error as "the robot answered and declined", as opposed to anything
|
|
5
|
+
* that went wrong on our side or on the wire. `catchError` keys its calm
|
|
6
|
+
* branch on this.
|
|
7
|
+
*/
|
|
8
|
+
const METHOD_REFUSED_CODE = "ROBOROCK_METHOD_REFUSED";
|
|
9
|
+
|
|
3
10
|
/**
|
|
4
11
|
* A Roborock reply carries its payload in `result`. A reply that has an `id`
|
|
5
12
|
* but no `result` at all is not an empty success — the robot took the request
|
|
@@ -63,4 +70,51 @@ function describeReplyRefusal(reply) {
|
|
|
63
70
|
}
|
|
64
71
|
}
|
|
65
72
|
|
|
66
|
-
|
|
73
|
+
/**
|
|
74
|
+
* A robot that answers a request and declines it has told us a fact about
|
|
75
|
+
* itself. It is not a plugin failure, and it must not be rendered as one.
|
|
76
|
+
*
|
|
77
|
+
* 3.21.3 made the refusal visible but threw it as a bare `Error`, so it
|
|
78
|
+
* carried no code and matched none of `catchError`'s calm branches. It landed
|
|
79
|
+
* on the final `else` and was logged with `error.stack` — an ERROR line plus a
|
|
80
|
+
* ten-frame JavaScript stack trace pointing at our own MQTT handler, twice per
|
|
81
|
+
* poll cycle, for as long as the robot is on the account. Issue #22's Saros 10R
|
|
82
|
+
* refuses `get_server_timer` with `Not FCC robot (code -10007)` on every poll:
|
|
83
|
+
* the stack trace describes nothing that went wrong, and the repetition buries
|
|
84
|
+
* real errors.
|
|
85
|
+
*
|
|
86
|
+
* Tagging the error at the point of construction is what puts it on a calm
|
|
87
|
+
* branch by construction, rather than leaving every caller to recognise a
|
|
88
|
+
* refusal from its prose — the failure mode `getTransientErrorKind` already
|
|
89
|
+
* documents.
|
|
90
|
+
*
|
|
91
|
+
* @param {string} message human-readable refusal, already naming method and id
|
|
92
|
+
* @param {unknown} reply the decoded reply the refusal came from
|
|
93
|
+
* @returns {Error & { code: string, robotErrorCode?: unknown }}
|
|
94
|
+
*/
|
|
95
|
+
function createRefusalError(message, reply) {
|
|
96
|
+
const error =
|
|
97
|
+
/** @type {Error & { code: string, robotErrorCode?: unknown }} */ (
|
|
98
|
+
new Error(message)
|
|
99
|
+
);
|
|
100
|
+
error.code = METHOD_REFUSED_CODE;
|
|
101
|
+
|
|
102
|
+
const replyError =
|
|
103
|
+
reply && typeof reply === "object"
|
|
104
|
+
? /** @type {any} */ (reply).error
|
|
105
|
+
: null;
|
|
106
|
+
if (replyError && typeof replyError === "object") {
|
|
107
|
+
const code = /** @type {any} */ (replyError).code;
|
|
108
|
+
if (code !== undefined && code !== null) {
|
|
109
|
+
error.robotErrorCode = code;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
return error;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
module.exports = {
|
|
117
|
+
describeReplyRefusal,
|
|
118
|
+
createRefusalError,
|
|
119
|
+
METHOD_REFUSED_CODE,
|
|
120
|
+
};
|
|
@@ -5,7 +5,10 @@ const Parser = require("binary-parser").Parser;
|
|
|
5
5
|
const net = require("net");
|
|
6
6
|
const dgram = require("dgram");
|
|
7
7
|
const { describeDevice } = require("./describeDevice");
|
|
8
|
-
const {
|
|
8
|
+
const {
|
|
9
|
+
describeReplyRefusal,
|
|
10
|
+
createRefusalError,
|
|
11
|
+
} = require("./describeReplyRefusal");
|
|
9
12
|
|
|
10
13
|
const PORT = 58866;
|
|
11
14
|
const TIMEOUT = 5000; // 5 Sekunden Timeout
|
|
@@ -603,8 +606,9 @@ class localConnector {
|
|
|
603
606
|
}
|
|
604
607
|
if (refusal && typeof reject === "function") {
|
|
605
608
|
reject(
|
|
606
|
-
|
|
607
|
-
`The robot refused ${method || "the request"} (local id ${id}): ${refusal}
|
|
609
|
+
createRefusalError(
|
|
610
|
+
`The robot refused ${method || "the request"} (local id ${id}): ${refusal}`,
|
|
611
|
+
parsed_102
|
|
608
612
|
)
|
|
609
613
|
);
|
|
610
614
|
return;
|
|
@@ -6,7 +6,10 @@ const Parser = require("binary-parser").Parser;
|
|
|
6
6
|
const zlib = require("zlib");
|
|
7
7
|
const roborockCrypto = require("./roborockCrypto");
|
|
8
8
|
const { describeDevice } = require("./describeDevice");
|
|
9
|
-
const {
|
|
9
|
+
const {
|
|
10
|
+
describeReplyRefusal,
|
|
11
|
+
createRefusalError,
|
|
12
|
+
} = require("./describeReplyRefusal");
|
|
10
13
|
|
|
11
14
|
const PHOTO_MAGIC = "ROBOROCK";
|
|
12
15
|
const PHOTO_HEADER_MIN_LENGTH = 9;
|
|
@@ -417,8 +420,9 @@ class roborock_mqtt_connector {
|
|
|
417
420
|
const refusal = describeReplyRefusal(dps);
|
|
418
421
|
if (refusal) {
|
|
419
422
|
pending.reject(
|
|
420
|
-
|
|
421
|
-
`The robot refused ${pending.method || "the request"} (cloud id ${dps.id}): ${refusal}
|
|
423
|
+
createRefusalError(
|
|
424
|
+
`The robot refused ${pending.method || "the request"} (cloud id ${dps.id}): ${refusal}`,
|
|
425
|
+
dps
|
|
422
426
|
)
|
|
423
427
|
);
|
|
424
428
|
} else {
|
|
@@ -20,6 +20,7 @@ const RRMapParser = require("./lib/RRMapParser");
|
|
|
20
20
|
const messageQueueHandler =
|
|
21
21
|
require("./lib/messageQueueHandler").messageQueueHandler;
|
|
22
22
|
const roborockCrypto = require("./lib/roborockCrypto");
|
|
23
|
+
const { METHOD_REFUSED_CODE } = require("./lib/describeReplyRefusal");
|
|
23
24
|
const b01Q7Adapter = require("./lib/b01Q7Adapter");
|
|
24
25
|
|
|
25
26
|
// v1 states in which the robot is actively doing something and state
|
|
@@ -4316,6 +4317,33 @@ class Roborock {
|
|
|
4316
4317
|
return;
|
|
4317
4318
|
}
|
|
4318
4319
|
|
|
4320
|
+
// A refusal the robot spelled out is a fact about that robot, not a
|
|
4321
|
+
// plugin failure: nothing on our side went wrong, so there is no stack
|
|
4322
|
+
// worth printing, and the same robot will keep saying the same thing on
|
|
4323
|
+
// every poll. Say it once so the owner learns why a feature is missing,
|
|
4324
|
+
// then keep quiet. (Issue #22: a Saros 10R refuses `get_server_timer`
|
|
4325
|
+
// with "Not FCC robot", which 3.21.3 rendered as an ERROR plus a
|
|
4326
|
+
// ten-frame stack trace twice per poll cycle, indefinitely.)
|
|
4327
|
+
if (
|
|
4328
|
+
error &&
|
|
4329
|
+
typeof error === "object" &&
|
|
4330
|
+
error.code === METHOD_REFUSED_CODE
|
|
4331
|
+
) {
|
|
4332
|
+
if (!this._reportedMethodRefusals) {
|
|
4333
|
+
this._reportedMethodRefusals = new Set();
|
|
4334
|
+
}
|
|
4335
|
+
const seenKey = `${duid || "unknown"}:${attribute || "unknown"}`;
|
|
4336
|
+
if (this._reportedMethodRefusals.has(seenKey)) {
|
|
4337
|
+
this.log.debug(errorText);
|
|
4338
|
+
} else {
|
|
4339
|
+
this._reportedMethodRefusals.add(seenKey);
|
|
4340
|
+
this.log.warn(
|
|
4341
|
+
`${this.describeDevice(duid)} (${model || "unknown model"}) refuses ${attribute}: ${error.message}. This is the robot's own answer, not a plugin failure; it will not be reported again this session.`
|
|
4342
|
+
);
|
|
4343
|
+
}
|
|
4344
|
+
return;
|
|
4345
|
+
}
|
|
4346
|
+
|
|
4319
4347
|
const transientErrorKind =
|
|
4320
4348
|
(typeof error === "object" && error?.transientKind) ||
|
|
4321
4349
|
this.getTransientErrorKind(errorText);
|