@camstack/addon-provider-onvif 1.2.129 → 1.2.131
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 +527 -15
- package/dist/addon.mjs +527 -15
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
//#region \0rolldown/runtime.js
|
|
3
3
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
4
4
|
//#endregion
|
|
5
|
-
//#region ../types/dist/event-category-
|
|
5
|
+
//#region ../types/dist/event-category-DOl51-Ij.mjs
|
|
6
6
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
7
7
|
EventCategory["SystemBoot"] = "system.boot";
|
|
8
8
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -81,9 +81,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
81
81
|
/**
|
|
82
82
|
* The node's one-shot runner boot check (D877): planned runners against the
|
|
83
83
|
* process service, `degraded` when any is failed, refused or missing. The
|
|
84
|
-
* alert centre turns it into one
|
|
84
|
+
* alert centre turns it into one critical alert.
|
|
85
85
|
*/
|
|
86
86
|
EventCategory["SystemRunnerCheck"] = "system.runner-check";
|
|
87
|
+
/**
|
|
88
|
+
* An alert EPISODE opened or closed, emitted by the alert centre for alerts
|
|
89
|
+
* of severity `critical` or `error` (`AlertEpisodePayload`). The alert
|
|
90
|
+
* centre sends no notification of its own: Notification Center turns this
|
|
91
|
+
* into the `alert-critical` / `alert-error` / `alert-critical-resolved`
|
|
92
|
+
* system-event kinds, and reconciles from the alerts store because a bus
|
|
93
|
+
* event may be dropped (D8, D11).
|
|
94
|
+
*/
|
|
95
|
+
EventCategory["AlertEpisode"] = "alert.episode";
|
|
87
96
|
EventCategory["AddonError"] = "addon.error";
|
|
88
97
|
EventCategory["AddonPageReady"] = "addon.page-ready";
|
|
89
98
|
EventCategory["AddonWidgetReady"] = "addon.widget-ready";
|
|
@@ -5408,7 +5417,7 @@ var ZodIssueCode = {
|
|
|
5408
5417
|
var ZodFirstPartyTypeKind;
|
|
5409
5418
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5410
5419
|
//#endregion
|
|
5411
|
-
//#region ../types/dist/sleep-
|
|
5420
|
+
//#region ../types/dist/sleep-BxjU_fJM.mjs
|
|
5412
5421
|
/**
|
|
5413
5422
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5414
5423
|
* window to float samples (D455).
|
|
@@ -8356,7 +8365,7 @@ object({
|
|
|
8356
8365
|
params: record(string(), union([string(), number()])).optional()
|
|
8357
8366
|
});
|
|
8358
8367
|
//#endregion
|
|
8359
|
-
//#region ../types/dist/err-msg
|
|
8368
|
+
//#region ../types/dist/err-msg-BXKzRBwg.mjs
|
|
8360
8369
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8361
8370
|
DeviceType["Camera"] = "camera";
|
|
8362
8371
|
DeviceType["Hub"] = "hub";
|
|
@@ -8448,6 +8457,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
|
8448
8457
|
* native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
|
|
8449
8458
|
* integrations sharing the same food/desiccant/hopper surface. */
|
|
8450
8459
|
DeviceType["PetFeeder"] = "pet-feeder";
|
|
8460
|
+
/** Built-in dishwasher — program lifecycle, door / remote-start gates,
|
|
8461
|
+
* salt and rinse-aid levels. Installed with the `dishwasher` cap.
|
|
8462
|
+
* Sources: native Bosch Home Connect, reusable by similar integrations. */
|
|
8463
|
+
DeviceType["Dishwasher"] = "dishwasher";
|
|
8451
8464
|
return DeviceType;
|
|
8452
8465
|
}({});
|
|
8453
8466
|
var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
|
|
@@ -8705,7 +8718,7 @@ function errMsg(err) {
|
|
|
8705
8718
|
return String(err);
|
|
8706
8719
|
}
|
|
8707
8720
|
//#endregion
|
|
8708
|
-
//#region ../types/dist/composition-
|
|
8721
|
+
//#region ../types/dist/composition-CB6PMT9p.mjs
|
|
8709
8722
|
/**
|
|
8710
8723
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
8711
8724
|
*
|
|
@@ -13091,8 +13104,20 @@ var AlertSeveritySchema = _enum([
|
|
|
13091
13104
|
"info",
|
|
13092
13105
|
"success",
|
|
13093
13106
|
"warning",
|
|
13094
|
-
"error"
|
|
13107
|
+
"error",
|
|
13108
|
+
"critical"
|
|
13095
13109
|
]);
|
|
13110
|
+
var AlertActionSchema = object({
|
|
13111
|
+
label: string(),
|
|
13112
|
+
href: string().optional(),
|
|
13113
|
+
/**
|
|
13114
|
+
* How `href` is followed. Absent / `app`: an admin-ui route (client-side).
|
|
13115
|
+
* `server`: a route the HUB serves (an addon HTTP route such as an OAuth
|
|
13116
|
+
* start) — the browser must leave the SPA with a full navigation, because
|
|
13117
|
+
* the SPA has no such route and would bounce to the home page.
|
|
13118
|
+
*/
|
|
13119
|
+
navigation: _enum(["app", "server"]).optional()
|
|
13120
|
+
});
|
|
13096
13121
|
var AlertStatusSchema = _enum([
|
|
13097
13122
|
"active",
|
|
13098
13123
|
"in-progress",
|
|
@@ -13110,6 +13135,7 @@ var AlertSchema = object({
|
|
|
13110
13135
|
severity: AlertSeveritySchema,
|
|
13111
13136
|
title: string(),
|
|
13112
13137
|
message: string(),
|
|
13138
|
+
action: AlertActionSchema.optional(),
|
|
13113
13139
|
status: AlertStatusSchema,
|
|
13114
13140
|
progress: number().optional(),
|
|
13115
13141
|
read: boolean(),
|
|
@@ -17367,7 +17393,11 @@ DeviceType.Hub, DeviceDiscoveryStatusSchema.extend({ lastFetchedAt: number().int
|
|
|
17367
17393
|
});
|
|
17368
17394
|
/**
|
|
17369
17395
|
* `device-adoption` — generic discovery + adoption surface,
|
|
17370
|
-
* system-scoped
|
|
17396
|
+
* system-scoped collection (one provider per integration addon), routed
|
|
17397
|
+
* by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
|
|
17398
|
+
* pin model as `connection-test`. The admin UI keeps using
|
|
17399
|
+
* `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
|
|
17400
|
+
* successor to `ha-discovery`:
|
|
17371
17401
|
* keyed by `integrationId` (the addon resolves integrationId → broker
|
|
17372
17402
|
* internally) rather than a connection-specific `brokerId`, and it
|
|
17373
17403
|
* REUSES the shared `DiscoveredChildDevice` candidate type from
|
|
@@ -41656,6 +41686,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
41656
41686
|
"server-updated",
|
|
41657
41687
|
"export-completed",
|
|
41658
41688
|
"backup-completed",
|
|
41689
|
+
"alert-critical",
|
|
41690
|
+
"alert-error",
|
|
41691
|
+
"alert-critical-resolved",
|
|
41659
41692
|
"camera-online",
|
|
41660
41693
|
"camera-offline",
|
|
41661
41694
|
"camera-disabled",
|
|
@@ -50792,7 +50825,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
|
|
|
50792
50825
|
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
50793
50826
|
kind: "mutation",
|
|
50794
50827
|
auth: "admin"
|
|
50795
|
-
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({
|
|
50828
|
+
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
|
|
50829
|
+
clear: boolean(),
|
|
50830
|
+
repointLocationId: string().optional()
|
|
50831
|
+
}), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
|
|
50796
50832
|
kind: "mutation",
|
|
50797
50833
|
auth: "admin"
|
|
50798
50834
|
}), method(StorageCleanupInputSchema, object({ jobId: string() }), {
|
|
@@ -53342,7 +53378,7 @@ var BatteryStatusSchema = object({
|
|
|
53342
53378
|
*/
|
|
53343
53379
|
binary: boolean().optional()
|
|
53344
53380
|
});
|
|
53345
|
-
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, method(object({
|
|
53381
|
+
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, method(object({
|
|
53346
53382
|
deviceId: number(),
|
|
53347
53383
|
/** Bound on the wait. Sensible range 3000–10000ms. */
|
|
53348
53384
|
timeoutMs: number().int().min(500).max(3e4).default(8e3)
|
|
@@ -54218,6 +54254,250 @@ object({
|
|
|
54218
54254
|
deviceId: number(),
|
|
54219
54255
|
status: DeviceStatusSchema
|
|
54220
54256
|
});
|
|
54257
|
+
/**
|
|
54258
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates,
|
|
54259
|
+
* consumable levels (salt, rinse aid) and common program options.
|
|
54260
|
+
*
|
|
54261
|
+
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
54262
|
+
* by any integration that exposes the same program / option surface.
|
|
54263
|
+
*
|
|
54264
|
+
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
54265
|
+
* provider refreshes the slice on an interval and eagerly after commands.
|
|
54266
|
+
*
|
|
54267
|
+
* UNKNOWN IS NOT OFF. Every field the appliance reports separately is
|
|
54268
|
+
* nullable: `null` means "not known right now" (the appliance has not said,
|
|
54269
|
+
* the link is down, or the description does not carry it) and is never
|
|
54270
|
+
* rendered or exported as `false` / `0`. `availability` says why.
|
|
54271
|
+
*/
|
|
54272
|
+
var DishwasherStateSchema = _enum([
|
|
54273
|
+
"idle",
|
|
54274
|
+
"running",
|
|
54275
|
+
"paused",
|
|
54276
|
+
"finished",
|
|
54277
|
+
"error",
|
|
54278
|
+
"unavailable"
|
|
54279
|
+
]);
|
|
54280
|
+
/**
|
|
54281
|
+
* The appliance's own operation state, uncollapsed. `state` above is the coarse
|
|
54282
|
+
* view for compact surfaces; this is what the appliance said.
|
|
54283
|
+
*/
|
|
54284
|
+
var DishwasherOperationStateSchema = _enum([
|
|
54285
|
+
"Inactive",
|
|
54286
|
+
"Ready",
|
|
54287
|
+
"DelayedStart",
|
|
54288
|
+
"Run",
|
|
54289
|
+
"Pause",
|
|
54290
|
+
"ActionRequired",
|
|
54291
|
+
"Finished",
|
|
54292
|
+
"Error",
|
|
54293
|
+
"Aborting"
|
|
54294
|
+
]);
|
|
54295
|
+
/**
|
|
54296
|
+
* Why fields may be `null`:
|
|
54297
|
+
* - `available` — the link is up and the description is loaded;
|
|
54298
|
+
* - `offline` — the local link is down (values are unknown, not last-known);
|
|
54299
|
+
* - `description-missing` — the link is up but the appliance's description could not
|
|
54300
|
+
* be loaded, so its values cannot be decoded.
|
|
54301
|
+
*/
|
|
54302
|
+
var DishwasherAvailabilitySchema = _enum([
|
|
54303
|
+
"available",
|
|
54304
|
+
"offline",
|
|
54305
|
+
"description-missing"
|
|
54306
|
+
]);
|
|
54307
|
+
var DishwasherConsumableLevelSchema = _enum([
|
|
54308
|
+
"ok",
|
|
54309
|
+
"low",
|
|
54310
|
+
"empty"
|
|
54311
|
+
]);
|
|
54312
|
+
object({
|
|
54313
|
+
availability: DishwasherAvailabilitySchema,
|
|
54314
|
+
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
54315
|
+
state: DishwasherStateSchema,
|
|
54316
|
+
/** The appliance's operation state as reported; null when not known. */
|
|
54317
|
+
operationState: DishwasherOperationStateSchema.nullable(),
|
|
54318
|
+
/** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
|
|
54319
|
+
program: string().nullable(),
|
|
54320
|
+
/** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
|
|
54321
|
+
selectedProgram: string().nullable(),
|
|
54322
|
+
/** Feature keys of the programs the appliance currently offers — drives the UI selector. */
|
|
54323
|
+
availablePrograms: array(string()),
|
|
54324
|
+
/** Seconds remaining on the active cycle, or null when not running / not known. */
|
|
54325
|
+
remainingSeconds: number().int().nonnegative().nullable(),
|
|
54326
|
+
/** Seconds the delayed start is set to (time until the cycle starts), or null. */
|
|
54327
|
+
delayedStartSeconds: number().int().nonnegative().nullable(),
|
|
54328
|
+
/** Cycle completion 0..100, or null when not applicable. */
|
|
54329
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
54330
|
+
/** True when the door is reported open; null when the door state is not known. */
|
|
54331
|
+
doorOpen: boolean().nullable(),
|
|
54332
|
+
/** True when the door is latched (locked) during a cycle; null when not reported. */
|
|
54333
|
+
doorLocked: boolean().nullable(),
|
|
54334
|
+
/** True when remote start is allowed (door closed, power on, etc.); null when not known. */
|
|
54335
|
+
remoteStartAllowed: boolean().nullable(),
|
|
54336
|
+
/** True when the appliance accepts remote control now; null when not known. */
|
|
54337
|
+
remoteControlActive: boolean().nullable(),
|
|
54338
|
+
/** True while somebody operates the appliance at its panel; null when not reported. */
|
|
54339
|
+
localControlActive: boolean().nullable(),
|
|
54340
|
+
/** Main power / switched-on state; null when not known. */
|
|
54341
|
+
powerOn: boolean().nullable(),
|
|
54342
|
+
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
54343
|
+
powerState: string().nullable(),
|
|
54344
|
+
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54345
|
+
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54346
|
+
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54347
|
+
halfLoad: boolean().nullable(),
|
|
54348
|
+
hygienePlus: boolean().nullable(),
|
|
54349
|
+
/** Extra dry option when the appliance exposes it. */
|
|
54350
|
+
extraDry: boolean().nullable(),
|
|
54351
|
+
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
54352
|
+
intensiveZone: boolean().nullable(),
|
|
54353
|
+
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
54354
|
+
varioSpeedPlus: boolean().nullable(),
|
|
54355
|
+
/** Child lock (controls disabled on the appliance); null when not known. */
|
|
54356
|
+
childLock: boolean().nullable(),
|
|
54357
|
+
/** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
|
|
54358
|
+
activeEvents: array(string()),
|
|
54359
|
+
/** Numeric error code when the appliance reports one; null otherwise. */
|
|
54360
|
+
errorCode: number().nullable(),
|
|
54361
|
+
/** Name of the raised alert-level event while the appliance is in error; null otherwise. */
|
|
54362
|
+
errorLabel: string().nullable(),
|
|
54363
|
+
/** Ms epoch of the last value received from the appliance; 0 = never. */
|
|
54364
|
+
lastFetchedAt: number()
|
|
54365
|
+
});
|
|
54366
|
+
var DeviceIdSchema = number().int().nonnegative();
|
|
54367
|
+
/** A value a program option or setting can take. */
|
|
54368
|
+
var DishwasherValueSchema = union([
|
|
54369
|
+
boolean(),
|
|
54370
|
+
string(),
|
|
54371
|
+
number()
|
|
54372
|
+
]);
|
|
54373
|
+
var DishwasherAccessSchema = _enum([
|
|
54374
|
+
"none",
|
|
54375
|
+
"read",
|
|
54376
|
+
"readWrite",
|
|
54377
|
+
"writeOnly",
|
|
54378
|
+
"readStatic"
|
|
54379
|
+
]);
|
|
54380
|
+
/**
|
|
54381
|
+
* One option or setting the appliance declares, with the constraints its description
|
|
54382
|
+
* gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
|
|
54383
|
+
*/
|
|
54384
|
+
var DishwasherOptionDescriptorSchema = object({
|
|
54385
|
+
/** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
|
|
54386
|
+
key: string(),
|
|
54387
|
+
/** Last segment of the key, for display. */
|
|
54388
|
+
name: string(),
|
|
54389
|
+
type: _enum([
|
|
54390
|
+
"boolean",
|
|
54391
|
+
"number",
|
|
54392
|
+
"enum",
|
|
54393
|
+
"string"
|
|
54394
|
+
]),
|
|
54395
|
+
access: DishwasherAccessSchema,
|
|
54396
|
+
/** The appliance reports this entity as currently available. */
|
|
54397
|
+
available: boolean(),
|
|
54398
|
+
/** Unit the description declares for a number; null when it declares none. */
|
|
54399
|
+
unit: string().nullable(),
|
|
54400
|
+
min: number().nullable(),
|
|
54401
|
+
max: number().nullable(),
|
|
54402
|
+
step: number().nullable(),
|
|
54403
|
+
/** Allowed members of an enum; null for other types. */
|
|
54404
|
+
enumValues: array(string()).nullable(),
|
|
54405
|
+
defaultValue: DishwasherValueSchema.nullable()
|
|
54406
|
+
});
|
|
54407
|
+
var DishwasherProgramSchema = object({
|
|
54408
|
+
/** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
|
|
54409
|
+
key: string(),
|
|
54410
|
+
name: string(),
|
|
54411
|
+
/** The appliance currently offers this program. */
|
|
54412
|
+
available: boolean(),
|
|
54413
|
+
/** The options this program lists, with the program-level access / availability / default. */
|
|
54414
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
54415
|
+
});
|
|
54416
|
+
var DishwasherOptionsSchema = object({
|
|
54417
|
+
availability: DishwasherAvailabilitySchema,
|
|
54418
|
+
/** What the appliance can be told to do, from the commands its description declares. */
|
|
54419
|
+
supportsStart: boolean(),
|
|
54420
|
+
supportsPause: boolean(),
|
|
54421
|
+
supportsResume: boolean(),
|
|
54422
|
+
supportsStop: boolean(),
|
|
54423
|
+
supportsPower: boolean(),
|
|
54424
|
+
/** Every program the description lists, with its options. */
|
|
54425
|
+
programs: array(DishwasherProgramSchema),
|
|
54426
|
+
/** Every option and setting entity the description lists (programs reference these by key). */
|
|
54427
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
54428
|
+
});
|
|
54429
|
+
DeviceType.Dishwasher, method(object({
|
|
54430
|
+
deviceId: DeviceIdSchema,
|
|
54431
|
+
program: string().min(1).optional(),
|
|
54432
|
+
options: record(string(), DishwasherValueSchema).optional()
|
|
54433
|
+
}), _void(), {
|
|
54434
|
+
kind: "mutation",
|
|
54435
|
+
auth: "protected"
|
|
54436
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54437
|
+
kind: "mutation",
|
|
54438
|
+
auth: "protected"
|
|
54439
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54440
|
+
kind: "mutation",
|
|
54441
|
+
auth: "protected"
|
|
54442
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54443
|
+
kind: "mutation",
|
|
54444
|
+
auth: "protected"
|
|
54445
|
+
}), method(object({
|
|
54446
|
+
deviceId: DeviceIdSchema,
|
|
54447
|
+
program: string().min(1)
|
|
54448
|
+
}), _void(), {
|
|
54449
|
+
kind: "mutation",
|
|
54450
|
+
auth: "protected"
|
|
54451
|
+
}), method(object({
|
|
54452
|
+
deviceId: DeviceIdSchema,
|
|
54453
|
+
on: boolean()
|
|
54454
|
+
}), _void(), {
|
|
54455
|
+
kind: "mutation",
|
|
54456
|
+
auth: "protected"
|
|
54457
|
+
}), method(object({
|
|
54458
|
+
deviceId: DeviceIdSchema,
|
|
54459
|
+
on: boolean()
|
|
54460
|
+
}), _void(), {
|
|
54461
|
+
kind: "mutation",
|
|
54462
|
+
auth: "protected"
|
|
54463
|
+
}), method(object({
|
|
54464
|
+
deviceId: DeviceIdSchema,
|
|
54465
|
+
on: boolean()
|
|
54466
|
+
}), _void(), {
|
|
54467
|
+
kind: "mutation",
|
|
54468
|
+
auth: "protected"
|
|
54469
|
+
}), method(object({
|
|
54470
|
+
deviceId: DeviceIdSchema,
|
|
54471
|
+
on: boolean()
|
|
54472
|
+
}), _void(), {
|
|
54473
|
+
kind: "mutation",
|
|
54474
|
+
auth: "protected"
|
|
54475
|
+
}), method(object({
|
|
54476
|
+
deviceId: DeviceIdSchema,
|
|
54477
|
+
on: boolean()
|
|
54478
|
+
}), _void(), {
|
|
54479
|
+
kind: "mutation",
|
|
54480
|
+
auth: "protected"
|
|
54481
|
+
}), method(object({
|
|
54482
|
+
deviceId: DeviceIdSchema,
|
|
54483
|
+
on: boolean()
|
|
54484
|
+
}), _void(), {
|
|
54485
|
+
kind: "mutation",
|
|
54486
|
+
auth: "protected"
|
|
54487
|
+
}), method(object({
|
|
54488
|
+
deviceId: DeviceIdSchema,
|
|
54489
|
+
on: boolean()
|
|
54490
|
+
}), _void(), {
|
|
54491
|
+
kind: "mutation",
|
|
54492
|
+
auth: "protected"
|
|
54493
|
+
}), method(object({
|
|
54494
|
+
deviceId: DeviceIdSchema,
|
|
54495
|
+
key: string().min(1),
|
|
54496
|
+
value: DishwasherValueSchema
|
|
54497
|
+
}), _void(), {
|
|
54498
|
+
kind: "mutation",
|
|
54499
|
+
auth: "protected"
|
|
54500
|
+
}), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
|
|
54221
54501
|
object({
|
|
54222
54502
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
54223
54503
|
lastPressedAt: number().nullable(),
|
|
@@ -54783,6 +55063,13 @@ object({
|
|
|
54783
55063
|
lastChangedAt: number()
|
|
54784
55064
|
});
|
|
54785
55065
|
DeviceType.Sensor;
|
|
55066
|
+
object({
|
|
55067
|
+
/** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
|
|
55068
|
+
position: number().min(0).max(100).nullable(),
|
|
55069
|
+
/** Ms epoch when the slice was last updated (push or poll). */
|
|
55070
|
+
lastFetchedAt: number()
|
|
55071
|
+
});
|
|
55072
|
+
DeviceType.Thermostat;
|
|
54786
55073
|
object({
|
|
54787
55074
|
/** Whether the humidifier is currently on. */
|
|
54788
55075
|
on: boolean(),
|
|
@@ -62234,6 +62521,12 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
62234
62521
|
provider: this
|
|
62235
62522
|
}];
|
|
62236
62523
|
}
|
|
62524
|
+
/** Flatten `super.onInitialize()` whether it returned an array or an envelope. */
|
|
62525
|
+
providerRegistrationsFromSuper(result) {
|
|
62526
|
+
if (Array.isArray(result)) return result;
|
|
62527
|
+
if (result !== void 0 && result.providers !== void 0) return [...result.providers];
|
|
62528
|
+
return [];
|
|
62529
|
+
}
|
|
62237
62530
|
async onShutdown() {
|
|
62238
62531
|
this._restoreShuttingDown = true;
|
|
62239
62532
|
this.cancelRestoreRetries();
|
|
@@ -62760,7 +63053,7 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
62760
63053
|
return toDeviceSummary(device, this.addonId);
|
|
62761
63054
|
}
|
|
62762
63055
|
};
|
|
62763
|
-
DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
|
|
63056
|
+
DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher;
|
|
62764
63057
|
new Set(Object.values(DeviceType));
|
|
62765
63058
|
Object.freeze({
|
|
62766
63059
|
"accessories.getStatus": {
|
|
@@ -65181,6 +65474,96 @@ Object.freeze({
|
|
|
65181
65474
|
addonId: null,
|
|
65182
65475
|
access: "view"
|
|
65183
65476
|
},
|
|
65477
|
+
"dishwasher.getOptions": {
|
|
65478
|
+
capName: "dishwasher",
|
|
65479
|
+
capScope: "device",
|
|
65480
|
+
addonId: null,
|
|
65481
|
+
access: "view"
|
|
65482
|
+
},
|
|
65483
|
+
"dishwasher.getStatus": {
|
|
65484
|
+
capName: "dishwasher",
|
|
65485
|
+
capScope: "device",
|
|
65486
|
+
addonId: null,
|
|
65487
|
+
access: "view"
|
|
65488
|
+
},
|
|
65489
|
+
"dishwasher.pause": {
|
|
65490
|
+
capName: "dishwasher",
|
|
65491
|
+
capScope: "device",
|
|
65492
|
+
addonId: null,
|
|
65493
|
+
access: "create"
|
|
65494
|
+
},
|
|
65495
|
+
"dishwasher.resume": {
|
|
65496
|
+
capName: "dishwasher",
|
|
65497
|
+
capScope: "device",
|
|
65498
|
+
addonId: null,
|
|
65499
|
+
access: "create"
|
|
65500
|
+
},
|
|
65501
|
+
"dishwasher.setChildLock": {
|
|
65502
|
+
capName: "dishwasher",
|
|
65503
|
+
capScope: "device",
|
|
65504
|
+
addonId: null,
|
|
65505
|
+
access: "create"
|
|
65506
|
+
},
|
|
65507
|
+
"dishwasher.setExtraDry": {
|
|
65508
|
+
capName: "dishwasher",
|
|
65509
|
+
capScope: "device",
|
|
65510
|
+
addonId: null,
|
|
65511
|
+
access: "create"
|
|
65512
|
+
},
|
|
65513
|
+
"dishwasher.setHalfLoad": {
|
|
65514
|
+
capName: "dishwasher",
|
|
65515
|
+
capScope: "device",
|
|
65516
|
+
addonId: null,
|
|
65517
|
+
access: "create"
|
|
65518
|
+
},
|
|
65519
|
+
"dishwasher.setHygienePlus": {
|
|
65520
|
+
capName: "dishwasher",
|
|
65521
|
+
capScope: "device",
|
|
65522
|
+
addonId: null,
|
|
65523
|
+
access: "create"
|
|
65524
|
+
},
|
|
65525
|
+
"dishwasher.setIntensiveZone": {
|
|
65526
|
+
capName: "dishwasher",
|
|
65527
|
+
capScope: "device",
|
|
65528
|
+
addonId: null,
|
|
65529
|
+
access: "create"
|
|
65530
|
+
},
|
|
65531
|
+
"dishwasher.setOption": {
|
|
65532
|
+
capName: "dishwasher",
|
|
65533
|
+
capScope: "device",
|
|
65534
|
+
addonId: null,
|
|
65535
|
+
access: "create"
|
|
65536
|
+
},
|
|
65537
|
+
"dishwasher.setPower": {
|
|
65538
|
+
capName: "dishwasher",
|
|
65539
|
+
capScope: "device",
|
|
65540
|
+
addonId: null,
|
|
65541
|
+
access: "create"
|
|
65542
|
+
},
|
|
65543
|
+
"dishwasher.setProgram": {
|
|
65544
|
+
capName: "dishwasher",
|
|
65545
|
+
capScope: "device",
|
|
65546
|
+
addonId: null,
|
|
65547
|
+
access: "create"
|
|
65548
|
+
},
|
|
65549
|
+
"dishwasher.setVarioSpeedPlus": {
|
|
65550
|
+
capName: "dishwasher",
|
|
65551
|
+
capScope: "device",
|
|
65552
|
+
addonId: null,
|
|
65553
|
+
access: "create"
|
|
65554
|
+
},
|
|
65555
|
+
"dishwasher.start": {
|
|
65556
|
+
capName: "dishwasher",
|
|
65557
|
+
capScope: "device",
|
|
65558
|
+
addonId: null,
|
|
65559
|
+
access: "create"
|
|
65560
|
+
},
|
|
65561
|
+
"dishwasher.stop": {
|
|
65562
|
+
capName: "dishwasher",
|
|
65563
|
+
capScope: "device",
|
|
65564
|
+
addonId: null,
|
|
65565
|
+
access: "create"
|
|
65566
|
+
},
|
|
65184
65567
|
"doorbell.getStatus": {
|
|
65185
65568
|
capName: "doorbell",
|
|
65186
65569
|
capScope: "device",
|
|
@@ -65391,6 +65774,12 @@ Object.freeze({
|
|
|
65391
65774
|
addonId: null,
|
|
65392
65775
|
access: "view"
|
|
65393
65776
|
},
|
|
65777
|
+
"heatingValve.getStatus": {
|
|
65778
|
+
capName: "heating-valve",
|
|
65779
|
+
capScope: "device",
|
|
65780
|
+
addonId: null,
|
|
65781
|
+
access: "view"
|
|
65782
|
+
},
|
|
65394
65783
|
"humidifier.getStatus": {
|
|
65395
65784
|
capName: "humidifier",
|
|
65396
65785
|
capScope: "device",
|
|
@@ -69609,6 +69998,12 @@ Object.freeze({
|
|
|
69609
69998
|
addonId: null,
|
|
69610
69999
|
access: "view"
|
|
69611
70000
|
},
|
|
70001
|
+
"storageMigration.moverClearance": {
|
|
70002
|
+
capName: "storage-migration",
|
|
70003
|
+
capScope: "system",
|
|
70004
|
+
addonId: null,
|
|
70005
|
+
access: "view"
|
|
70006
|
+
},
|
|
69612
70007
|
"storageMigration.movers": {
|
|
69613
70008
|
capName: "storage-migration",
|
|
69614
70009
|
capScope: "system",
|
|
@@ -70978,7 +71373,7 @@ Object.freeze({
|
|
|
70978
71373
|
access: "create"
|
|
70979
71374
|
}
|
|
70980
71375
|
});
|
|
70981
|
-
DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
|
|
71376
|
+
DeviceType.Camera, DeviceType.Hub, DeviceType.Light, DeviceType.Siren, DeviceType.Switch, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Fan, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder, DeviceType.Dishwasher;
|
|
70982
71377
|
DeviceFeature.BatteryOperated;
|
|
70983
71378
|
/** Reject after `ms`; always clears its own timer. */
|
|
70984
71379
|
async function withTimeout$1(promise, ms, label) {
|
|
@@ -71868,6 +72263,81 @@ Object.freeze({
|
|
|
71868
72263
|
form: "single",
|
|
71869
72264
|
optional: false
|
|
71870
72265
|
}],
|
|
72266
|
+
"dishwasher.getOptions": [{
|
|
72267
|
+
name: "deviceId",
|
|
72268
|
+
form: "single",
|
|
72269
|
+
optional: false
|
|
72270
|
+
}],
|
|
72271
|
+
"dishwasher.getStatus": [{
|
|
72272
|
+
name: "deviceId",
|
|
72273
|
+
form: "single",
|
|
72274
|
+
optional: false
|
|
72275
|
+
}],
|
|
72276
|
+
"dishwasher.pause": [{
|
|
72277
|
+
name: "deviceId",
|
|
72278
|
+
form: "single",
|
|
72279
|
+
optional: false
|
|
72280
|
+
}],
|
|
72281
|
+
"dishwasher.resume": [{
|
|
72282
|
+
name: "deviceId",
|
|
72283
|
+
form: "single",
|
|
72284
|
+
optional: false
|
|
72285
|
+
}],
|
|
72286
|
+
"dishwasher.setChildLock": [{
|
|
72287
|
+
name: "deviceId",
|
|
72288
|
+
form: "single",
|
|
72289
|
+
optional: false
|
|
72290
|
+
}],
|
|
72291
|
+
"dishwasher.setExtraDry": [{
|
|
72292
|
+
name: "deviceId",
|
|
72293
|
+
form: "single",
|
|
72294
|
+
optional: false
|
|
72295
|
+
}],
|
|
72296
|
+
"dishwasher.setHalfLoad": [{
|
|
72297
|
+
name: "deviceId",
|
|
72298
|
+
form: "single",
|
|
72299
|
+
optional: false
|
|
72300
|
+
}],
|
|
72301
|
+
"dishwasher.setHygienePlus": [{
|
|
72302
|
+
name: "deviceId",
|
|
72303
|
+
form: "single",
|
|
72304
|
+
optional: false
|
|
72305
|
+
}],
|
|
72306
|
+
"dishwasher.setIntensiveZone": [{
|
|
72307
|
+
name: "deviceId",
|
|
72308
|
+
form: "single",
|
|
72309
|
+
optional: false
|
|
72310
|
+
}],
|
|
72311
|
+
"dishwasher.setOption": [{
|
|
72312
|
+
name: "deviceId",
|
|
72313
|
+
form: "single",
|
|
72314
|
+
optional: false
|
|
72315
|
+
}],
|
|
72316
|
+
"dishwasher.setPower": [{
|
|
72317
|
+
name: "deviceId",
|
|
72318
|
+
form: "single",
|
|
72319
|
+
optional: false
|
|
72320
|
+
}],
|
|
72321
|
+
"dishwasher.setProgram": [{
|
|
72322
|
+
name: "deviceId",
|
|
72323
|
+
form: "single",
|
|
72324
|
+
optional: false
|
|
72325
|
+
}],
|
|
72326
|
+
"dishwasher.setVarioSpeedPlus": [{
|
|
72327
|
+
name: "deviceId",
|
|
72328
|
+
form: "single",
|
|
72329
|
+
optional: false
|
|
72330
|
+
}],
|
|
72331
|
+
"dishwasher.start": [{
|
|
72332
|
+
name: "deviceId",
|
|
72333
|
+
form: "single",
|
|
72334
|
+
optional: false
|
|
72335
|
+
}],
|
|
72336
|
+
"dishwasher.stop": [{
|
|
72337
|
+
name: "deviceId",
|
|
72338
|
+
form: "single",
|
|
72339
|
+
optional: false
|
|
72340
|
+
}],
|
|
71871
72341
|
"doorbell.getStatus": [{
|
|
71872
72342
|
name: "deviceId",
|
|
71873
72343
|
form: "single",
|
|
@@ -71937,6 +72407,11 @@ Object.freeze({
|
|
|
71937
72407
|
form: "single",
|
|
71938
72408
|
optional: false
|
|
71939
72409
|
}],
|
|
72410
|
+
"heatingValve.getStatus": [{
|
|
72411
|
+
name: "deviceId",
|
|
72412
|
+
form: "single",
|
|
72413
|
+
optional: false
|
|
72414
|
+
}],
|
|
71940
72415
|
"humidifier.getStatus": [{
|
|
71941
72416
|
name: "deviceId",
|
|
71942
72417
|
form: "single",
|
|
@@ -73894,6 +74369,9 @@ new Map(Object.entries({
|
|
|
73894
74369
|
"wrapper-update-available": "system",
|
|
73895
74370
|
"backup-completed": "system",
|
|
73896
74371
|
"export-completed": "system",
|
|
74372
|
+
"alert-critical": "system",
|
|
74373
|
+
"alert-error": "system",
|
|
74374
|
+
"alert-critical-resolved": "system",
|
|
73897
74375
|
"storage-location-low": "system",
|
|
73898
74376
|
"storage-location-critical": "system",
|
|
73899
74377
|
"storage-location-ok": "system",
|
|
@@ -74018,6 +74496,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
74018
74496
|
"storage-location-ok"
|
|
74019
74497
|
]
|
|
74020
74498
|
},
|
|
74499
|
+
{
|
|
74500
|
+
id: "alerts",
|
|
74501
|
+
family: "system",
|
|
74502
|
+
label: "Alerts",
|
|
74503
|
+
kinds: [
|
|
74504
|
+
"alert-critical",
|
|
74505
|
+
"alert-error",
|
|
74506
|
+
"alert-critical-resolved"
|
|
74507
|
+
]
|
|
74508
|
+
},
|
|
74021
74509
|
{
|
|
74022
74510
|
id: "alarm",
|
|
74023
74511
|
family: "alarm",
|
|
@@ -74062,6 +74550,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
|
|
|
74062
74550
|
return [[descriptor.kind, field]];
|
|
74063
74551
|
})));
|
|
74064
74552
|
Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
|
|
74553
|
+
object({
|
|
74554
|
+
phase: _enum(["raised", "resolved"]),
|
|
74555
|
+
episodeId: string().min(1),
|
|
74556
|
+
alertId: string().min(1),
|
|
74557
|
+
severity: AlertSeveritySchema,
|
|
74558
|
+
category: string(),
|
|
74559
|
+
title: string(),
|
|
74560
|
+
message: string(),
|
|
74561
|
+
sourceType: string().optional(),
|
|
74562
|
+
sourceId: string().optional(),
|
|
74563
|
+
nodeId: string().optional(),
|
|
74564
|
+
/** The alert's own action link (where the operator acts on it), when it has one. */
|
|
74565
|
+
actionUrl: string().optional(),
|
|
74566
|
+
at: number()
|
|
74567
|
+
});
|
|
74065
74568
|
var RULE_BODY_ONLY = ["body"];
|
|
74066
74569
|
var RULE_TEXT = ["title", "body"];
|
|
74067
74570
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
@@ -74071,6 +74574,11 @@ var TANK = [
|
|
|
74071
74574
|
"device-tank-full",
|
|
74072
74575
|
"device-tank-normal"
|
|
74073
74576
|
];
|
|
74577
|
+
var ALERT_EPISODE = [
|
|
74578
|
+
"alert-critical",
|
|
74579
|
+
"alert-error",
|
|
74580
|
+
"alert-critical-resolved"
|
|
74581
|
+
];
|
|
74074
74582
|
var UPDATES = [
|
|
74075
74583
|
"addon-update-available",
|
|
74076
74584
|
"server-update-available",
|
|
@@ -74263,14 +74771,14 @@ var STATE_SUMMARY_VARS = [
|
|
|
74263
74771
|
([...RULE_TEXT], [...CONSUMABLE]),
|
|
74264
74772
|
([...RULE_TEXT], [...TANK]),
|
|
74265
74773
|
[...RULE_TEXT],
|
|
74266
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
74267
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
74268
|
-
[...RULE_TEXT],
|
|
74774
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
74775
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
74269
74776
|
[...RULE_TEXT],
|
|
74270
74777
|
[...RULE_TEXT],
|
|
74271
74778
|
[...RULE_TEXT],
|
|
74272
74779
|
[...RULE_TEXT],
|
|
74273
74780
|
[...RULE_TEXT],
|
|
74781
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74274
74782
|
[...RULE_TEXT],
|
|
74275
74783
|
[...RULE_TEXT],
|
|
74276
74784
|
[...RULE_TEXT],
|
|
@@ -74288,7 +74796,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
74288
74796
|
[...RULE_TEXT],
|
|
74289
74797
|
[...RULE_TEXT],
|
|
74290
74798
|
[...RULE_TEXT],
|
|
74291
|
-
[...RULE_TEXT],
|
|
74799
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74800
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74801
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74802
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74803
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74292
74804
|
[...RULE_TEXT],
|
|
74293
74805
|
[...RULE_TEXT],
|
|
74294
74806
|
[...RULE_TEXT],
|