@cecnic1989/homebridge-roborock-mower 0.5.2 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -41
- package/dist/platform.d.ts +5 -0
- package/dist/platform.js +118 -22
- package/dist/platform.js.map +1 -1
- package/dist/roborock/mqtt-client.d.ts +2 -0
- package/dist/roborock/mqtt-client.js +17 -5
- package/dist/roborock/mqtt-client.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -7,93 +7,89 @@
|
|
|
7
7
|
[](https://www.npmjs.com/package/@cecnic1989/homebridge-roborock-mower)
|
|
8
8
|
[](https://github.com/cecnic1989/homebridge-roborock-mower/actions/workflows/build.yml)
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
> **Early development.** Status sensors and battery work (tested on a RockMow Z1 / X120H). Controls are next.
|
|
10
|
+
Apple Home support for Roborock RockMow robot lawn mowers. Tested on a RockMow Z1 / X120H.
|
|
13
11
|
|
|
14
12
|
## Features
|
|
15
13
|
|
|
16
|
-
- **State sensors**
|
|
17
|
-
- **Needs Attention**
|
|
18
|
-
- **Battery** level, charging state, low-battery flag
|
|
19
|
-
- **
|
|
20
|
-
|
|
21
|
-
- **Mow and Pause switches** (optional) to start, dock, pause and resume from Home automations and Siri
|
|
14
|
+
- **State sensors** — Docked, Leaving, Mowing, Returning; contact sensors driven by Roborock's cloud push
|
|
15
|
+
- **Needs Attention** — opens when the mower is stuck, faulted, or stopped with its button
|
|
16
|
+
- **Battery** — level, charging state, low-battery flag
|
|
17
|
+
- **Mow and Pause switches** — optional; start, dock, pause and resume from Siri or automations
|
|
22
18
|
|
|
23
19
|
## Automations
|
|
24
20
|
|
|
25
|
-
Each state is a contact sensor so
|
|
21
|
+
Each state is a contact sensor, so Home triggers on it with *A Sensor Detects Something*:
|
|
26
22
|
|
|
27
23
|
| Sensor | Opens when | Closes when |
|
|
28
24
|
|---|---|---|
|
|
29
|
-
| **Docked** | it leaves the dock | it is back on the dock
|
|
25
|
+
| **Docked** | it leaves the dock | it is back on the dock |
|
|
30
26
|
| **Leaving** | a job starts (initializing / undocking) | it begins cutting |
|
|
31
27
|
| **Mowing** | it starts cutting or driving to a zone | cutting stops |
|
|
32
28
|
| **Returning** | it heads back to the dock | it reaches the dock |
|
|
33
|
-
| **Needs Attention** | it reports an error
|
|
29
|
+
| **Needs Attention** | it reports an error or fault, or STOP was pressed | the condition clears |
|
|
30
|
+
|
|
31
|
+
**Dock inside a garage.** Use *Docked opens → open door*, *Returning opens → open door*, *Docked closes → close door*.
|
|
32
|
+
|
|
33
|
+
Two things to know before automating the door:
|
|
34
|
+
|
|
35
|
+
- **Do not close the door on Mowing.** Mowing opens while the mower is still inside the garage. Leave the door open for the duration of the mow, or close it on a timer.
|
|
36
|
+
- Prefer **Docked opens** over *Leaving opens* to trigger the departure: both fire on the same push, but Docked can only open once per trip. The mower starts moving ~1.5 s later, so if your door is slow, also trigger from the mowing schedule.
|
|
34
37
|
|
|
35
|
-
|
|
36
|
-
Prefer **Docked opens** over *Leaving opens* for the departure trigger: both fire on the same push, but Docked can only open once per trip. The mower starts driving ~1.5 s after that push, so if the door needs longer, add a time-based automation on the mowing schedule as well.
|
|
38
|
+
**Notifications** need no automation: open the *Needs Attention* sensor in Home → *Status and Notifications* → *Notify when opens*. Pauses made from the Roborock app do not trigger it.
|
|
37
39
|
|
|
38
40
|
## Controls
|
|
39
41
|
|
|
40
|
-
Off by default.
|
|
42
|
+
Off by default. Enable **Control switches (Mow, Pause)** in the plugin settings and restart Homebridge:
|
|
41
43
|
|
|
42
44
|
| Switch | Turn on | Turn off |
|
|
43
45
|
|---|---|---|
|
|
44
46
|
| **Mow** | start a full-lawn mow | send it back to the dock |
|
|
45
47
|
| **Pause** | pause the current job | resume it |
|
|
46
48
|
|
|
47
|
-
|
|
49
|
+
Switches reflect the mower's real state, so a job started in the Roborock app reads as Mow on. A paused or rain-delayed job still counts as on — turning Mow off then cancels it and docks. Rejected or unanswered commands surface as an error in Home and the switch keeps its true value.
|
|
48
50
|
|
|
49
|
-
|
|
51
|
+
> **Scenes:** "turn everything on" flips every switch in the room, including Mow. Keep the switches out of scenes, or leave controls off.
|
|
50
52
|
|
|
51
|
-
|
|
53
|
+
## Behaviour notes
|
|
52
54
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
Sensors flip only after a state holds for `sensorDebounceSeconds` (default 3 s); faults and battery update immediately. While the cloud connection is down, sensors show as inactive rather than stale.
|
|
55
|
+
- Accessories take the mower's name from the Roborock app; names you set in Home are kept.
|
|
56
|
+
- Sensors flip only after a state holds for `sensorDebounceSeconds`. This rides out the brief dock-contact flap when the mower resumes from a mid-job charge, which would otherwise re-trigger dock automations. Faults and battery update immediately.
|
|
57
|
+
- Roborock's servers sometimes stop delivering updates without the connection appearing to drop. The plugin detects this and reconnects on its own; sensors show as inactive rather than stale while it does.
|
|
58
58
|
|
|
59
59
|
## Requirements
|
|
60
60
|
|
|
61
61
|
- Homebridge `^1.8.0` or `^2.0.0-beta.0`
|
|
62
62
|
- Node.js `^20.19.0 || ^22.10.0 || ^24.0.0`
|
|
63
|
-
- A Roborock account (same credentials as the
|
|
64
|
-
|
|
65
|
-
## Installation
|
|
63
|
+
- A Roborock account (same credentials as the mobile app)
|
|
66
64
|
|
|
67
|
-
|
|
65
|
+
## Setup
|
|
68
66
|
|
|
69
|
-
|
|
67
|
+
Install from the Homebridge UI: **Plugins** → search `@cecnic1989/homebridge-roborock-mower`.
|
|
70
68
|
|
|
71
|
-
|
|
72
|
-
2. Enter your Roborock account email and press **Send code**.
|
|
73
|
-
3. Enter the verification code Roborock emails you and press **Verify & save**.
|
|
74
|
-
4. Restart Homebridge.
|
|
69
|
+
Then **Plugins** → **Roborock Mower** → **Settings**: enter your Roborock email, press **Send code**, enter the emailed code, press **Verify & save**, and restart Homebridge.
|
|
75
70
|
|
|
76
|
-
Sign-in stores
|
|
71
|
+
Sign-in stores a cloud token in `<homebridge storage>/roborock-mower/session.json` (owner-only). Treat it like a password; **Sign out** removes it.
|
|
77
72
|
|
|
78
|
-
|
|
73
|
+
## Options
|
|
79
74
|
|
|
80
75
|
| Field | Default | Description |
|
|
81
76
|
|---|---|---|
|
|
82
77
|
| `exposeDocked`, `exposeLeaving`, `exposeMowing`, `exposeReturning` | `true` | Which state sensors to create |
|
|
83
|
-
| `exposeAttention` | `true` | Needs Attention sensor
|
|
84
|
-
| `exposeControls` | `false` | Mow and Pause switches |
|
|
78
|
+
| `exposeAttention` | `true` | Needs Attention sensor |
|
|
85
79
|
| `exposeBattery` | `true` | Battery service |
|
|
86
|
-
| `
|
|
87
|
-
| `
|
|
88
|
-
| `
|
|
80
|
+
| `exposeControls` | `false` | Mow and Pause switches |
|
|
81
|
+
| `faultIndicator` | `true` | Set StatusFault on sensors when the mower reports an error |
|
|
82
|
+
| `sensorDebounceSeconds` | `15` | How long a state must hold before its sensor flips (0–60) |
|
|
83
|
+
| `mqttLivenessProbe` | `true` | Check the live connection is still delivering, and reconnect if not |
|
|
84
|
+
| `pollInterval` | `3600` | Cloud re-sync interval in seconds (min 900). Live state arrives by push and Roborock rate-limits this call, so keep it high |
|
|
89
85
|
|
|
90
86
|
## Support
|
|
91
87
|
|
|
92
|
-
If your mower isn't picked up
|
|
88
|
+
If your mower isn't picked up or a control misbehaves, [open an issue](https://github.com/cecnic1989/homebridge-roborock-mower/issues) with your model number and debug logs (`homebridge -D`).
|
|
93
89
|
|
|
94
90
|
## Development
|
|
95
91
|
|
|
96
|
-
See [CONTRIBUTING.md](./CONTRIBUTING.md) for setup,
|
|
92
|
+
See [CONTRIBUTING.md](./CONTRIBUTING.md) for setup, testing, and design notes.
|
|
97
93
|
|
|
98
94
|
## License
|
|
99
95
|
|
package/dist/platform.d.ts
CHANGED
|
@@ -35,6 +35,8 @@ export declare class RoborockMowerPlatform implements DynamicPlatformPlugin {
|
|
|
35
35
|
private session?;
|
|
36
36
|
private reconcileTimer?;
|
|
37
37
|
private livenessTimer?;
|
|
38
|
+
private mqttConnectedAt?;
|
|
39
|
+
private quietDrop;
|
|
38
40
|
private retryTimer?;
|
|
39
41
|
private startPromise?;
|
|
40
42
|
private stopped;
|
|
@@ -46,8 +48,11 @@ export declare class RoborockMowerPlatform implements DynamicPlatformPlugin {
|
|
|
46
48
|
pollSeconds(): number;
|
|
47
49
|
reconcile(): Promise<void>;
|
|
48
50
|
livenessTick(): Promise<void>;
|
|
51
|
+
private rotateAgedConnection;
|
|
52
|
+
private silentFor;
|
|
49
53
|
private probeLiveness;
|
|
50
54
|
private checkMqttLiveness;
|
|
55
|
+
private markOutage;
|
|
51
56
|
private restartMqtt;
|
|
52
57
|
private sensorOptions;
|
|
53
58
|
private now;
|
package/dist/platform.js
CHANGED
|
@@ -2,7 +2,7 @@ import { MowerAccessory } from './mower/accessory.js';
|
|
|
2
2
|
import { ACTION_LABELS, isOk, LIVENESS_PROBE, remotePbParams } from './mower/commands.js';
|
|
3
3
|
import { deriveMowerState, describeAttention, describeMowState } from './mower/state.js';
|
|
4
4
|
import { findMowers } from './roborock/mower.js';
|
|
5
|
-
import { RoborockMqtt } from './roborock/mqtt-client.js';
|
|
5
|
+
import { RequestTimeout, RoborockMqtt } from './roborock/mqtt-client.js';
|
|
6
6
|
import { readSession, writeStatus } from './roborock/session-store.js';
|
|
7
7
|
import { RoborockApiError } from './roborock/types.js';
|
|
8
8
|
import { RoborockWebApi } from './roborock/web-api.js';
|
|
@@ -21,6 +21,14 @@ const MQTT_LIVENESS_INTERVAL_MS = 15 * 60_000; // needs no cloud call, so it run
|
|
|
21
21
|
// connected broker, at most one probe restart per mower per dormancy cycle, and re-arming requires a real
|
|
22
22
|
// frame — so a healthy connection with an answering mower sees zero extra restarts.
|
|
23
23
|
const PROBE_FAILURE_LIMIT = 2;
|
|
24
|
+
// The broker kills subscriptions silently after ~3.5-4h (observed 2026-08-27..29, after every connect); a
|
|
25
|
+
// connection that never reaches that age never dies silently. Rotation only ever runs while the mower is
|
|
26
|
+
// QUIET, which is both the cheap moment (nothing to drop in the ~1s gap) and the only case that needs it:
|
|
27
|
+
// silence from an active mower is noticed within a probe cycle, whereas a docked mower is indistinguishable
|
|
28
|
+
// from a dead subscription — that is what stranded the 6 AM undock push. A connection that stays busy past
|
|
29
|
+
// this age simply keeps running until the job ends and it falls quiet.
|
|
30
|
+
const MQTT_MAX_CONNECTION_AGE_MS = 2 * 3_600_000;
|
|
31
|
+
const ROTATION_QUIET_MS = 5 * 60_000;
|
|
24
32
|
const SESSION_EXPIRED = 'session-expired';
|
|
25
33
|
function message(error) {
|
|
26
34
|
return error instanceof Error ? error.message : String(error);
|
|
@@ -77,6 +85,8 @@ export class RoborockMowerPlatform {
|
|
|
77
85
|
session;
|
|
78
86
|
reconcileTimer;
|
|
79
87
|
livenessTimer;
|
|
88
|
+
mqttConnectedAt;
|
|
89
|
+
quietDrop = false; // the last disconnect was our own refresh, so it was not reported as an outage
|
|
80
90
|
retryTimer;
|
|
81
91
|
startPromise;
|
|
82
92
|
stopped = false;
|
|
@@ -115,8 +125,16 @@ export class RoborockMowerPlatform {
|
|
|
115
125
|
await this.syncFromCloud('re-sync');
|
|
116
126
|
this.checkMqttLiveness();
|
|
117
127
|
}
|
|
118
|
-
// Runs every 15 min: the active probe
|
|
128
|
+
// Runs every 15 min: age rotation first, then the active probe, then the passive fallback.
|
|
129
|
+
// Timer callbacks must never reject.
|
|
119
130
|
async livenessTick() {
|
|
131
|
+
// A refresh that never came back is an outage after all, and its drop was logged quietly at the time.
|
|
132
|
+
if (this.mqtt && !this.mqtt.connected && this.quietDrop) {
|
|
133
|
+
this.markOutage('Roborock MQTT is still disconnected');
|
|
134
|
+
}
|
|
135
|
+
if (this.rotateAgedConnection()) {
|
|
136
|
+
return; // the fresh connection needs no probe or passive check this tick
|
|
137
|
+
}
|
|
120
138
|
try {
|
|
121
139
|
await this.probeLiveness();
|
|
122
140
|
}
|
|
@@ -125,6 +143,27 @@ export class RoborockMowerPlatform {
|
|
|
125
143
|
}
|
|
126
144
|
this.checkMqttLiveness();
|
|
127
145
|
}
|
|
146
|
+
rotateAgedConnection() {
|
|
147
|
+
const now = this.now();
|
|
148
|
+
if (this.mqttConnectedAt === undefined || now - this.mqttConnectedAt < MQTT_MAX_CONNECTION_AGE_MS) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
for (const tracked of this.mowers.values()) {
|
|
152
|
+
if (this.silentFor(tracked, now) < ROTATION_QUIET_MS) {
|
|
153
|
+
return false; // never interrupt a delivering connection; wait for the job to end
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
const age = Math.round((now - this.mqttConnectedAt) / 60_000);
|
|
157
|
+
if (!this.restartMqtt()) {
|
|
158
|
+
return false; // a command is in flight; the next tick catches up
|
|
159
|
+
}
|
|
160
|
+
this.log.info(`Roborock MQTT connection is ${age} min old; refreshing it before the broker drops the subscription.`);
|
|
161
|
+
return true;
|
|
162
|
+
}
|
|
163
|
+
// How long since anything proved this mower's subscription delivers. Infinity when nothing ever has.
|
|
164
|
+
silentFor(tracked, now = this.now()) {
|
|
165
|
+
return tracked.lastAliveAt === undefined ? Infinity : now - tracked.lastAliveAt;
|
|
166
|
+
}
|
|
128
167
|
// Active end-to-end check: ask the mower a question it is guaranteed to answer ("unknown_method") and
|
|
129
168
|
// expect the reply over the push subscription. Two consecutive timeouts on a live connection mean the
|
|
130
169
|
// subscription is dead — restart once. Still silent after the restart means the mower is asleep, not the
|
|
@@ -178,27 +217,42 @@ export class RoborockMowerPlatform {
|
|
|
178
217
|
// a garage automation that never fired). The clock re-bases on each restart, so through a long quiet
|
|
179
218
|
// stretch the connection is refreshed every SILENT_PUSH_RESTART_MS and never grows old.
|
|
180
219
|
checkMqttLiveness() {
|
|
181
|
-
const
|
|
182
|
-
|
|
183
|
-
return; // a restart rejects every pending command; let the user's action settle and re-check next tick
|
|
184
|
-
}
|
|
185
|
-
const silent = [...this.mowers.values()].find((tracked) => tracked.lastAliveAt !== undefined && this.now() - tracked.lastAliveAt > SILENT_PUSH_RESTART_MS);
|
|
220
|
+
const now = this.now();
|
|
221
|
+
const silent = [...this.mowers.values()].find((tracked) => tracked.lastAliveAt !== undefined && this.silentFor(tracked, now) > SILENT_PUSH_RESTART_MS);
|
|
186
222
|
if (!silent) {
|
|
187
223
|
return;
|
|
188
224
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
225
|
+
const minutes = Math.round(this.silentFor(silent, now) / 60_000);
|
|
226
|
+
if (this.restartMqtt()) {
|
|
227
|
+
this.log.warn(`${silent.device.name}: no live traffic for ${minutes} min on a live connection; `
|
|
228
|
+
+ 'reconnecting MQTT as a precaution.');
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
// One place where an outage is reported, so what it does to the sensors cannot drift between callers.
|
|
232
|
+
markOutage(reason) {
|
|
233
|
+
this.quietDrop = false;
|
|
234
|
+
for (const tracked of this.mowers.values()) {
|
|
235
|
+
tracked.accessory.setOnline(false);
|
|
236
|
+
}
|
|
237
|
+
this.log.warn(`${reason}; sensors marked inactive until it reconnects.`);
|
|
192
238
|
}
|
|
193
239
|
// The connect transition re-seeds every clock on reconnect; re-basing here as well only covers the
|
|
194
240
|
// window until that reconnect completes, so a stalled reconnect cannot re-trip the passive check.
|
|
241
|
+
// Restarting rejects every pending command account-wide, so a command in flight always wins; callers get
|
|
242
|
+
// told whether the restart actually happened rather than each remembering to ask first.
|
|
195
243
|
restartMqtt() {
|
|
244
|
+
const mqtt = this.mqtt;
|
|
245
|
+
if (!mqtt?.connected || mqtt.busy()) {
|
|
246
|
+
return false;
|
|
247
|
+
}
|
|
196
248
|
for (const tracked of this.mowers.values()) {
|
|
197
249
|
if (tracked.lastAliveAt !== undefined) {
|
|
198
250
|
tracked.lastAliveAt = this.now();
|
|
199
251
|
}
|
|
200
252
|
}
|
|
201
|
-
this.
|
|
253
|
+
this.quietDrop = true;
|
|
254
|
+
mqtt.restart();
|
|
255
|
+
return true;
|
|
202
256
|
}
|
|
203
257
|
sensorOptions() {
|
|
204
258
|
const c = this.pluginConfig;
|
|
@@ -299,25 +353,40 @@ export class RoborockMowerPlatform {
|
|
|
299
353
|
try {
|
|
300
354
|
this.mqtt = new RoborockMqtt(session.userData.rriot, this.log, this.deps.connectMqtt);
|
|
301
355
|
this.mqtt.onConnectionChange((connected) => {
|
|
356
|
+
if (connected) {
|
|
357
|
+
this.mqttConnectedAt = this.now();
|
|
358
|
+
}
|
|
302
359
|
for (const tracked of this.mowers.values()) {
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
tracked.probeFailures = 0; // an ordinary outage plus one lost reply must not add up to a restart
|
|
306
|
-
}
|
|
307
|
-
else {
|
|
360
|
+
if (connected) {
|
|
361
|
+
tracked.accessory.setOnline(tracked.online);
|
|
308
362
|
// A fresh connection deserves a fresh 2h clock — this also covers restarts the client performs
|
|
309
363
|
// on its own (refused suback) and seeds mowers that have never delivered a frame.
|
|
310
364
|
tracked.lastAliveAt = this.now();
|
|
311
365
|
}
|
|
366
|
+
else {
|
|
367
|
+
tracked.probeFailures = 0; // an ordinary outage plus one lost reply must not add up to a restart
|
|
368
|
+
}
|
|
312
369
|
}
|
|
313
370
|
if (!connected) {
|
|
314
|
-
|
|
371
|
+
// A refresh we scheduled is not an outage: reporting one ~12x a day would train users to ignore
|
|
372
|
+
// the warning, and the sensors stay valid across a gap that lasts about a second. If the
|
|
373
|
+
// replacement never arrives, livenessTick escalates this to a real outage.
|
|
374
|
+
if (this.quietDrop) {
|
|
375
|
+
this.log.debug('Roborock MQTT reconnecting after a scheduled refresh.');
|
|
376
|
+
}
|
|
377
|
+
else {
|
|
378
|
+
this.markOutage('Roborock MQTT disconnected');
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
else {
|
|
382
|
+
this.quietDrop = false;
|
|
315
383
|
}
|
|
316
384
|
});
|
|
317
385
|
// Any decodable frame — a push, our reply, another client's reply — proves the subscription delivers.
|
|
318
386
|
this.mqtt.onFrame((duid) => {
|
|
319
387
|
const tracked = this.mowers.get(duid);
|
|
320
388
|
if (tracked) {
|
|
389
|
+
tracked.healArmed = true; // this mower's link demonstrably delivers: a later timeout is new evidence
|
|
321
390
|
tracked.lastAliveAt = this.now();
|
|
322
391
|
tracked.probeFailures = 0;
|
|
323
392
|
tracked.probeRestarted = false;
|
|
@@ -351,7 +420,7 @@ export class RoborockMowerPlatform {
|
|
|
351
420
|
accessory.setInformation({ model: device.model, serial: device.sn, firmware: device.fv });
|
|
352
421
|
const tracked = {
|
|
353
422
|
device, online: true, platformAccessory, accessory, dps: {},
|
|
354
|
-
probeFailures: 0, probeRestarted: false, probeDormant: false,
|
|
423
|
+
probeFailures: 0, probeRestarted: false, probeDormant: false, healArmed: true,
|
|
355
424
|
// The connect transition may already have passed (fresh install: the broker connects before the
|
|
356
425
|
// startup cloud sync tracks the mower); seed the clock now so the passive check covers it.
|
|
357
426
|
lastAliveAt: this.mqtt?.connected ? this.now() : undefined,
|
|
@@ -482,15 +551,42 @@ export class RoborockMowerPlatform {
|
|
|
482
551
|
}
|
|
483
552
|
// The switch's set handler resolves only when the mower acknowledged; sensors then follow via the push.
|
|
484
553
|
async command(duid, action) {
|
|
485
|
-
|
|
554
|
+
const mqtt = this.mqtt;
|
|
555
|
+
if (!mqtt) {
|
|
486
556
|
throw new Error('Roborock MQTT is not running.');
|
|
487
557
|
}
|
|
488
|
-
|
|
489
|
-
const
|
|
558
|
+
const tracked = this.mowers.get(duid);
|
|
559
|
+
const name = tracked?.device.name ?? duid;
|
|
560
|
+
// The thunk runs at publish time, so this also records when the command actually reached the wire —
|
|
561
|
+
// a queued command must not be vouched for by traffic that predates its own send.
|
|
562
|
+
let sentAt = this.now();
|
|
563
|
+
let reply;
|
|
564
|
+
try {
|
|
565
|
+
reply = await mqtt.request(duid, 'remote_pb', () => {
|
|
566
|
+
sentAt = this.now();
|
|
567
|
+
return remotePbParams(action, sentAt);
|
|
568
|
+
});
|
|
569
|
+
}
|
|
570
|
+
catch (error) {
|
|
571
|
+
// The publish reached the broker; a missing reply is the signature of a silently dropped
|
|
572
|
+
// subscription. The tap fails honestly, but reconnect NOW so the mower's own pushes (and the
|
|
573
|
+
// automations riding on them) work again in seconds instead of the probe's ~30 minutes. Skipped when
|
|
574
|
+
// a frame arrived since the command went out (the mower was merely slow), for a mower the cloud
|
|
575
|
+
// reports unreachable, and — the storm bound — until a frame proves the link came back to life, so a
|
|
576
|
+
// mower that never answers costs exactly one heal. restartMqtt() adds the transport preconditions:
|
|
577
|
+
// while disconnected, mqtt.js is already reconnecting and a restart would discard its queued publish.
|
|
578
|
+
const provenAlive = tracked?.lastAliveAt !== undefined && tracked.lastAliveAt >= sentAt;
|
|
579
|
+
if (error instanceof RequestTimeout && !provenAlive && tracked?.healArmed && tracked.online
|
|
580
|
+
&& this.restartMqtt()) {
|
|
581
|
+
tracked.healArmed = false; // consumed only when a reconnect actually happened
|
|
582
|
+
this.log.warn(`${name}: no reply to ${ACTION_LABELS[action]}; the subscription looks dead — `
|
|
583
|
+
+ 'reconnecting MQTT so live updates resume.');
|
|
584
|
+
}
|
|
585
|
+
throw error;
|
|
586
|
+
}
|
|
490
587
|
if (!isOk(reply)) {
|
|
491
588
|
throw new Error(`Unexpected reply: ${JSON.stringify(reply)}`);
|
|
492
589
|
}
|
|
493
|
-
const name = this.mowers.get(duid)?.device.name ?? duid;
|
|
494
590
|
this.log.info(`${name}: ${ACTION_LABELS[action]} command acknowledged`);
|
|
495
591
|
}
|
|
496
592
|
applyDps(tracked, update, source) {
|
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":"AAGA,OAAO,EAAE,cAAc,EAAsB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAoB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC5G,OAAO,EAA+B,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACtH,OAAO,EAAE,UAAU,EAAoB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAuB,WAAW,EAAqB,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/G,OAAO,EAAiB,gBAAgB,EAAsB,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAuD3D,MAAM,gBAAgB,GAAG,GAAG,CAAC,CAAC,kEAAkE;AAChG,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,gBAAgB,GAAG,CAAC,GAAG,MAAM,CAAC;AACpC,MAAM,aAAa,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,kEAAkE;AACpG,0GAA0G;AAC1G,wGAAwG;AACxG,MAAM,sBAAsB,GAAG,CAAC,GAAG,SAAS,CAAC;AAC7C,MAAM,yBAAyB,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,uDAAuD;AACtG,uGAAuG;AACvG,sGAAsG;AACtG,0GAA0G;AAC1G,oFAAoF;AACpF,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,0GAA0G;AAC1G,yGAAyG;AACzG,0GAA0G;AAC1G,4GAA4G;AAC5G,2GAA2G;AAC3G,uEAAuE;AACvE,MAAM,0BAA0B,GAAG,CAAC,GAAG,SAAS,CAAC;AACjD,MAAM,iBAAiB,GAAG,CAAC,GAAG,MAAM,CAAC;AACrC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAE1C,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,sFAAsF;AACtF,SAAS,YAAY,CAAC,KAAc,EAAE,QAAgB,EAAE,GAAW,EAAE,GAAW;IAC9E,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,2GAA2G;AAC3G,SAAS,aAAa,CAAC,KAAc,EAAE,QAAiB;IACtD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,QAAQ,CAAC,MAAmB;IACnC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IACxE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,YAAY,CAAC,MAAwC;IAC5D,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,KAAK,YAAY,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC;AAC/E,CAAC;AAED,MAAM,OAAO,qBAAqB;IAsBd;IACA;IACA;IACC;IAxBH,OAAO,CAAiB;IACxB,cAAc,CAAwB;IAEtC,WAAW,GAAmC,IAAI,GAAG,EAAE,CAAC;IACxD,YAAY,CAAsB;IAE1C,MAAM,CAAkB;IACxB,IAAI,CAAgB;IACpB,MAAM,CAAU;IAChB,OAAO,CAAiB;IACxB,cAAc,CAAkB;IAChC,aAAa,CAAkB;IAC/B,eAAe,CAAU;IACzB,SAAS,GAAG,KAAK,CAAC,CAAC,+EAA+E;IAClG,UAAU,CAAkB;IAC5B,YAAY,CAAiB;IAC7B,OAAO,GAAG,KAAK,CAAC;IAChB,oBAAoB,GAAG,KAAK,CAAC;IACpB,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE1D,YACkB,GAAY,EACZ,MAAsB,EACtB,GAAQ,EACP,OAAqB,EAAE;QAHxB,QAAG,GAAH,GAAG,CAAS;QACZ,WAAM,GAAN,MAAM,CAAgB;QACtB,QAAG,GAAH,GAAG,CAAK;QACP,SAAI,GAAJ,IAAI,CAAmB;QAExC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,MAA6B,CAAC;QAElD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,0FAA0F;IAC1F,kBAAkB,CAAC,SAA4B;QAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAChD,CAAC;IAED,WAAW;QACT,OAAO,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IAChH,CAAC;IAED,2GAA2G;IAC3G,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,mDAAmD;QAC7E,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,2FAA2F;IAC3F,qCAAqC;IACrC,KAAK,CAAC,YAAY;QAChB,sGAAsG;QACtG,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACxD,IAAI,CAAC,UAAU,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAChC,OAAO,CAAC,iEAAiE;QAC3E,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEO,oBAAoB;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,0BAA0B,EAAE,CAAC;YAClG,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,iBAAiB,EAAE,CAAC;gBACrD,OAAO,KAAK,CAAC,CAAC,mEAAmE;YACnF,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,CAAC,mDAAmD;QACnE,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,GAAG,mEAAmE,CAAC,CAAC;QACrH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qGAAqG;IAC7F,SAAS,CAAC,OAAqB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QACvD,OAAO,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;IAClF,CAAC;IAED,sGAAsG;IACtG,sGAAsG;IACtG,yGAAyG;IACzG,yFAAyF;IACjF,KAAK,CAAC,aAAa;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC;YACvE,OAAO;QACT,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,OAAO,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,SAAS;mBACtC,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,yBAAyB,CAAC,EAAE,CAAC;gBAClG,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;YACpG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,oBAAoB,OAAO,EAAE,CAAC,CAAC;YACpE,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACxB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;gBAC1B,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;YACjC,CAAC;iBAAM,IAAI,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChD,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,IAAI,GAAG,EAAE,CAAC;oBACpE,SAAS,CAAC,kGAAkG;gBAC9G,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBAChB,SAAS,CAAC,sFAAsF;gBAClG,CAAC;gBACD,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;gBAC3B,IAAI,OAAO,CAAC,aAAa,IAAI,mBAAmB,EAAE,CAAC;oBACjD,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;oBAC1B,gGAAgG;oBAChG,4EAA4E;oBAC5E,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;wBAC5B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;wBAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,0EAA0E,CAAC,CAAC;wBAChH,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;wBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,kDAAkD;8BAClF,2CAA2C,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,yGAAyG;IACzG,0GAA0G;IAC1G,qGAAqG;IACrG,wFAAwF;IAChF,iBAAiB;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC3C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,sBAAsB,CACxG,CAAC;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,yBAAyB,OAAO,6BAA6B;kBAC5F,oCAAoC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,sGAAsG;IAC9F,UAAU,CAAC,MAAc;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,gDAAgD,CAAC,CAAC;IAC3E,CAAC;IAED,mGAAmG;IACnG,kGAAkG;IAClG,yGAAyG;IACzG,wFAAwF;IAChF,WAAW;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5B,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;YAC9B,OAAO,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI;YAChC,MAAM,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;YAC9B,SAAS,EAAE,CAAC,CAAC,eAAe,IAAI,IAAI;YACpC,SAAS,EAAE,CAAC,CAAC,eAAe,IAAI,IAAI;YACpC,OAAO,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI;YAChC,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI;YACxC,QAAQ,EAAE,CAAC,CAAC,cAAc,IAAI,KAAK;YACnC,kGAAkG;YAClG,yGAAyG;YACzG,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;SAClE,CAAC;IACJ,CAAC;IAEO,GAAG;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,aAAa,4EAA4E,CAAC,CAAC;YAC5G,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEzB,uHAAuH;QACvH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,gBAAgB,GAAG,MAAM,WAAW,CAAC,CAAC;YAC9F,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC5E,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,EAAE,yBAAyB,CAAC,CAAC;QAC5F,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC;IAC/B,CAAC;IAED,uGAAuG;IACvG,wGAAwG;IACxG,oBAAoB;QAClB,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChE,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAC9F,OAAO,OAAO,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,IAAI,OAAO,GAAG,aAAa,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,OAAO,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9F,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,UAAU,CAC9B,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,EACnE,IAAI,CAAC,oBAAoB,EAAE,GAAG,IAAI,CACnC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;IAChC,CAAC;IAEO,UAAU,CAAC,OAAsB;QACvC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC;YAC/B,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;SACrH,CAAC,CAAC;IACL,CAAC;IAED,uHAAuH;IAC/G,KAAK,CAAC,eAAe;QAC3B,IAAI,OAAkC,CAAC;QACvC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;YACxE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;QACvG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAClB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,OAAsB;QACtC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtF,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,EAAE,EAAE;gBACzC,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpC,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC3C,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC5C,+FAA+F;wBAC/F,kFAAkF;wBAClF,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,sEAAsE;oBACnG,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,gGAAgG;oBAChG,yFAAyF;oBACzF,2EAA2E;oBAC3E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;oBAC1E,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,sGAAsG;YACtG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,2EAA2E;oBACrG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACjC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;oBAC1B,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC/B,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC/B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,OAAO,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAC1H,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,sHAAsH;IACtH,IAAY,IAAI;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,4HAA4H;IACpH,gBAAgB;QACtB,KAAK,MAAM,iBAAiB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAI,iBAAiB,CAAC,OAAwB,CAAC,MAAM,CAAC;YAClE,IAAI,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAoC,EAAE,MAAoB;QACtE,MAAM,SAAS,GAAG,IAAI,cAAc,CAClC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,EAAE,EAC/D,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAC9C,CAAC;QACF,SAAS,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAiB;YAC5B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;YAC3D,aAAa,EAAE,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI;YAC7E,gGAAgG;YAChG,2FAA2F;YAC3F,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;SAC3D,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,aAAa,CAAC,OAAqB;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,uDAAuD,CAAC,CAAC;YAC9F,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAClH,CAAC;IAED,gGAAgG;IACxF,KAAK,CAAC,aAAa,CAAC,MAAc;QACxC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/E,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC/B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;gBAC/F,CAAC;gBACD,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,MAAM,YAAY,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,oGAAoG;IACpG,gGAAgG;IACxF,UAAU,CAAC,IAAc;QAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4CAA4C,MAAM,oBAAoB,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YAChC,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrD,IAAI,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,iBAAiB,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACtE,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACtF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;gBAChD,CAAC;gBACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;gBAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,IAAI,YAAY,MAAM,CAAC,KAAK,QAAQ,MAAM,CAAC,EAAE,YAAY,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAClH,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACvD,6GAA6G;gBAC7G,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACvB,OAAO,CAAC,iBAAiB,CAAC,OAAwB,CAAC,MAAM,GAAG,MAAM,CAAC;YAEpE,IAAI,OAAO,CAAC,iBAAiB,CAAC,WAAW,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC1D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,iBAAiB,CAAC,WAAW,SAAS,MAAM,CAAC,IAAI,iCAAiC,CAAC,CAAC;gBACvH,OAAO,CAAC,iBAAiB,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;gBACpD,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAEhE,mGAAmG;YACnG,0GAA0G;YAC1G,0GAA0G;YAC1G,iEAAiE;YACjE,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAC9F,IAAI,OAAO,GAAG,aAAa,EAAE,CAAC;gBAC5B,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC5F,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAC5C,IAAI,gBAAgB,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,IAAI,gBAAgB,KAAK,YAAY;uBAChG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC;oBACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,wBAAwB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,gCAAgC;0BAC5G,oDAAoD,CAAC,CAAC;oBAC1D,iBAAiB,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,2DAA2D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACjI,CAAC;YACD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC;YACzC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,sGAAsG;QACtG,oGAAoG;QACpG,IAAI,iBAAiB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,OAAqB;QAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gDAAgD,OAAO,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC;QACvG,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,wGAAwG;IAChG,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,MAAmB;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;QAC1C,oGAAoG;QACpG,kFAAkF;QAClF,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,IAAI,KAAc,CAAC;QACnB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE;gBACjD,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACpB,OAAO,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yFAAyF;YACzF,6FAA6F;YAC7F,qGAAqG;YACrG,gGAAgG;YAChG,qGAAqG;YACrG,mGAAmG;YACnG,sGAAsG;YACtG,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC;YACxF,IAAI,KAAK,YAAY,cAAc,IAAI,CAAC,WAAW,IAAI,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,MAAM;mBACtF,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,mDAAmD;gBAC9E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,iBAAiB,aAAa,CAAC,MAAM,CAAC,kCAAkC;sBACzF,2CAA2C,CAAC,CAAC;YACnD,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,aAAa,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC1E,CAAC;IAEO,QAAQ,CAAC,OAAqB,EAAE,MAAwC,EAAE,MAAwB;QACxG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,CAAC;QACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,KAAK,CAAC,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC;QAClH,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;YAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,uBAAuB,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzF,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,6BAA6B,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;QACrB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,SAAkB;QACzC,MAAM,OAAO,GAAmB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC1E,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;YAC3B,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW;YACvC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;YACrB,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ;YAChC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YAChF,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YACrE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO;SAC/B,CAAC,CAAC,CAAC;QACJ,MAAM,MAAM,GAAmB,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACvG,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -11,6 +11,8 @@ export interface MqttLogger {
|
|
|
11
11
|
warn(message: string): void;
|
|
12
12
|
}
|
|
13
13
|
export type DpsListener = (dps: Record<number, unknown>) => void;
|
|
14
|
+
export declare class RequestTimeout extends Error {
|
|
15
|
+
}
|
|
14
16
|
export type ProbeOutcome = 'alive' | 'skipped' | 'dead';
|
|
15
17
|
export declare function mqttCredentials(rriot: Pick<RRiot, 'u' | 's' | 'k'> & {
|
|
16
18
|
r: Pick<RRiot['r'], 'm'>;
|
|
@@ -9,7 +9,7 @@ class RpcErrorReply extends Error {
|
|
|
9
9
|
class RequestAborted extends Error {
|
|
10
10
|
}
|
|
11
11
|
// The request went out and nothing came back — the only failure that actually indicts the subscription.
|
|
12
|
-
class RequestTimeout extends Error {
|
|
12
|
+
export class RequestTimeout extends Error {
|
|
13
13
|
}
|
|
14
14
|
// Same derivation as the Roborock app (and python-roborock / ioBroker).
|
|
15
15
|
export function mqttCredentials(rriot) {
|
|
@@ -22,6 +22,9 @@ export function mqttCredentials(rriot) {
|
|
|
22
22
|
password: md5hex(`${rriot.s}:${rriot.k}`).slice(16),
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
+
function message(error) {
|
|
26
|
+
return error instanceof Error ? error.message : String(error);
|
|
27
|
+
}
|
|
25
28
|
const RESUBSCRIBE_INTERVAL_MS = 15 * 60_000; // the broker can silently drop a subscription; SUBSCRIBE is idempotent
|
|
26
29
|
const REFUSAL_RESTART_COOLDOWN_MS = 60_000; // a broker that keeps refusing must not spin us into a restart loop
|
|
27
30
|
const REQUEST_TIMEOUT_MS = 10_000;
|
|
@@ -135,9 +138,11 @@ export class RoborockMqtt {
|
|
|
135
138
|
const queue = this.commandQueues.get(duid) ?? { running: false };
|
|
136
139
|
this.commandQueues.set(duid, queue);
|
|
137
140
|
const job = {
|
|
141
|
+
// Queue bookkeeping settles BEFORE the caller is notified, so busy() answers correctly from a
|
|
142
|
+
// caller's catch block: an empty queue is already gone, a queued successor is already running.
|
|
138
143
|
start: () => this.requestNow(duid, method, params, timeoutMs)
|
|
139
|
-
.
|
|
140
|
-
.
|
|
144
|
+
.finally(() => this.onCommandSettled(duid, queue))
|
|
145
|
+
.then(resolve, reject),
|
|
141
146
|
cancel: (reason) => reject(new Error(reason)),
|
|
142
147
|
};
|
|
143
148
|
if (queue.running) {
|
|
@@ -174,17 +179,24 @@ export class RoborockMqtt {
|
|
|
174
179
|
busy() {
|
|
175
180
|
return this.commandQueues.size > 0;
|
|
176
181
|
}
|
|
182
|
+
// Runs from a .finally() ahead of the caller's settlement, so it must never throw: a synchronous failure
|
|
183
|
+
// starting the successor would otherwise replace the predecessor's result and leave the successor hanging.
|
|
177
184
|
onCommandSettled(duid, queue) {
|
|
178
185
|
if (this.commandQueues.get(duid) !== queue) {
|
|
179
186
|
return; // the queue was torn down (stop/restart/unsubscribe) while this command was settling
|
|
180
187
|
}
|
|
181
188
|
const next = queue.queued;
|
|
182
189
|
queue.queued = undefined;
|
|
183
|
-
if (next) {
|
|
190
|
+
if (!next) {
|
|
191
|
+
this.commandQueues.delete(duid);
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
try {
|
|
184
195
|
next.start();
|
|
185
196
|
}
|
|
186
|
-
|
|
197
|
+
catch (error) {
|
|
187
198
|
this.commandQueues.delete(duid);
|
|
199
|
+
next.cancel(message(error));
|
|
188
200
|
}
|
|
189
201
|
}
|
|
190
202
|
requestNow(duid, method, params, timeoutMs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt-client.js","sourceRoot":"","sources":["../../src/roborock/mqtt-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mqtt-client.js","sourceRoot":"","sources":["../../src/roborock/mqtt-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@cecnic1989/homebridge-roborock-mower",
|
|
3
3
|
"displayName": "Homebridge Roborock Mower",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.6.1",
|
|
6
6
|
"description": "Homebridge plugin for Roborock RockMow robot lawn mowers",
|
|
7
7
|
"author": "cecnic1989",
|
|
8
8
|
"license": "Apache-2.0",
|