@camstack/addon-provider-dreame 0.2.135 → 0.2.136
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/dist/addon.js +264 -44
- package/dist/addon.mjs +264 -44
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -44,7 +44,7 @@ let net = require("net");
|
|
|
44
44
|
net = __toESM(net, 1);
|
|
45
45
|
let zlib = require("zlib");
|
|
46
46
|
zlib = __toESM(zlib, 1);
|
|
47
|
-
//#region ../types/dist/event-category-
|
|
47
|
+
//#region ../types/dist/event-category-DOl51-Ij.mjs
|
|
48
48
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
49
49
|
EventCategory["SystemBoot"] = "system.boot";
|
|
50
50
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -123,9 +123,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
123
123
|
/**
|
|
124
124
|
* The node's one-shot runner boot check (D877): planned runners against the
|
|
125
125
|
* process service, `degraded` when any is failed, refused or missing. The
|
|
126
|
-
* alert centre turns it into one
|
|
126
|
+
* alert centre turns it into one critical alert.
|
|
127
127
|
*/
|
|
128
128
|
EventCategory["SystemRunnerCheck"] = "system.runner-check";
|
|
129
|
+
/**
|
|
130
|
+
* An alert EPISODE opened or closed, emitted by the alert centre for alerts
|
|
131
|
+
* of severity `critical` or `error` (`AlertEpisodePayload`). The alert
|
|
132
|
+
* centre sends no notification of its own: Notification Center turns this
|
|
133
|
+
* into the `alert-critical` / `alert-error` / `alert-critical-resolved`
|
|
134
|
+
* system-event kinds, and reconciles from the alerts store because a bus
|
|
135
|
+
* event may be dropped (D8, D11).
|
|
136
|
+
*/
|
|
137
|
+
EventCategory["AlertEpisode"] = "alert.episode";
|
|
129
138
|
EventCategory["AddonError"] = "addon.error";
|
|
130
139
|
EventCategory["AddonPageReady"] = "addon.page-ready";
|
|
131
140
|
EventCategory["AddonWidgetReady"] = "addon.widget-ready";
|
|
@@ -5450,7 +5459,7 @@ var ZodIssueCode$1 = {
|
|
|
5450
5459
|
var ZodFirstPartyTypeKind$1;
|
|
5451
5460
|
ZodFirstPartyTypeKind$1 || (ZodFirstPartyTypeKind$1 = {});
|
|
5452
5461
|
//#endregion
|
|
5453
|
-
//#region ../types/dist/sleep-
|
|
5462
|
+
//#region ../types/dist/sleep-BxjU_fJM.mjs
|
|
5454
5463
|
/**
|
|
5455
5464
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5456
5465
|
* window to float samples (D455).
|
|
@@ -13227,7 +13236,14 @@ var AlertSeveritySchema = _enum([
|
|
|
13227
13236
|
]);
|
|
13228
13237
|
var AlertActionSchema = object({
|
|
13229
13238
|
label: string(),
|
|
13230
|
-
href: string().optional()
|
|
13239
|
+
href: string().optional(),
|
|
13240
|
+
/**
|
|
13241
|
+
* How `href` is followed. Absent / `app`: an admin-ui route (client-side).
|
|
13242
|
+
* `server`: a route the HUB serves (an addon HTTP route such as an OAuth
|
|
13243
|
+
* start) — the browser must leave the SPA with a full navigation, because
|
|
13244
|
+
* the SPA has no such route and would bounce to the home page.
|
|
13245
|
+
*/
|
|
13246
|
+
navigation: _enum(["app", "server"]).optional()
|
|
13231
13247
|
});
|
|
13232
13248
|
var AlertStatusSchema = _enum([
|
|
13233
13249
|
"active",
|
|
@@ -41972,6 +41988,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
41972
41988
|
"server-updated",
|
|
41973
41989
|
"export-completed",
|
|
41974
41990
|
"backup-completed",
|
|
41991
|
+
"alert-critical",
|
|
41992
|
+
"alert-error",
|
|
41993
|
+
"alert-critical-resolved",
|
|
41975
41994
|
"camera-online",
|
|
41976
41995
|
"camera-offline",
|
|
41977
41996
|
"camera-disabled",
|
|
@@ -51048,7 +51067,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
|
|
|
51048
51067
|
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
51049
51068
|
kind: "mutation",
|
|
51050
51069
|
auth: "admin"
|
|
51051
|
-
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({
|
|
51070
|
+
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
|
|
51071
|
+
clear: boolean(),
|
|
51072
|
+
repointLocationId: string().optional()
|
|
51073
|
+
}), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
|
|
51052
51074
|
kind: "mutation",
|
|
51053
51075
|
auth: "admin"
|
|
51054
51076
|
}), method(StorageCleanupInputSchema, object({ jobId: string() }), {
|
|
@@ -55329,6 +55351,11 @@ onStatusChanged: { data: object({
|
|
|
55329
55351
|
*
|
|
55330
55352
|
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
55331
55353
|
* provider refreshes the slice on an interval and eagerly after commands.
|
|
55354
|
+
*
|
|
55355
|
+
* UNKNOWN IS NOT OFF. Every field the appliance reports separately is
|
|
55356
|
+
* nullable: `null` means "not known right now" (the appliance has not said,
|
|
55357
|
+
* the link is down, or the description does not carry it) and is never
|
|
55358
|
+
* rendered or exported as `false` / `0`. `availability` says why.
|
|
55332
55359
|
*/
|
|
55333
55360
|
var DishwasherStateSchema = _enum([
|
|
55334
55361
|
"idle",
|
|
@@ -55338,43 +55365,155 @@ var DishwasherStateSchema = _enum([
|
|
|
55338
55365
|
"error",
|
|
55339
55366
|
"unavailable"
|
|
55340
55367
|
]);
|
|
55368
|
+
/**
|
|
55369
|
+
* The appliance's own operation state, uncollapsed. `state` above is the coarse
|
|
55370
|
+
* view for compact surfaces; this is what the appliance said.
|
|
55371
|
+
*/
|
|
55372
|
+
var DishwasherOperationStateSchema = _enum([
|
|
55373
|
+
"Inactive",
|
|
55374
|
+
"Ready",
|
|
55375
|
+
"DelayedStart",
|
|
55376
|
+
"Run",
|
|
55377
|
+
"Pause",
|
|
55378
|
+
"ActionRequired",
|
|
55379
|
+
"Finished",
|
|
55380
|
+
"Error",
|
|
55381
|
+
"Aborting"
|
|
55382
|
+
]);
|
|
55383
|
+
/**
|
|
55384
|
+
* Why fields may be `null`:
|
|
55385
|
+
* - `available` — the link is up and the description is loaded;
|
|
55386
|
+
* - `offline` — the local link is down (values are unknown, not last-known);
|
|
55387
|
+
* - `description-missing` — the link is up but the appliance's description could not
|
|
55388
|
+
* be loaded, so its values cannot be decoded.
|
|
55389
|
+
*/
|
|
55390
|
+
var DishwasherAvailabilitySchema = _enum([
|
|
55391
|
+
"available",
|
|
55392
|
+
"offline",
|
|
55393
|
+
"description-missing"
|
|
55394
|
+
]);
|
|
55341
55395
|
var DishwasherConsumableLevelSchema = _enum([
|
|
55342
55396
|
"ok",
|
|
55343
55397
|
"low",
|
|
55344
55398
|
"empty"
|
|
55345
55399
|
]);
|
|
55346
55400
|
var DishwasherStatusSchema = object({
|
|
55401
|
+
availability: DishwasherAvailabilitySchema,
|
|
55402
|
+
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
55347
55403
|
state: DishwasherStateSchema,
|
|
55348
|
-
/**
|
|
55404
|
+
/** The appliance's operation state as reported; null when not known. */
|
|
55405
|
+
operationState: DishwasherOperationStateSchema.nullable(),
|
|
55406
|
+
/** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
|
|
55349
55407
|
program: string().nullable(),
|
|
55350
|
-
/**
|
|
55408
|
+
/** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
|
|
55409
|
+
selectedProgram: string().nullable(),
|
|
55410
|
+
/** Feature keys of the programs the appliance currently offers — drives the UI selector. */
|
|
55351
55411
|
availablePrograms: array(string()),
|
|
55352
|
-
/**
|
|
55353
|
-
|
|
55412
|
+
/** Seconds remaining on the active cycle, or null when not running / not known. */
|
|
55413
|
+
remainingSeconds: number().int().nonnegative().nullable(),
|
|
55414
|
+
/** Seconds the delayed start is set to (time until the cycle starts), or null. */
|
|
55415
|
+
delayedStartSeconds: number().int().nonnegative().nullable(),
|
|
55354
55416
|
/** Cycle completion 0..100, or null when not applicable. */
|
|
55355
55417
|
progressPercent: number().min(0).max(100).nullable(),
|
|
55356
|
-
/** True when the door is reported open. */
|
|
55357
|
-
doorOpen: boolean(),
|
|
55358
|
-
/** True when
|
|
55359
|
-
|
|
55360
|
-
/**
|
|
55361
|
-
|
|
55418
|
+
/** True when the door is reported open; null when the door state is not known. */
|
|
55419
|
+
doorOpen: boolean().nullable(),
|
|
55420
|
+
/** True when the door is latched (locked) during a cycle; null when not reported. */
|
|
55421
|
+
doorLocked: boolean().nullable(),
|
|
55422
|
+
/** True when remote start is allowed (door closed, power on, etc.); null when not known. */
|
|
55423
|
+
remoteStartAllowed: boolean().nullable(),
|
|
55424
|
+
/** True when the appliance accepts remote control now; null when not known. */
|
|
55425
|
+
remoteControlActive: boolean().nullable(),
|
|
55426
|
+
/** True while somebody operates the appliance at its panel; null when not reported. */
|
|
55427
|
+
localControlActive: boolean().nullable(),
|
|
55428
|
+
/** Main power / switched-on state; null when not known. */
|
|
55429
|
+
powerOn: boolean().nullable(),
|
|
55430
|
+
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
55431
|
+
powerState: string().nullable(),
|
|
55362
55432
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55363
55433
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55364
|
-
|
|
55365
|
-
|
|
55434
|
+
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55435
|
+
halfLoad: boolean().nullable(),
|
|
55436
|
+
hygienePlus: boolean().nullable(),
|
|
55366
55437
|
/** Extra dry option when the appliance exposes it. */
|
|
55367
|
-
extraDry: boolean(),
|
|
55438
|
+
extraDry: boolean().nullable(),
|
|
55368
55439
|
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
55369
|
-
intensiveZone: boolean(),
|
|
55440
|
+
intensiveZone: boolean().nullable(),
|
|
55370
55441
|
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
55371
|
-
varioSpeedPlus: boolean(),
|
|
55372
|
-
/** Child lock (controls disabled on the appliance). */
|
|
55373
|
-
childLock: boolean(),
|
|
55442
|
+
varioSpeedPlus: boolean().nullable(),
|
|
55443
|
+
/** Child lock (controls disabled on the appliance); null when not known. */
|
|
55444
|
+
childLock: boolean().nullable(),
|
|
55445
|
+
/** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
|
|
55446
|
+
activeEvents: array(string()),
|
|
55447
|
+
/** Numeric error code when the appliance reports one; null otherwise. */
|
|
55374
55448
|
errorCode: number().nullable(),
|
|
55449
|
+
/** Name of the raised alert-level event while the appliance is in error; null otherwise. */
|
|
55375
55450
|
errorLabel: string().nullable(),
|
|
55451
|
+
/** Ms epoch of the last value received from the appliance; 0 = never. */
|
|
55376
55452
|
lastFetchedAt: number()
|
|
55377
55453
|
});
|
|
55454
|
+
var DeviceIdSchema = number().int().nonnegative();
|
|
55455
|
+
/** A value a program option or setting can take. */
|
|
55456
|
+
var DishwasherValueSchema = union([
|
|
55457
|
+
boolean(),
|
|
55458
|
+
string(),
|
|
55459
|
+
number()
|
|
55460
|
+
]);
|
|
55461
|
+
var DishwasherAccessSchema = _enum([
|
|
55462
|
+
"none",
|
|
55463
|
+
"read",
|
|
55464
|
+
"readWrite",
|
|
55465
|
+
"writeOnly",
|
|
55466
|
+
"readStatic"
|
|
55467
|
+
]);
|
|
55468
|
+
/**
|
|
55469
|
+
* One option or setting the appliance declares, with the constraints its description
|
|
55470
|
+
* gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
|
|
55471
|
+
*/
|
|
55472
|
+
var DishwasherOptionDescriptorSchema = object({
|
|
55473
|
+
/** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
|
|
55474
|
+
key: string(),
|
|
55475
|
+
/** Last segment of the key, for display. */
|
|
55476
|
+
name: string(),
|
|
55477
|
+
type: _enum([
|
|
55478
|
+
"boolean",
|
|
55479
|
+
"number",
|
|
55480
|
+
"enum",
|
|
55481
|
+
"string"
|
|
55482
|
+
]),
|
|
55483
|
+
access: DishwasherAccessSchema,
|
|
55484
|
+
/** The appliance reports this entity as currently available. */
|
|
55485
|
+
available: boolean(),
|
|
55486
|
+
/** Unit the description declares for a number; null when it declares none. */
|
|
55487
|
+
unit: string().nullable(),
|
|
55488
|
+
min: number().nullable(),
|
|
55489
|
+
max: number().nullable(),
|
|
55490
|
+
step: number().nullable(),
|
|
55491
|
+
/** Allowed members of an enum; null for other types. */
|
|
55492
|
+
enumValues: array(string()).nullable(),
|
|
55493
|
+
defaultValue: DishwasherValueSchema.nullable()
|
|
55494
|
+
});
|
|
55495
|
+
var DishwasherProgramSchema = object({
|
|
55496
|
+
/** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
|
|
55497
|
+
key: string(),
|
|
55498
|
+
name: string(),
|
|
55499
|
+
/** The appliance currently offers this program. */
|
|
55500
|
+
available: boolean(),
|
|
55501
|
+
/** The options this program lists, with the program-level access / availability / default. */
|
|
55502
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
55503
|
+
});
|
|
55504
|
+
var DishwasherOptionsSchema = object({
|
|
55505
|
+
availability: DishwasherAvailabilitySchema,
|
|
55506
|
+
/** What the appliance can be told to do, from the commands its description declares. */
|
|
55507
|
+
supportsStart: boolean(),
|
|
55508
|
+
supportsPause: boolean(),
|
|
55509
|
+
supportsResume: boolean(),
|
|
55510
|
+
supportsStop: boolean(),
|
|
55511
|
+
supportsPower: boolean(),
|
|
55512
|
+
/** Every program the description lists, with its options. */
|
|
55513
|
+
programs: array(DishwasherProgramSchema),
|
|
55514
|
+
/** Every option and setting entity the description lists (programs reference these by key). */
|
|
55515
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
55516
|
+
});
|
|
55378
55517
|
var dishwasherCapability = {
|
|
55379
55518
|
name: "dishwasher",
|
|
55380
55519
|
scope: "device",
|
|
@@ -55382,86 +55521,102 @@ var dishwasherCapability = {
|
|
|
55382
55521
|
mode: "singleton",
|
|
55383
55522
|
deviceTypes: [DeviceType.Dishwasher],
|
|
55384
55523
|
methods: {
|
|
55385
|
-
|
|
55524
|
+
/**
|
|
55525
|
+
* Start a program. Without `program` the selected one starts. `options` are
|
|
55526
|
+
* option feature keys; each is checked against the program's constraints.
|
|
55527
|
+
*/
|
|
55528
|
+
start: method(object({
|
|
55529
|
+
deviceId: DeviceIdSchema,
|
|
55530
|
+
program: string().min(1).optional(),
|
|
55531
|
+
options: record(string(), DishwasherValueSchema).optional()
|
|
55532
|
+
}), _void(), {
|
|
55386
55533
|
kind: "mutation",
|
|
55387
55534
|
auth: "protected"
|
|
55388
55535
|
}),
|
|
55389
|
-
pause: method(object({ deviceId:
|
|
55536
|
+
pause: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
55390
55537
|
kind: "mutation",
|
|
55391
55538
|
auth: "protected"
|
|
55392
55539
|
}),
|
|
55393
|
-
|
|
55540
|
+
resume: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
55541
|
+
kind: "mutation",
|
|
55542
|
+
auth: "protected"
|
|
55543
|
+
}),
|
|
55544
|
+
stop: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
55394
55545
|
kind: "mutation",
|
|
55395
55546
|
auth: "protected"
|
|
55396
55547
|
}),
|
|
55548
|
+
/** Select (not start) a program; refused when the appliance does not offer it. */
|
|
55397
55549
|
setProgram: method(object({
|
|
55398
|
-
deviceId:
|
|
55550
|
+
deviceId: DeviceIdSchema,
|
|
55399
55551
|
program: string().min(1)
|
|
55400
55552
|
}), _void(), {
|
|
55401
55553
|
kind: "mutation",
|
|
55402
55554
|
auth: "protected"
|
|
55403
55555
|
}),
|
|
55404
55556
|
setPower: method(object({
|
|
55405
|
-
deviceId:
|
|
55557
|
+
deviceId: DeviceIdSchema,
|
|
55406
55558
|
on: boolean()
|
|
55407
55559
|
}), _void(), {
|
|
55408
55560
|
kind: "mutation",
|
|
55409
55561
|
auth: "protected"
|
|
55410
55562
|
}),
|
|
55411
55563
|
setHalfLoad: method(object({
|
|
55412
|
-
deviceId:
|
|
55564
|
+
deviceId: DeviceIdSchema,
|
|
55413
55565
|
on: boolean()
|
|
55414
55566
|
}), _void(), {
|
|
55415
55567
|
kind: "mutation",
|
|
55416
55568
|
auth: "protected"
|
|
55417
55569
|
}),
|
|
55418
55570
|
setHygienePlus: method(object({
|
|
55419
|
-
deviceId:
|
|
55571
|
+
deviceId: DeviceIdSchema,
|
|
55420
55572
|
on: boolean()
|
|
55421
55573
|
}), _void(), {
|
|
55422
55574
|
kind: "mutation",
|
|
55423
55575
|
auth: "protected"
|
|
55424
55576
|
}),
|
|
55425
55577
|
setExtraDry: method(object({
|
|
55426
|
-
deviceId:
|
|
55578
|
+
deviceId: DeviceIdSchema,
|
|
55427
55579
|
on: boolean()
|
|
55428
55580
|
}), _void(), {
|
|
55429
55581
|
kind: "mutation",
|
|
55430
55582
|
auth: "protected"
|
|
55431
55583
|
}),
|
|
55432
55584
|
setIntensiveZone: method(object({
|
|
55433
|
-
deviceId:
|
|
55585
|
+
deviceId: DeviceIdSchema,
|
|
55434
55586
|
on: boolean()
|
|
55435
55587
|
}), _void(), {
|
|
55436
55588
|
kind: "mutation",
|
|
55437
55589
|
auth: "protected"
|
|
55438
55590
|
}),
|
|
55439
55591
|
setVarioSpeedPlus: method(object({
|
|
55440
|
-
deviceId:
|
|
55592
|
+
deviceId: DeviceIdSchema,
|
|
55441
55593
|
on: boolean()
|
|
55442
55594
|
}), _void(), {
|
|
55443
55595
|
kind: "mutation",
|
|
55444
55596
|
auth: "protected"
|
|
55445
55597
|
}),
|
|
55446
55598
|
setChildLock: method(object({
|
|
55447
|
-
deviceId:
|
|
55599
|
+
deviceId: DeviceIdSchema,
|
|
55448
55600
|
on: boolean()
|
|
55449
55601
|
}), _void(), {
|
|
55450
55602
|
kind: "mutation",
|
|
55451
55603
|
auth: "protected"
|
|
55452
55604
|
}),
|
|
55605
|
+
/**
|
|
55606
|
+
* Write any option or setting by feature key. Refused when the description does
|
|
55607
|
+
* not list it, it is not writable or not available now, or the value is outside
|
|
55608
|
+
* its declared range / members.
|
|
55609
|
+
*/
|
|
55453
55610
|
setOption: method(object({
|
|
55454
|
-
deviceId:
|
|
55611
|
+
deviceId: DeviceIdSchema,
|
|
55455
55612
|
key: string().min(1),
|
|
55456
|
-
value:
|
|
55457
|
-
boolean(),
|
|
55458
|
-
string(),
|
|
55459
|
-
number()
|
|
55460
|
-
])
|
|
55613
|
+
value: DishwasherValueSchema
|
|
55461
55614
|
}), _void(), {
|
|
55462
55615
|
kind: "mutation",
|
|
55463
55616
|
auth: "protected"
|
|
55464
|
-
})
|
|
55617
|
+
}),
|
|
55618
|
+
/** What this appliance can do, from its own description — the UI is derived from it. */
|
|
55619
|
+
getOptions: method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" })
|
|
55465
55620
|
},
|
|
55466
55621
|
status: {
|
|
55467
55622
|
schema: DishwasherStatusSchema,
|
|
@@ -69558,6 +69713,12 @@ Object.freeze({
|
|
|
69558
69713
|
addonId: null,
|
|
69559
69714
|
access: "view"
|
|
69560
69715
|
},
|
|
69716
|
+
"dishwasher.getOptions": {
|
|
69717
|
+
capName: "dishwasher",
|
|
69718
|
+
capScope: "device",
|
|
69719
|
+
addonId: null,
|
|
69720
|
+
access: "view"
|
|
69721
|
+
},
|
|
69561
69722
|
"dishwasher.getStatus": {
|
|
69562
69723
|
capName: "dishwasher",
|
|
69563
69724
|
capScope: "device",
|
|
@@ -69570,6 +69731,12 @@ Object.freeze({
|
|
|
69570
69731
|
addonId: null,
|
|
69571
69732
|
access: "create"
|
|
69572
69733
|
},
|
|
69734
|
+
"dishwasher.resume": {
|
|
69735
|
+
capName: "dishwasher",
|
|
69736
|
+
capScope: "device",
|
|
69737
|
+
addonId: null,
|
|
69738
|
+
access: "create"
|
|
69739
|
+
},
|
|
69573
69740
|
"dishwasher.setChildLock": {
|
|
69574
69741
|
capName: "dishwasher",
|
|
69575
69742
|
capScope: "device",
|
|
@@ -74070,6 +74237,12 @@ Object.freeze({
|
|
|
74070
74237
|
addonId: null,
|
|
74071
74238
|
access: "view"
|
|
74072
74239
|
},
|
|
74240
|
+
"storageMigration.moverClearance": {
|
|
74241
|
+
capName: "storage-migration",
|
|
74242
|
+
capScope: "system",
|
|
74243
|
+
addonId: null,
|
|
74244
|
+
access: "view"
|
|
74245
|
+
},
|
|
74073
74246
|
"storageMigration.movers": {
|
|
74074
74247
|
capName: "storage-migration",
|
|
74075
74248
|
capScope: "system",
|
|
@@ -76263,6 +76436,11 @@ Object.freeze({
|
|
|
76263
76436
|
form: "single",
|
|
76264
76437
|
optional: false
|
|
76265
76438
|
}],
|
|
76439
|
+
"dishwasher.getOptions": [{
|
|
76440
|
+
name: "deviceId",
|
|
76441
|
+
form: "single",
|
|
76442
|
+
optional: false
|
|
76443
|
+
}],
|
|
76266
76444
|
"dishwasher.getStatus": [{
|
|
76267
76445
|
name: "deviceId",
|
|
76268
76446
|
form: "single",
|
|
@@ -76273,6 +76451,11 @@ Object.freeze({
|
|
|
76273
76451
|
form: "single",
|
|
76274
76452
|
optional: false
|
|
76275
76453
|
}],
|
|
76454
|
+
"dishwasher.resume": [{
|
|
76455
|
+
name: "deviceId",
|
|
76456
|
+
form: "single",
|
|
76457
|
+
optional: false
|
|
76458
|
+
}],
|
|
76276
76459
|
"dishwasher.setChildLock": [{
|
|
76277
76460
|
name: "deviceId",
|
|
76278
76461
|
form: "single",
|
|
@@ -78359,6 +78542,9 @@ new Map(Object.entries({
|
|
|
78359
78542
|
"wrapper-update-available": "system",
|
|
78360
78543
|
"backup-completed": "system",
|
|
78361
78544
|
"export-completed": "system",
|
|
78545
|
+
"alert-critical": "system",
|
|
78546
|
+
"alert-error": "system",
|
|
78547
|
+
"alert-critical-resolved": "system",
|
|
78362
78548
|
"storage-location-low": "system",
|
|
78363
78549
|
"storage-location-critical": "system",
|
|
78364
78550
|
"storage-location-ok": "system",
|
|
@@ -78483,6 +78669,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78483
78669
|
"storage-location-ok"
|
|
78484
78670
|
]
|
|
78485
78671
|
},
|
|
78672
|
+
{
|
|
78673
|
+
id: "alerts",
|
|
78674
|
+
family: "system",
|
|
78675
|
+
label: "Alerts",
|
|
78676
|
+
kinds: [
|
|
78677
|
+
"alert-critical",
|
|
78678
|
+
"alert-error",
|
|
78679
|
+
"alert-critical-resolved"
|
|
78680
|
+
]
|
|
78681
|
+
},
|
|
78486
78682
|
{
|
|
78487
78683
|
id: "alarm",
|
|
78488
78684
|
family: "alarm",
|
|
@@ -78527,6 +78723,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
|
|
|
78527
78723
|
return [[descriptor.kind, field]];
|
|
78528
78724
|
})));
|
|
78529
78725
|
Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
|
|
78726
|
+
object({
|
|
78727
|
+
phase: _enum(["raised", "resolved"]),
|
|
78728
|
+
episodeId: string().min(1),
|
|
78729
|
+
alertId: string().min(1),
|
|
78730
|
+
severity: AlertSeveritySchema,
|
|
78731
|
+
category: string(),
|
|
78732
|
+
title: string(),
|
|
78733
|
+
message: string(),
|
|
78734
|
+
sourceType: string().optional(),
|
|
78735
|
+
sourceId: string().optional(),
|
|
78736
|
+
nodeId: string().optional(),
|
|
78737
|
+
/** The alert's own action link (where the operator acts on it), when it has one. */
|
|
78738
|
+
actionUrl: string().optional(),
|
|
78739
|
+
at: number()
|
|
78740
|
+
});
|
|
78530
78741
|
var RULE_BODY_ONLY = ["body"];
|
|
78531
78742
|
var RULE_TEXT = ["title", "body"];
|
|
78532
78743
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
@@ -78536,6 +78747,11 @@ var TANK = [
|
|
|
78536
78747
|
"device-tank-full",
|
|
78537
78748
|
"device-tank-normal"
|
|
78538
78749
|
];
|
|
78750
|
+
var ALERT_EPISODE = [
|
|
78751
|
+
"alert-critical",
|
|
78752
|
+
"alert-error",
|
|
78753
|
+
"alert-critical-resolved"
|
|
78754
|
+
];
|
|
78539
78755
|
var UPDATES = [
|
|
78540
78756
|
"addon-update-available",
|
|
78541
78757
|
"server-update-available",
|
|
@@ -78728,14 +78944,14 @@ var STATE_SUMMARY_VARS = [
|
|
|
78728
78944
|
([...RULE_TEXT], [...CONSUMABLE]),
|
|
78729
78945
|
([...RULE_TEXT], [...TANK]),
|
|
78730
78946
|
[...RULE_TEXT],
|
|
78731
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
78732
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
78733
|
-
[...RULE_TEXT],
|
|
78947
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
78948
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
78734
78949
|
[...RULE_TEXT],
|
|
78735
78950
|
[...RULE_TEXT],
|
|
78736
78951
|
[...RULE_TEXT],
|
|
78737
78952
|
[...RULE_TEXT],
|
|
78738
78953
|
[...RULE_TEXT],
|
|
78954
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78739
78955
|
[...RULE_TEXT],
|
|
78740
78956
|
[...RULE_TEXT],
|
|
78741
78957
|
[...RULE_TEXT],
|
|
@@ -78753,7 +78969,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
78753
78969
|
[...RULE_TEXT],
|
|
78754
78970
|
[...RULE_TEXT],
|
|
78755
78971
|
[...RULE_TEXT],
|
|
78756
|
-
[...RULE_TEXT],
|
|
78972
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78973
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78974
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78975
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78976
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78757
78977
|
[...RULE_TEXT],
|
|
78758
78978
|
[...RULE_TEXT],
|
|
78759
78979
|
[...RULE_TEXT],
|
package/dist/addon.mjs
CHANGED
|
@@ -41,7 +41,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
41
41
|
var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
42
42
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
43
43
|
//#endregion
|
|
44
|
-
//#region ../types/dist/event-category-
|
|
44
|
+
//#region ../types/dist/event-category-DOl51-Ij.mjs
|
|
45
45
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
46
46
|
EventCategory["SystemBoot"] = "system.boot";
|
|
47
47
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -120,9 +120,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
120
120
|
/**
|
|
121
121
|
* The node's one-shot runner boot check (D877): planned runners against the
|
|
122
122
|
* process service, `degraded` when any is failed, refused or missing. The
|
|
123
|
-
* alert centre turns it into one
|
|
123
|
+
* alert centre turns it into one critical alert.
|
|
124
124
|
*/
|
|
125
125
|
EventCategory["SystemRunnerCheck"] = "system.runner-check";
|
|
126
|
+
/**
|
|
127
|
+
* An alert EPISODE opened or closed, emitted by the alert centre for alerts
|
|
128
|
+
* of severity `critical` or `error` (`AlertEpisodePayload`). The alert
|
|
129
|
+
* centre sends no notification of its own: Notification Center turns this
|
|
130
|
+
* into the `alert-critical` / `alert-error` / `alert-critical-resolved`
|
|
131
|
+
* system-event kinds, and reconciles from the alerts store because a bus
|
|
132
|
+
* event may be dropped (D8, D11).
|
|
133
|
+
*/
|
|
134
|
+
EventCategory["AlertEpisode"] = "alert.episode";
|
|
126
135
|
EventCategory["AddonError"] = "addon.error";
|
|
127
136
|
EventCategory["AddonPageReady"] = "addon.page-ready";
|
|
128
137
|
EventCategory["AddonWidgetReady"] = "addon.widget-ready";
|
|
@@ -5447,7 +5456,7 @@ var ZodIssueCode$1 = {
|
|
|
5447
5456
|
var ZodFirstPartyTypeKind$1;
|
|
5448
5457
|
ZodFirstPartyTypeKind$1 || (ZodFirstPartyTypeKind$1 = {});
|
|
5449
5458
|
//#endregion
|
|
5450
|
-
//#region ../types/dist/sleep-
|
|
5459
|
+
//#region ../types/dist/sleep-BxjU_fJM.mjs
|
|
5451
5460
|
/**
|
|
5452
5461
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5453
5462
|
* window to float samples (D455).
|
|
@@ -13224,7 +13233,14 @@ var AlertSeveritySchema = _enum([
|
|
|
13224
13233
|
]);
|
|
13225
13234
|
var AlertActionSchema = object({
|
|
13226
13235
|
label: string(),
|
|
13227
|
-
href: string().optional()
|
|
13236
|
+
href: string().optional(),
|
|
13237
|
+
/**
|
|
13238
|
+
* How `href` is followed. Absent / `app`: an admin-ui route (client-side).
|
|
13239
|
+
* `server`: a route the HUB serves (an addon HTTP route such as an OAuth
|
|
13240
|
+
* start) — the browser must leave the SPA with a full navigation, because
|
|
13241
|
+
* the SPA has no such route and would bounce to the home page.
|
|
13242
|
+
*/
|
|
13243
|
+
navigation: _enum(["app", "server"]).optional()
|
|
13228
13244
|
});
|
|
13229
13245
|
var AlertStatusSchema = _enum([
|
|
13230
13246
|
"active",
|
|
@@ -41969,6 +41985,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
41969
41985
|
"server-updated",
|
|
41970
41986
|
"export-completed",
|
|
41971
41987
|
"backup-completed",
|
|
41988
|
+
"alert-critical",
|
|
41989
|
+
"alert-error",
|
|
41990
|
+
"alert-critical-resolved",
|
|
41972
41991
|
"camera-online",
|
|
41973
41992
|
"camera-offline",
|
|
41974
41993
|
"camera-disabled",
|
|
@@ -51045,7 +51064,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
|
|
|
51045
51064
|
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
51046
51065
|
kind: "mutation",
|
|
51047
51066
|
auth: "admin"
|
|
51048
|
-
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({
|
|
51067
|
+
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
|
|
51068
|
+
clear: boolean(),
|
|
51069
|
+
repointLocationId: string().optional()
|
|
51070
|
+
}), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
|
|
51049
51071
|
kind: "mutation",
|
|
51050
51072
|
auth: "admin"
|
|
51051
51073
|
}), method(StorageCleanupInputSchema, object({ jobId: string() }), {
|
|
@@ -55326,6 +55348,11 @@ onStatusChanged: { data: object({
|
|
|
55326
55348
|
*
|
|
55327
55349
|
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
55328
55350
|
* provider refreshes the slice on an interval and eagerly after commands.
|
|
55351
|
+
*
|
|
55352
|
+
* UNKNOWN IS NOT OFF. Every field the appliance reports separately is
|
|
55353
|
+
* nullable: `null` means "not known right now" (the appliance has not said,
|
|
55354
|
+
* the link is down, or the description does not carry it) and is never
|
|
55355
|
+
* rendered or exported as `false` / `0`. `availability` says why.
|
|
55329
55356
|
*/
|
|
55330
55357
|
var DishwasherStateSchema = _enum([
|
|
55331
55358
|
"idle",
|
|
@@ -55335,43 +55362,155 @@ var DishwasherStateSchema = _enum([
|
|
|
55335
55362
|
"error",
|
|
55336
55363
|
"unavailable"
|
|
55337
55364
|
]);
|
|
55365
|
+
/**
|
|
55366
|
+
* The appliance's own operation state, uncollapsed. `state` above is the coarse
|
|
55367
|
+
* view for compact surfaces; this is what the appliance said.
|
|
55368
|
+
*/
|
|
55369
|
+
var DishwasherOperationStateSchema = _enum([
|
|
55370
|
+
"Inactive",
|
|
55371
|
+
"Ready",
|
|
55372
|
+
"DelayedStart",
|
|
55373
|
+
"Run",
|
|
55374
|
+
"Pause",
|
|
55375
|
+
"ActionRequired",
|
|
55376
|
+
"Finished",
|
|
55377
|
+
"Error",
|
|
55378
|
+
"Aborting"
|
|
55379
|
+
]);
|
|
55380
|
+
/**
|
|
55381
|
+
* Why fields may be `null`:
|
|
55382
|
+
* - `available` — the link is up and the description is loaded;
|
|
55383
|
+
* - `offline` — the local link is down (values are unknown, not last-known);
|
|
55384
|
+
* - `description-missing` — the link is up but the appliance's description could not
|
|
55385
|
+
* be loaded, so its values cannot be decoded.
|
|
55386
|
+
*/
|
|
55387
|
+
var DishwasherAvailabilitySchema = _enum([
|
|
55388
|
+
"available",
|
|
55389
|
+
"offline",
|
|
55390
|
+
"description-missing"
|
|
55391
|
+
]);
|
|
55338
55392
|
var DishwasherConsumableLevelSchema = _enum([
|
|
55339
55393
|
"ok",
|
|
55340
55394
|
"low",
|
|
55341
55395
|
"empty"
|
|
55342
55396
|
]);
|
|
55343
55397
|
var DishwasherStatusSchema = object({
|
|
55398
|
+
availability: DishwasherAvailabilitySchema,
|
|
55399
|
+
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
55344
55400
|
state: DishwasherStateSchema,
|
|
55345
|
-
/**
|
|
55401
|
+
/** The appliance's operation state as reported; null when not known. */
|
|
55402
|
+
operationState: DishwasherOperationStateSchema.nullable(),
|
|
55403
|
+
/** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
|
|
55346
55404
|
program: string().nullable(),
|
|
55347
|
-
/**
|
|
55405
|
+
/** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
|
|
55406
|
+
selectedProgram: string().nullable(),
|
|
55407
|
+
/** Feature keys of the programs the appliance currently offers — drives the UI selector. */
|
|
55348
55408
|
availablePrograms: array(string()),
|
|
55349
|
-
/**
|
|
55350
|
-
|
|
55409
|
+
/** Seconds remaining on the active cycle, or null when not running / not known. */
|
|
55410
|
+
remainingSeconds: number().int().nonnegative().nullable(),
|
|
55411
|
+
/** Seconds the delayed start is set to (time until the cycle starts), or null. */
|
|
55412
|
+
delayedStartSeconds: number().int().nonnegative().nullable(),
|
|
55351
55413
|
/** Cycle completion 0..100, or null when not applicable. */
|
|
55352
55414
|
progressPercent: number().min(0).max(100).nullable(),
|
|
55353
|
-
/** True when the door is reported open. */
|
|
55354
|
-
doorOpen: boolean(),
|
|
55355
|
-
/** True when
|
|
55356
|
-
|
|
55357
|
-
/**
|
|
55358
|
-
|
|
55415
|
+
/** True when the door is reported open; null when the door state is not known. */
|
|
55416
|
+
doorOpen: boolean().nullable(),
|
|
55417
|
+
/** True when the door is latched (locked) during a cycle; null when not reported. */
|
|
55418
|
+
doorLocked: boolean().nullable(),
|
|
55419
|
+
/** True when remote start is allowed (door closed, power on, etc.); null when not known. */
|
|
55420
|
+
remoteStartAllowed: boolean().nullable(),
|
|
55421
|
+
/** True when the appliance accepts remote control now; null when not known. */
|
|
55422
|
+
remoteControlActive: boolean().nullable(),
|
|
55423
|
+
/** True while somebody operates the appliance at its panel; null when not reported. */
|
|
55424
|
+
localControlActive: boolean().nullable(),
|
|
55425
|
+
/** Main power / switched-on state; null when not known. */
|
|
55426
|
+
powerOn: boolean().nullable(),
|
|
55427
|
+
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
55428
|
+
powerState: string().nullable(),
|
|
55359
55429
|
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55360
55430
|
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55361
|
-
|
|
55362
|
-
|
|
55431
|
+
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
55432
|
+
halfLoad: boolean().nullable(),
|
|
55433
|
+
hygienePlus: boolean().nullable(),
|
|
55363
55434
|
/** Extra dry option when the appliance exposes it. */
|
|
55364
|
-
extraDry: boolean(),
|
|
55435
|
+
extraDry: boolean().nullable(),
|
|
55365
55436
|
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
55366
|
-
intensiveZone: boolean(),
|
|
55437
|
+
intensiveZone: boolean().nullable(),
|
|
55367
55438
|
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
55368
|
-
varioSpeedPlus: boolean(),
|
|
55369
|
-
/** Child lock (controls disabled on the appliance). */
|
|
55370
|
-
childLock: boolean(),
|
|
55439
|
+
varioSpeedPlus: boolean().nullable(),
|
|
55440
|
+
/** Child lock (controls disabled on the appliance); null when not known. */
|
|
55441
|
+
childLock: boolean().nullable(),
|
|
55442
|
+
/** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
|
|
55443
|
+
activeEvents: array(string()),
|
|
55444
|
+
/** Numeric error code when the appliance reports one; null otherwise. */
|
|
55371
55445
|
errorCode: number().nullable(),
|
|
55446
|
+
/** Name of the raised alert-level event while the appliance is in error; null otherwise. */
|
|
55372
55447
|
errorLabel: string().nullable(),
|
|
55448
|
+
/** Ms epoch of the last value received from the appliance; 0 = never. */
|
|
55373
55449
|
lastFetchedAt: number()
|
|
55374
55450
|
});
|
|
55451
|
+
var DeviceIdSchema = number().int().nonnegative();
|
|
55452
|
+
/** A value a program option or setting can take. */
|
|
55453
|
+
var DishwasherValueSchema = union([
|
|
55454
|
+
boolean(),
|
|
55455
|
+
string(),
|
|
55456
|
+
number()
|
|
55457
|
+
]);
|
|
55458
|
+
var DishwasherAccessSchema = _enum([
|
|
55459
|
+
"none",
|
|
55460
|
+
"read",
|
|
55461
|
+
"readWrite",
|
|
55462
|
+
"writeOnly",
|
|
55463
|
+
"readStatic"
|
|
55464
|
+
]);
|
|
55465
|
+
/**
|
|
55466
|
+
* One option or setting the appliance declares, with the constraints its description
|
|
55467
|
+
* gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
|
|
55468
|
+
*/
|
|
55469
|
+
var DishwasherOptionDescriptorSchema = object({
|
|
55470
|
+
/** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
|
|
55471
|
+
key: string(),
|
|
55472
|
+
/** Last segment of the key, for display. */
|
|
55473
|
+
name: string(),
|
|
55474
|
+
type: _enum([
|
|
55475
|
+
"boolean",
|
|
55476
|
+
"number",
|
|
55477
|
+
"enum",
|
|
55478
|
+
"string"
|
|
55479
|
+
]),
|
|
55480
|
+
access: DishwasherAccessSchema,
|
|
55481
|
+
/** The appliance reports this entity as currently available. */
|
|
55482
|
+
available: boolean(),
|
|
55483
|
+
/** Unit the description declares for a number; null when it declares none. */
|
|
55484
|
+
unit: string().nullable(),
|
|
55485
|
+
min: number().nullable(),
|
|
55486
|
+
max: number().nullable(),
|
|
55487
|
+
step: number().nullable(),
|
|
55488
|
+
/** Allowed members of an enum; null for other types. */
|
|
55489
|
+
enumValues: array(string()).nullable(),
|
|
55490
|
+
defaultValue: DishwasherValueSchema.nullable()
|
|
55491
|
+
});
|
|
55492
|
+
var DishwasherProgramSchema = object({
|
|
55493
|
+
/** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
|
|
55494
|
+
key: string(),
|
|
55495
|
+
name: string(),
|
|
55496
|
+
/** The appliance currently offers this program. */
|
|
55497
|
+
available: boolean(),
|
|
55498
|
+
/** The options this program lists, with the program-level access / availability / default. */
|
|
55499
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
55500
|
+
});
|
|
55501
|
+
var DishwasherOptionsSchema = object({
|
|
55502
|
+
availability: DishwasherAvailabilitySchema,
|
|
55503
|
+
/** What the appliance can be told to do, from the commands its description declares. */
|
|
55504
|
+
supportsStart: boolean(),
|
|
55505
|
+
supportsPause: boolean(),
|
|
55506
|
+
supportsResume: boolean(),
|
|
55507
|
+
supportsStop: boolean(),
|
|
55508
|
+
supportsPower: boolean(),
|
|
55509
|
+
/** Every program the description lists, with its options. */
|
|
55510
|
+
programs: array(DishwasherProgramSchema),
|
|
55511
|
+
/** Every option and setting entity the description lists (programs reference these by key). */
|
|
55512
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
55513
|
+
});
|
|
55375
55514
|
var dishwasherCapability = {
|
|
55376
55515
|
name: "dishwasher",
|
|
55377
55516
|
scope: "device",
|
|
@@ -55379,86 +55518,102 @@ var dishwasherCapability = {
|
|
|
55379
55518
|
mode: "singleton",
|
|
55380
55519
|
deviceTypes: [DeviceType.Dishwasher],
|
|
55381
55520
|
methods: {
|
|
55382
|
-
|
|
55521
|
+
/**
|
|
55522
|
+
* Start a program. Without `program` the selected one starts. `options` are
|
|
55523
|
+
* option feature keys; each is checked against the program's constraints.
|
|
55524
|
+
*/
|
|
55525
|
+
start: method(object({
|
|
55526
|
+
deviceId: DeviceIdSchema,
|
|
55527
|
+
program: string().min(1).optional(),
|
|
55528
|
+
options: record(string(), DishwasherValueSchema).optional()
|
|
55529
|
+
}), _void(), {
|
|
55383
55530
|
kind: "mutation",
|
|
55384
55531
|
auth: "protected"
|
|
55385
55532
|
}),
|
|
55386
|
-
pause: method(object({ deviceId:
|
|
55533
|
+
pause: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
55387
55534
|
kind: "mutation",
|
|
55388
55535
|
auth: "protected"
|
|
55389
55536
|
}),
|
|
55390
|
-
|
|
55537
|
+
resume: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
55538
|
+
kind: "mutation",
|
|
55539
|
+
auth: "protected"
|
|
55540
|
+
}),
|
|
55541
|
+
stop: method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
55391
55542
|
kind: "mutation",
|
|
55392
55543
|
auth: "protected"
|
|
55393
55544
|
}),
|
|
55545
|
+
/** Select (not start) a program; refused when the appliance does not offer it. */
|
|
55394
55546
|
setProgram: method(object({
|
|
55395
|
-
deviceId:
|
|
55547
|
+
deviceId: DeviceIdSchema,
|
|
55396
55548
|
program: string().min(1)
|
|
55397
55549
|
}), _void(), {
|
|
55398
55550
|
kind: "mutation",
|
|
55399
55551
|
auth: "protected"
|
|
55400
55552
|
}),
|
|
55401
55553
|
setPower: method(object({
|
|
55402
|
-
deviceId:
|
|
55554
|
+
deviceId: DeviceIdSchema,
|
|
55403
55555
|
on: boolean()
|
|
55404
55556
|
}), _void(), {
|
|
55405
55557
|
kind: "mutation",
|
|
55406
55558
|
auth: "protected"
|
|
55407
55559
|
}),
|
|
55408
55560
|
setHalfLoad: method(object({
|
|
55409
|
-
deviceId:
|
|
55561
|
+
deviceId: DeviceIdSchema,
|
|
55410
55562
|
on: boolean()
|
|
55411
55563
|
}), _void(), {
|
|
55412
55564
|
kind: "mutation",
|
|
55413
55565
|
auth: "protected"
|
|
55414
55566
|
}),
|
|
55415
55567
|
setHygienePlus: method(object({
|
|
55416
|
-
deviceId:
|
|
55568
|
+
deviceId: DeviceIdSchema,
|
|
55417
55569
|
on: boolean()
|
|
55418
55570
|
}), _void(), {
|
|
55419
55571
|
kind: "mutation",
|
|
55420
55572
|
auth: "protected"
|
|
55421
55573
|
}),
|
|
55422
55574
|
setExtraDry: method(object({
|
|
55423
|
-
deviceId:
|
|
55575
|
+
deviceId: DeviceIdSchema,
|
|
55424
55576
|
on: boolean()
|
|
55425
55577
|
}), _void(), {
|
|
55426
55578
|
kind: "mutation",
|
|
55427
55579
|
auth: "protected"
|
|
55428
55580
|
}),
|
|
55429
55581
|
setIntensiveZone: method(object({
|
|
55430
|
-
deviceId:
|
|
55582
|
+
deviceId: DeviceIdSchema,
|
|
55431
55583
|
on: boolean()
|
|
55432
55584
|
}), _void(), {
|
|
55433
55585
|
kind: "mutation",
|
|
55434
55586
|
auth: "protected"
|
|
55435
55587
|
}),
|
|
55436
55588
|
setVarioSpeedPlus: method(object({
|
|
55437
|
-
deviceId:
|
|
55589
|
+
deviceId: DeviceIdSchema,
|
|
55438
55590
|
on: boolean()
|
|
55439
55591
|
}), _void(), {
|
|
55440
55592
|
kind: "mutation",
|
|
55441
55593
|
auth: "protected"
|
|
55442
55594
|
}),
|
|
55443
55595
|
setChildLock: method(object({
|
|
55444
|
-
deviceId:
|
|
55596
|
+
deviceId: DeviceIdSchema,
|
|
55445
55597
|
on: boolean()
|
|
55446
55598
|
}), _void(), {
|
|
55447
55599
|
kind: "mutation",
|
|
55448
55600
|
auth: "protected"
|
|
55449
55601
|
}),
|
|
55602
|
+
/**
|
|
55603
|
+
* Write any option or setting by feature key. Refused when the description does
|
|
55604
|
+
* not list it, it is not writable or not available now, or the value is outside
|
|
55605
|
+
* its declared range / members.
|
|
55606
|
+
*/
|
|
55450
55607
|
setOption: method(object({
|
|
55451
|
-
deviceId:
|
|
55608
|
+
deviceId: DeviceIdSchema,
|
|
55452
55609
|
key: string().min(1),
|
|
55453
|
-
value:
|
|
55454
|
-
boolean(),
|
|
55455
|
-
string(),
|
|
55456
|
-
number()
|
|
55457
|
-
])
|
|
55610
|
+
value: DishwasherValueSchema
|
|
55458
55611
|
}), _void(), {
|
|
55459
55612
|
kind: "mutation",
|
|
55460
55613
|
auth: "protected"
|
|
55461
|
-
})
|
|
55614
|
+
}),
|
|
55615
|
+
/** What this appliance can do, from its own description — the UI is derived from it. */
|
|
55616
|
+
getOptions: method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" })
|
|
55462
55617
|
},
|
|
55463
55618
|
status: {
|
|
55464
55619
|
schema: DishwasherStatusSchema,
|
|
@@ -69555,6 +69710,12 @@ Object.freeze({
|
|
|
69555
69710
|
addonId: null,
|
|
69556
69711
|
access: "view"
|
|
69557
69712
|
},
|
|
69713
|
+
"dishwasher.getOptions": {
|
|
69714
|
+
capName: "dishwasher",
|
|
69715
|
+
capScope: "device",
|
|
69716
|
+
addonId: null,
|
|
69717
|
+
access: "view"
|
|
69718
|
+
},
|
|
69558
69719
|
"dishwasher.getStatus": {
|
|
69559
69720
|
capName: "dishwasher",
|
|
69560
69721
|
capScope: "device",
|
|
@@ -69567,6 +69728,12 @@ Object.freeze({
|
|
|
69567
69728
|
addonId: null,
|
|
69568
69729
|
access: "create"
|
|
69569
69730
|
},
|
|
69731
|
+
"dishwasher.resume": {
|
|
69732
|
+
capName: "dishwasher",
|
|
69733
|
+
capScope: "device",
|
|
69734
|
+
addonId: null,
|
|
69735
|
+
access: "create"
|
|
69736
|
+
},
|
|
69570
69737
|
"dishwasher.setChildLock": {
|
|
69571
69738
|
capName: "dishwasher",
|
|
69572
69739
|
capScope: "device",
|
|
@@ -74067,6 +74234,12 @@ Object.freeze({
|
|
|
74067
74234
|
addonId: null,
|
|
74068
74235
|
access: "view"
|
|
74069
74236
|
},
|
|
74237
|
+
"storageMigration.moverClearance": {
|
|
74238
|
+
capName: "storage-migration",
|
|
74239
|
+
capScope: "system",
|
|
74240
|
+
addonId: null,
|
|
74241
|
+
access: "view"
|
|
74242
|
+
},
|
|
74070
74243
|
"storageMigration.movers": {
|
|
74071
74244
|
capName: "storage-migration",
|
|
74072
74245
|
capScope: "system",
|
|
@@ -76260,6 +76433,11 @@ Object.freeze({
|
|
|
76260
76433
|
form: "single",
|
|
76261
76434
|
optional: false
|
|
76262
76435
|
}],
|
|
76436
|
+
"dishwasher.getOptions": [{
|
|
76437
|
+
name: "deviceId",
|
|
76438
|
+
form: "single",
|
|
76439
|
+
optional: false
|
|
76440
|
+
}],
|
|
76263
76441
|
"dishwasher.getStatus": [{
|
|
76264
76442
|
name: "deviceId",
|
|
76265
76443
|
form: "single",
|
|
@@ -76270,6 +76448,11 @@ Object.freeze({
|
|
|
76270
76448
|
form: "single",
|
|
76271
76449
|
optional: false
|
|
76272
76450
|
}],
|
|
76451
|
+
"dishwasher.resume": [{
|
|
76452
|
+
name: "deviceId",
|
|
76453
|
+
form: "single",
|
|
76454
|
+
optional: false
|
|
76455
|
+
}],
|
|
76273
76456
|
"dishwasher.setChildLock": [{
|
|
76274
76457
|
name: "deviceId",
|
|
76275
76458
|
form: "single",
|
|
@@ -78356,6 +78539,9 @@ new Map(Object.entries({
|
|
|
78356
78539
|
"wrapper-update-available": "system",
|
|
78357
78540
|
"backup-completed": "system",
|
|
78358
78541
|
"export-completed": "system",
|
|
78542
|
+
"alert-critical": "system",
|
|
78543
|
+
"alert-error": "system",
|
|
78544
|
+
"alert-critical-resolved": "system",
|
|
78359
78545
|
"storage-location-low": "system",
|
|
78360
78546
|
"storage-location-critical": "system",
|
|
78361
78547
|
"storage-location-ok": "system",
|
|
@@ -78480,6 +78666,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
78480
78666
|
"storage-location-ok"
|
|
78481
78667
|
]
|
|
78482
78668
|
},
|
|
78669
|
+
{
|
|
78670
|
+
id: "alerts",
|
|
78671
|
+
family: "system",
|
|
78672
|
+
label: "Alerts",
|
|
78673
|
+
kinds: [
|
|
78674
|
+
"alert-critical",
|
|
78675
|
+
"alert-error",
|
|
78676
|
+
"alert-critical-resolved"
|
|
78677
|
+
]
|
|
78678
|
+
},
|
|
78483
78679
|
{
|
|
78484
78680
|
id: "alarm",
|
|
78485
78681
|
family: "alarm",
|
|
@@ -78524,6 +78720,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
|
|
|
78524
78720
|
return [[descriptor.kind, field]];
|
|
78525
78721
|
})));
|
|
78526
78722
|
Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
|
|
78723
|
+
object({
|
|
78724
|
+
phase: _enum(["raised", "resolved"]),
|
|
78725
|
+
episodeId: string().min(1),
|
|
78726
|
+
alertId: string().min(1),
|
|
78727
|
+
severity: AlertSeveritySchema,
|
|
78728
|
+
category: string(),
|
|
78729
|
+
title: string(),
|
|
78730
|
+
message: string(),
|
|
78731
|
+
sourceType: string().optional(),
|
|
78732
|
+
sourceId: string().optional(),
|
|
78733
|
+
nodeId: string().optional(),
|
|
78734
|
+
/** The alert's own action link (where the operator acts on it), when it has one. */
|
|
78735
|
+
actionUrl: string().optional(),
|
|
78736
|
+
at: number()
|
|
78737
|
+
});
|
|
78527
78738
|
var RULE_BODY_ONLY = ["body"];
|
|
78528
78739
|
var RULE_TEXT = ["title", "body"];
|
|
78529
78740
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
@@ -78533,6 +78744,11 @@ var TANK = [
|
|
|
78533
78744
|
"device-tank-full",
|
|
78534
78745
|
"device-tank-normal"
|
|
78535
78746
|
];
|
|
78747
|
+
var ALERT_EPISODE = [
|
|
78748
|
+
"alert-critical",
|
|
78749
|
+
"alert-error",
|
|
78750
|
+
"alert-critical-resolved"
|
|
78751
|
+
];
|
|
78536
78752
|
var UPDATES = [
|
|
78537
78753
|
"addon-update-available",
|
|
78538
78754
|
"server-update-available",
|
|
@@ -78725,14 +78941,14 @@ var STATE_SUMMARY_VARS = [
|
|
|
78725
78941
|
([...RULE_TEXT], [...CONSUMABLE]),
|
|
78726
78942
|
([...RULE_TEXT], [...TANK]),
|
|
78727
78943
|
[...RULE_TEXT],
|
|
78728
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
78729
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
78730
|
-
[...RULE_TEXT],
|
|
78944
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
78945
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
78731
78946
|
[...RULE_TEXT],
|
|
78732
78947
|
[...RULE_TEXT],
|
|
78733
78948
|
[...RULE_TEXT],
|
|
78734
78949
|
[...RULE_TEXT],
|
|
78735
78950
|
[...RULE_TEXT],
|
|
78951
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78736
78952
|
[...RULE_TEXT],
|
|
78737
78953
|
[...RULE_TEXT],
|
|
78738
78954
|
[...RULE_TEXT],
|
|
@@ -78750,7 +78966,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
78750
78966
|
[...RULE_TEXT],
|
|
78751
78967
|
[...RULE_TEXT],
|
|
78752
78968
|
[...RULE_TEXT],
|
|
78753
|
-
[...RULE_TEXT],
|
|
78969
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78970
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78971
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78972
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78973
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
78754
78974
|
[...RULE_TEXT],
|
|
78755
78975
|
[...RULE_TEXT],
|
|
78756
78976
|
[...RULE_TEXT],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-dreame",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.136",
|
|
4
4
|
"description": "Dreame robot-vacuum / lawn-mower device-provider addon for CamStack — wraps the @apocaliss92/nodedreame Dreamehome cloud client",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|