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