@camstack/addon-waste-collections 0.1.8 → 0.1.10
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/waste-collections.addon.js +521 -15
- package/dist/waste-collections.addon.mjs +521 -15
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import { spawn } from "node:child_process";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
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";
|
|
@@ -5541,7 +5550,7 @@ var ZodIssueCode = {
|
|
|
5541
5550
|
var ZodFirstPartyTypeKind;
|
|
5542
5551
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5543
5552
|
//#endregion
|
|
5544
|
-
//#region ../types/dist/sleep-
|
|
5553
|
+
//#region ../types/dist/sleep-BxjU_fJM.mjs
|
|
5545
5554
|
/**
|
|
5546
5555
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5547
5556
|
* window to float samples (D455).
|
|
@@ -8787,7 +8796,7 @@ object({
|
|
|
8787
8796
|
params: record(string(), union([string(), number()])).optional()
|
|
8788
8797
|
});
|
|
8789
8798
|
//#endregion
|
|
8790
|
-
//#region ../types/dist/err-msg
|
|
8799
|
+
//#region ../types/dist/err-msg-BXKzRBwg.mjs
|
|
8791
8800
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8792
8801
|
DeviceType["Camera"] = "camera";
|
|
8793
8802
|
DeviceType["Hub"] = "hub";
|
|
@@ -8879,6 +8888,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
|
8879
8888
|
* native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
|
|
8880
8889
|
* integrations sharing the same food/desiccant/hopper surface. */
|
|
8881
8890
|
DeviceType["PetFeeder"] = "pet-feeder";
|
|
8891
|
+
/** Built-in dishwasher — program lifecycle, door / remote-start gates,
|
|
8892
|
+
* salt and rinse-aid levels. Installed with the `dishwasher` cap.
|
|
8893
|
+
* Sources: native Bosch Home Connect, reusable by similar integrations. */
|
|
8894
|
+
DeviceType["Dishwasher"] = "dishwasher";
|
|
8882
8895
|
return DeviceType;
|
|
8883
8896
|
}({});
|
|
8884
8897
|
var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
|
|
@@ -9126,7 +9139,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
9126
9139
|
return DeviceRole;
|
|
9127
9140
|
}({});
|
|
9128
9141
|
//#endregion
|
|
9129
|
-
//#region ../types/dist/composition-
|
|
9142
|
+
//#region ../types/dist/composition-CB6PMT9p.mjs
|
|
9130
9143
|
/**
|
|
9131
9144
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
9132
9145
|
*
|
|
@@ -13512,8 +13525,20 @@ var AlertSeveritySchema = _enum([
|
|
|
13512
13525
|
"info",
|
|
13513
13526
|
"success",
|
|
13514
13527
|
"warning",
|
|
13515
|
-
"error"
|
|
13528
|
+
"error",
|
|
13529
|
+
"critical"
|
|
13516
13530
|
]);
|
|
13531
|
+
var AlertActionSchema = object({
|
|
13532
|
+
label: string(),
|
|
13533
|
+
href: string().optional(),
|
|
13534
|
+
/**
|
|
13535
|
+
* How `href` is followed. Absent / `app`: an admin-ui route (client-side).
|
|
13536
|
+
* `server`: a route the HUB serves (an addon HTTP route such as an OAuth
|
|
13537
|
+
* start) — the browser must leave the SPA with a full navigation, because
|
|
13538
|
+
* the SPA has no such route and would bounce to the home page.
|
|
13539
|
+
*/
|
|
13540
|
+
navigation: _enum(["app", "server"]).optional()
|
|
13541
|
+
});
|
|
13517
13542
|
var AlertStatusSchema = _enum([
|
|
13518
13543
|
"active",
|
|
13519
13544
|
"in-progress",
|
|
@@ -13531,6 +13556,7 @@ var AlertSchema = object({
|
|
|
13531
13556
|
severity: AlertSeveritySchema,
|
|
13532
13557
|
title: string(),
|
|
13533
13558
|
message: string(),
|
|
13559
|
+
action: AlertActionSchema.optional(),
|
|
13534
13560
|
status: AlertStatusSchema,
|
|
13535
13561
|
progress: number().optional(),
|
|
13536
13562
|
read: boolean(),
|
|
@@ -17675,7 +17701,11 @@ DeviceType.Hub, DeviceDiscoveryStatusSchema.extend({ lastFetchedAt: number().int
|
|
|
17675
17701
|
});
|
|
17676
17702
|
/**
|
|
17677
17703
|
* `device-adoption` — generic discovery + adoption surface,
|
|
17678
|
-
* system-scoped
|
|
17704
|
+
* system-scoped collection (one provider per integration addon), routed
|
|
17705
|
+
* by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
|
|
17706
|
+
* pin model as `connection-test`. The admin UI keeps using
|
|
17707
|
+
* `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
|
|
17708
|
+
* successor to `ha-discovery`:
|
|
17679
17709
|
* keyed by `integrationId` (the addon resolves integrationId → broker
|
|
17680
17710
|
* internally) rather than a connection-specific `brokerId`, and it
|
|
17681
17711
|
* REUSES the shared `DiscoveredChildDevice` candidate type from
|
|
@@ -41883,6 +41913,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
41883
41913
|
"server-updated",
|
|
41884
41914
|
"export-completed",
|
|
41885
41915
|
"backup-completed",
|
|
41916
|
+
"alert-critical",
|
|
41917
|
+
"alert-error",
|
|
41918
|
+
"alert-critical-resolved",
|
|
41886
41919
|
"camera-online",
|
|
41887
41920
|
"camera-offline",
|
|
41888
41921
|
"camera-disabled",
|
|
@@ -50915,7 +50948,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
|
|
|
50915
50948
|
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
50916
50949
|
kind: "mutation",
|
|
50917
50950
|
auth: "admin"
|
|
50918
|
-
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({
|
|
50951
|
+
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
|
|
50952
|
+
clear: boolean(),
|
|
50953
|
+
repointLocationId: string().optional()
|
|
50954
|
+
}), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
|
|
50919
50955
|
kind: "mutation",
|
|
50920
50956
|
auth: "admin"
|
|
50921
50957
|
}), method(StorageCleanupInputSchema, object({ jobId: string() }), {
|
|
@@ -53465,7 +53501,7 @@ var BatteryStatusSchema = object({
|
|
|
53465
53501
|
*/
|
|
53466
53502
|
binary: boolean().optional()
|
|
53467
53503
|
});
|
|
53468
|
-
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, method(object({
|
|
53504
|
+
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, method(object({
|
|
53469
53505
|
deviceId: number(),
|
|
53470
53506
|
/** Bound on the wait. Sensible range 3000–10000ms. */
|
|
53471
53507
|
timeoutMs: number().int().min(500).max(3e4).default(8e3)
|
|
@@ -54351,6 +54387,250 @@ object({
|
|
|
54351
54387
|
deviceId: number(),
|
|
54352
54388
|
status: DeviceStatusSchema
|
|
54353
54389
|
});
|
|
54390
|
+
/**
|
|
54391
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates,
|
|
54392
|
+
* consumable levels (salt, rinse aid) and common program options.
|
|
54393
|
+
*
|
|
54394
|
+
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
54395
|
+
* by any integration that exposes the same program / option surface.
|
|
54396
|
+
*
|
|
54397
|
+
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
54398
|
+
* provider refreshes the slice on an interval and eagerly after commands.
|
|
54399
|
+
*
|
|
54400
|
+
* UNKNOWN IS NOT OFF. Every field the appliance reports separately is
|
|
54401
|
+
* nullable: `null` means "not known right now" (the appliance has not said,
|
|
54402
|
+
* the link is down, or the description does not carry it) and is never
|
|
54403
|
+
* rendered or exported as `false` / `0`. `availability` says why.
|
|
54404
|
+
*/
|
|
54405
|
+
var DishwasherStateSchema = _enum([
|
|
54406
|
+
"idle",
|
|
54407
|
+
"running",
|
|
54408
|
+
"paused",
|
|
54409
|
+
"finished",
|
|
54410
|
+
"error",
|
|
54411
|
+
"unavailable"
|
|
54412
|
+
]);
|
|
54413
|
+
/**
|
|
54414
|
+
* The appliance's own operation state, uncollapsed. `state` above is the coarse
|
|
54415
|
+
* view for compact surfaces; this is what the appliance said.
|
|
54416
|
+
*/
|
|
54417
|
+
var DishwasherOperationStateSchema = _enum([
|
|
54418
|
+
"Inactive",
|
|
54419
|
+
"Ready",
|
|
54420
|
+
"DelayedStart",
|
|
54421
|
+
"Run",
|
|
54422
|
+
"Pause",
|
|
54423
|
+
"ActionRequired",
|
|
54424
|
+
"Finished",
|
|
54425
|
+
"Error",
|
|
54426
|
+
"Aborting"
|
|
54427
|
+
]);
|
|
54428
|
+
/**
|
|
54429
|
+
* Why fields may be `null`:
|
|
54430
|
+
* - `available` — the link is up and the description is loaded;
|
|
54431
|
+
* - `offline` — the local link is down (values are unknown, not last-known);
|
|
54432
|
+
* - `description-missing` — the link is up but the appliance's description could not
|
|
54433
|
+
* be loaded, so its values cannot be decoded.
|
|
54434
|
+
*/
|
|
54435
|
+
var DishwasherAvailabilitySchema = _enum([
|
|
54436
|
+
"available",
|
|
54437
|
+
"offline",
|
|
54438
|
+
"description-missing"
|
|
54439
|
+
]);
|
|
54440
|
+
var DishwasherConsumableLevelSchema = _enum([
|
|
54441
|
+
"ok",
|
|
54442
|
+
"low",
|
|
54443
|
+
"empty"
|
|
54444
|
+
]);
|
|
54445
|
+
object({
|
|
54446
|
+
availability: DishwasherAvailabilitySchema,
|
|
54447
|
+
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
54448
|
+
state: DishwasherStateSchema,
|
|
54449
|
+
/** The appliance's operation state as reported; null when not known. */
|
|
54450
|
+
operationState: DishwasherOperationStateSchema.nullable(),
|
|
54451
|
+
/** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
|
|
54452
|
+
program: string().nullable(),
|
|
54453
|
+
/** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
|
|
54454
|
+
selectedProgram: string().nullable(),
|
|
54455
|
+
/** Feature keys of the programs the appliance currently offers — drives the UI selector. */
|
|
54456
|
+
availablePrograms: array(string()),
|
|
54457
|
+
/** Seconds remaining on the active cycle, or null when not running / not known. */
|
|
54458
|
+
remainingSeconds: number().int().nonnegative().nullable(),
|
|
54459
|
+
/** Seconds the delayed start is set to (time until the cycle starts), or null. */
|
|
54460
|
+
delayedStartSeconds: number().int().nonnegative().nullable(),
|
|
54461
|
+
/** Cycle completion 0..100, or null when not applicable. */
|
|
54462
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
54463
|
+
/** True when the door is reported open; null when the door state is not known. */
|
|
54464
|
+
doorOpen: boolean().nullable(),
|
|
54465
|
+
/** True when the door is latched (locked) during a cycle; null when not reported. */
|
|
54466
|
+
doorLocked: boolean().nullable(),
|
|
54467
|
+
/** True when remote start is allowed (door closed, power on, etc.); null when not known. */
|
|
54468
|
+
remoteStartAllowed: boolean().nullable(),
|
|
54469
|
+
/** True when the appliance accepts remote control now; null when not known. */
|
|
54470
|
+
remoteControlActive: boolean().nullable(),
|
|
54471
|
+
/** True while somebody operates the appliance at its panel; null when not reported. */
|
|
54472
|
+
localControlActive: boolean().nullable(),
|
|
54473
|
+
/** Main power / switched-on state; null when not known. */
|
|
54474
|
+
powerOn: boolean().nullable(),
|
|
54475
|
+
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
54476
|
+
powerState: string().nullable(),
|
|
54477
|
+
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54478
|
+
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54479
|
+
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54480
|
+
halfLoad: boolean().nullable(),
|
|
54481
|
+
hygienePlus: boolean().nullable(),
|
|
54482
|
+
/** Extra dry option when the appliance exposes it. */
|
|
54483
|
+
extraDry: boolean().nullable(),
|
|
54484
|
+
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
54485
|
+
intensiveZone: boolean().nullable(),
|
|
54486
|
+
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
54487
|
+
varioSpeedPlus: boolean().nullable(),
|
|
54488
|
+
/** Child lock (controls disabled on the appliance); null when not known. */
|
|
54489
|
+
childLock: boolean().nullable(),
|
|
54490
|
+
/** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
|
|
54491
|
+
activeEvents: array(string()),
|
|
54492
|
+
/** Numeric error code when the appliance reports one; null otherwise. */
|
|
54493
|
+
errorCode: number().nullable(),
|
|
54494
|
+
/** Name of the raised alert-level event while the appliance is in error; null otherwise. */
|
|
54495
|
+
errorLabel: string().nullable(),
|
|
54496
|
+
/** Ms epoch of the last value received from the appliance; 0 = never. */
|
|
54497
|
+
lastFetchedAt: number()
|
|
54498
|
+
});
|
|
54499
|
+
var DeviceIdSchema = number().int().nonnegative();
|
|
54500
|
+
/** A value a program option or setting can take. */
|
|
54501
|
+
var DishwasherValueSchema = union([
|
|
54502
|
+
boolean(),
|
|
54503
|
+
string(),
|
|
54504
|
+
number()
|
|
54505
|
+
]);
|
|
54506
|
+
var DishwasherAccessSchema = _enum([
|
|
54507
|
+
"none",
|
|
54508
|
+
"read",
|
|
54509
|
+
"readWrite",
|
|
54510
|
+
"writeOnly",
|
|
54511
|
+
"readStatic"
|
|
54512
|
+
]);
|
|
54513
|
+
/**
|
|
54514
|
+
* One option or setting the appliance declares, with the constraints its description
|
|
54515
|
+
* gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
|
|
54516
|
+
*/
|
|
54517
|
+
var DishwasherOptionDescriptorSchema = object({
|
|
54518
|
+
/** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
|
|
54519
|
+
key: string(),
|
|
54520
|
+
/** Last segment of the key, for display. */
|
|
54521
|
+
name: string(),
|
|
54522
|
+
type: _enum([
|
|
54523
|
+
"boolean",
|
|
54524
|
+
"number",
|
|
54525
|
+
"enum",
|
|
54526
|
+
"string"
|
|
54527
|
+
]),
|
|
54528
|
+
access: DishwasherAccessSchema,
|
|
54529
|
+
/** The appliance reports this entity as currently available. */
|
|
54530
|
+
available: boolean(),
|
|
54531
|
+
/** Unit the description declares for a number; null when it declares none. */
|
|
54532
|
+
unit: string().nullable(),
|
|
54533
|
+
min: number().nullable(),
|
|
54534
|
+
max: number().nullable(),
|
|
54535
|
+
step: number().nullable(),
|
|
54536
|
+
/** Allowed members of an enum; null for other types. */
|
|
54537
|
+
enumValues: array(string()).nullable(),
|
|
54538
|
+
defaultValue: DishwasherValueSchema.nullable()
|
|
54539
|
+
});
|
|
54540
|
+
var DishwasherProgramSchema = object({
|
|
54541
|
+
/** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
|
|
54542
|
+
key: string(),
|
|
54543
|
+
name: string(),
|
|
54544
|
+
/** The appliance currently offers this program. */
|
|
54545
|
+
available: boolean(),
|
|
54546
|
+
/** The options this program lists, with the program-level access / availability / default. */
|
|
54547
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
54548
|
+
});
|
|
54549
|
+
var DishwasherOptionsSchema = object({
|
|
54550
|
+
availability: DishwasherAvailabilitySchema,
|
|
54551
|
+
/** What the appliance can be told to do, from the commands its description declares. */
|
|
54552
|
+
supportsStart: boolean(),
|
|
54553
|
+
supportsPause: boolean(),
|
|
54554
|
+
supportsResume: boolean(),
|
|
54555
|
+
supportsStop: boolean(),
|
|
54556
|
+
supportsPower: boolean(),
|
|
54557
|
+
/** Every program the description lists, with its options. */
|
|
54558
|
+
programs: array(DishwasherProgramSchema),
|
|
54559
|
+
/** Every option and setting entity the description lists (programs reference these by key). */
|
|
54560
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
54561
|
+
});
|
|
54562
|
+
DeviceType.Dishwasher, method(object({
|
|
54563
|
+
deviceId: DeviceIdSchema,
|
|
54564
|
+
program: string().min(1).optional(),
|
|
54565
|
+
options: record(string(), DishwasherValueSchema).optional()
|
|
54566
|
+
}), _void(), {
|
|
54567
|
+
kind: "mutation",
|
|
54568
|
+
auth: "protected"
|
|
54569
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54570
|
+
kind: "mutation",
|
|
54571
|
+
auth: "protected"
|
|
54572
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54573
|
+
kind: "mutation",
|
|
54574
|
+
auth: "protected"
|
|
54575
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54576
|
+
kind: "mutation",
|
|
54577
|
+
auth: "protected"
|
|
54578
|
+
}), method(object({
|
|
54579
|
+
deviceId: DeviceIdSchema,
|
|
54580
|
+
program: string().min(1)
|
|
54581
|
+
}), _void(), {
|
|
54582
|
+
kind: "mutation",
|
|
54583
|
+
auth: "protected"
|
|
54584
|
+
}), method(object({
|
|
54585
|
+
deviceId: DeviceIdSchema,
|
|
54586
|
+
on: boolean()
|
|
54587
|
+
}), _void(), {
|
|
54588
|
+
kind: "mutation",
|
|
54589
|
+
auth: "protected"
|
|
54590
|
+
}), method(object({
|
|
54591
|
+
deviceId: DeviceIdSchema,
|
|
54592
|
+
on: boolean()
|
|
54593
|
+
}), _void(), {
|
|
54594
|
+
kind: "mutation",
|
|
54595
|
+
auth: "protected"
|
|
54596
|
+
}), method(object({
|
|
54597
|
+
deviceId: DeviceIdSchema,
|
|
54598
|
+
on: boolean()
|
|
54599
|
+
}), _void(), {
|
|
54600
|
+
kind: "mutation",
|
|
54601
|
+
auth: "protected"
|
|
54602
|
+
}), method(object({
|
|
54603
|
+
deviceId: DeviceIdSchema,
|
|
54604
|
+
on: boolean()
|
|
54605
|
+
}), _void(), {
|
|
54606
|
+
kind: "mutation",
|
|
54607
|
+
auth: "protected"
|
|
54608
|
+
}), method(object({
|
|
54609
|
+
deviceId: DeviceIdSchema,
|
|
54610
|
+
on: boolean()
|
|
54611
|
+
}), _void(), {
|
|
54612
|
+
kind: "mutation",
|
|
54613
|
+
auth: "protected"
|
|
54614
|
+
}), method(object({
|
|
54615
|
+
deviceId: DeviceIdSchema,
|
|
54616
|
+
on: boolean()
|
|
54617
|
+
}), _void(), {
|
|
54618
|
+
kind: "mutation",
|
|
54619
|
+
auth: "protected"
|
|
54620
|
+
}), method(object({
|
|
54621
|
+
deviceId: DeviceIdSchema,
|
|
54622
|
+
on: boolean()
|
|
54623
|
+
}), _void(), {
|
|
54624
|
+
kind: "mutation",
|
|
54625
|
+
auth: "protected"
|
|
54626
|
+
}), method(object({
|
|
54627
|
+
deviceId: DeviceIdSchema,
|
|
54628
|
+
key: string().min(1),
|
|
54629
|
+
value: DishwasherValueSchema
|
|
54630
|
+
}), _void(), {
|
|
54631
|
+
kind: "mutation",
|
|
54632
|
+
auth: "protected"
|
|
54633
|
+
}), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
|
|
54354
54634
|
object({
|
|
54355
54635
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
54356
54636
|
lastPressedAt: number().nullable(),
|
|
@@ -54916,6 +55196,13 @@ object({
|
|
|
54916
55196
|
lastChangedAt: number()
|
|
54917
55197
|
});
|
|
54918
55198
|
DeviceType.Sensor;
|
|
55199
|
+
object({
|
|
55200
|
+
/** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
|
|
55201
|
+
position: number().min(0).max(100).nullable(),
|
|
55202
|
+
/** Ms epoch when the slice was last updated (push or poll). */
|
|
55203
|
+
lastFetchedAt: number()
|
|
55204
|
+
});
|
|
55205
|
+
DeviceType.Thermostat;
|
|
54919
55206
|
object({
|
|
54920
55207
|
/** Whether the humidifier is currently on. */
|
|
54921
55208
|
on: boolean(),
|
|
@@ -61982,7 +62269,7 @@ var AccessoryKind = {
|
|
|
61982
62269
|
PrivacyMask: DeviceRole.PrivacyMask
|
|
61983
62270
|
};
|
|
61984
62271
|
AccessoryKind.Siren, AccessoryKind.Floodlight, AccessoryKind.Spotlight, AccessoryKind.PirSensor, AccessoryKind.Chime, AccessoryKind.Autotrack, AccessoryKind.Nightvision, AccessoryKind.PrivacyMask;
|
|
61985
|
-
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;
|
|
62272
|
+
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;
|
|
61986
62273
|
new Set(Object.values(DeviceType));
|
|
61987
62274
|
Object.freeze({
|
|
61988
62275
|
"accessories.getStatus": {
|
|
@@ -64403,6 +64690,96 @@ Object.freeze({
|
|
|
64403
64690
|
addonId: null,
|
|
64404
64691
|
access: "view"
|
|
64405
64692
|
},
|
|
64693
|
+
"dishwasher.getOptions": {
|
|
64694
|
+
capName: "dishwasher",
|
|
64695
|
+
capScope: "device",
|
|
64696
|
+
addonId: null,
|
|
64697
|
+
access: "view"
|
|
64698
|
+
},
|
|
64699
|
+
"dishwasher.getStatus": {
|
|
64700
|
+
capName: "dishwasher",
|
|
64701
|
+
capScope: "device",
|
|
64702
|
+
addonId: null,
|
|
64703
|
+
access: "view"
|
|
64704
|
+
},
|
|
64705
|
+
"dishwasher.pause": {
|
|
64706
|
+
capName: "dishwasher",
|
|
64707
|
+
capScope: "device",
|
|
64708
|
+
addonId: null,
|
|
64709
|
+
access: "create"
|
|
64710
|
+
},
|
|
64711
|
+
"dishwasher.resume": {
|
|
64712
|
+
capName: "dishwasher",
|
|
64713
|
+
capScope: "device",
|
|
64714
|
+
addonId: null,
|
|
64715
|
+
access: "create"
|
|
64716
|
+
},
|
|
64717
|
+
"dishwasher.setChildLock": {
|
|
64718
|
+
capName: "dishwasher",
|
|
64719
|
+
capScope: "device",
|
|
64720
|
+
addonId: null,
|
|
64721
|
+
access: "create"
|
|
64722
|
+
},
|
|
64723
|
+
"dishwasher.setExtraDry": {
|
|
64724
|
+
capName: "dishwasher",
|
|
64725
|
+
capScope: "device",
|
|
64726
|
+
addonId: null,
|
|
64727
|
+
access: "create"
|
|
64728
|
+
},
|
|
64729
|
+
"dishwasher.setHalfLoad": {
|
|
64730
|
+
capName: "dishwasher",
|
|
64731
|
+
capScope: "device",
|
|
64732
|
+
addonId: null,
|
|
64733
|
+
access: "create"
|
|
64734
|
+
},
|
|
64735
|
+
"dishwasher.setHygienePlus": {
|
|
64736
|
+
capName: "dishwasher",
|
|
64737
|
+
capScope: "device",
|
|
64738
|
+
addonId: null,
|
|
64739
|
+
access: "create"
|
|
64740
|
+
},
|
|
64741
|
+
"dishwasher.setIntensiveZone": {
|
|
64742
|
+
capName: "dishwasher",
|
|
64743
|
+
capScope: "device",
|
|
64744
|
+
addonId: null,
|
|
64745
|
+
access: "create"
|
|
64746
|
+
},
|
|
64747
|
+
"dishwasher.setOption": {
|
|
64748
|
+
capName: "dishwasher",
|
|
64749
|
+
capScope: "device",
|
|
64750
|
+
addonId: null,
|
|
64751
|
+
access: "create"
|
|
64752
|
+
},
|
|
64753
|
+
"dishwasher.setPower": {
|
|
64754
|
+
capName: "dishwasher",
|
|
64755
|
+
capScope: "device",
|
|
64756
|
+
addonId: null,
|
|
64757
|
+
access: "create"
|
|
64758
|
+
},
|
|
64759
|
+
"dishwasher.setProgram": {
|
|
64760
|
+
capName: "dishwasher",
|
|
64761
|
+
capScope: "device",
|
|
64762
|
+
addonId: null,
|
|
64763
|
+
access: "create"
|
|
64764
|
+
},
|
|
64765
|
+
"dishwasher.setVarioSpeedPlus": {
|
|
64766
|
+
capName: "dishwasher",
|
|
64767
|
+
capScope: "device",
|
|
64768
|
+
addonId: null,
|
|
64769
|
+
access: "create"
|
|
64770
|
+
},
|
|
64771
|
+
"dishwasher.start": {
|
|
64772
|
+
capName: "dishwasher",
|
|
64773
|
+
capScope: "device",
|
|
64774
|
+
addonId: null,
|
|
64775
|
+
access: "create"
|
|
64776
|
+
},
|
|
64777
|
+
"dishwasher.stop": {
|
|
64778
|
+
capName: "dishwasher",
|
|
64779
|
+
capScope: "device",
|
|
64780
|
+
addonId: null,
|
|
64781
|
+
access: "create"
|
|
64782
|
+
},
|
|
64406
64783
|
"doorbell.getStatus": {
|
|
64407
64784
|
capName: "doorbell",
|
|
64408
64785
|
capScope: "device",
|
|
@@ -64613,6 +64990,12 @@ Object.freeze({
|
|
|
64613
64990
|
addonId: null,
|
|
64614
64991
|
access: "view"
|
|
64615
64992
|
},
|
|
64993
|
+
"heatingValve.getStatus": {
|
|
64994
|
+
capName: "heating-valve",
|
|
64995
|
+
capScope: "device",
|
|
64996
|
+
addonId: null,
|
|
64997
|
+
access: "view"
|
|
64998
|
+
},
|
|
64616
64999
|
"humidifier.getStatus": {
|
|
64617
65000
|
capName: "humidifier",
|
|
64618
65001
|
capScope: "device",
|
|
@@ -68831,6 +69214,12 @@ Object.freeze({
|
|
|
68831
69214
|
addonId: null,
|
|
68832
69215
|
access: "view"
|
|
68833
69216
|
},
|
|
69217
|
+
"storageMigration.moverClearance": {
|
|
69218
|
+
capName: "storage-migration",
|
|
69219
|
+
capScope: "system",
|
|
69220
|
+
addonId: null,
|
|
69221
|
+
access: "view"
|
|
69222
|
+
},
|
|
68834
69223
|
"storageMigration.movers": {
|
|
68835
69224
|
capName: "storage-migration",
|
|
68836
69225
|
capScope: "system",
|
|
@@ -70200,7 +70589,7 @@ Object.freeze({
|
|
|
70200
70589
|
access: "create"
|
|
70201
70590
|
}
|
|
70202
70591
|
});
|
|
70203
|
-
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;
|
|
70592
|
+
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;
|
|
70204
70593
|
DeviceFeature.BatteryOperated;
|
|
70205
70594
|
Object.freeze({
|
|
70206
70595
|
"accessories.getStatus": [{
|
|
@@ -71024,6 +71413,81 @@ Object.freeze({
|
|
|
71024
71413
|
form: "single",
|
|
71025
71414
|
optional: false
|
|
71026
71415
|
}],
|
|
71416
|
+
"dishwasher.getOptions": [{
|
|
71417
|
+
name: "deviceId",
|
|
71418
|
+
form: "single",
|
|
71419
|
+
optional: false
|
|
71420
|
+
}],
|
|
71421
|
+
"dishwasher.getStatus": [{
|
|
71422
|
+
name: "deviceId",
|
|
71423
|
+
form: "single",
|
|
71424
|
+
optional: false
|
|
71425
|
+
}],
|
|
71426
|
+
"dishwasher.pause": [{
|
|
71427
|
+
name: "deviceId",
|
|
71428
|
+
form: "single",
|
|
71429
|
+
optional: false
|
|
71430
|
+
}],
|
|
71431
|
+
"dishwasher.resume": [{
|
|
71432
|
+
name: "deviceId",
|
|
71433
|
+
form: "single",
|
|
71434
|
+
optional: false
|
|
71435
|
+
}],
|
|
71436
|
+
"dishwasher.setChildLock": [{
|
|
71437
|
+
name: "deviceId",
|
|
71438
|
+
form: "single",
|
|
71439
|
+
optional: false
|
|
71440
|
+
}],
|
|
71441
|
+
"dishwasher.setExtraDry": [{
|
|
71442
|
+
name: "deviceId",
|
|
71443
|
+
form: "single",
|
|
71444
|
+
optional: false
|
|
71445
|
+
}],
|
|
71446
|
+
"dishwasher.setHalfLoad": [{
|
|
71447
|
+
name: "deviceId",
|
|
71448
|
+
form: "single",
|
|
71449
|
+
optional: false
|
|
71450
|
+
}],
|
|
71451
|
+
"dishwasher.setHygienePlus": [{
|
|
71452
|
+
name: "deviceId",
|
|
71453
|
+
form: "single",
|
|
71454
|
+
optional: false
|
|
71455
|
+
}],
|
|
71456
|
+
"dishwasher.setIntensiveZone": [{
|
|
71457
|
+
name: "deviceId",
|
|
71458
|
+
form: "single",
|
|
71459
|
+
optional: false
|
|
71460
|
+
}],
|
|
71461
|
+
"dishwasher.setOption": [{
|
|
71462
|
+
name: "deviceId",
|
|
71463
|
+
form: "single",
|
|
71464
|
+
optional: false
|
|
71465
|
+
}],
|
|
71466
|
+
"dishwasher.setPower": [{
|
|
71467
|
+
name: "deviceId",
|
|
71468
|
+
form: "single",
|
|
71469
|
+
optional: false
|
|
71470
|
+
}],
|
|
71471
|
+
"dishwasher.setProgram": [{
|
|
71472
|
+
name: "deviceId",
|
|
71473
|
+
form: "single",
|
|
71474
|
+
optional: false
|
|
71475
|
+
}],
|
|
71476
|
+
"dishwasher.setVarioSpeedPlus": [{
|
|
71477
|
+
name: "deviceId",
|
|
71478
|
+
form: "single",
|
|
71479
|
+
optional: false
|
|
71480
|
+
}],
|
|
71481
|
+
"dishwasher.start": [{
|
|
71482
|
+
name: "deviceId",
|
|
71483
|
+
form: "single",
|
|
71484
|
+
optional: false
|
|
71485
|
+
}],
|
|
71486
|
+
"dishwasher.stop": [{
|
|
71487
|
+
name: "deviceId",
|
|
71488
|
+
form: "single",
|
|
71489
|
+
optional: false
|
|
71490
|
+
}],
|
|
71027
71491
|
"doorbell.getStatus": [{
|
|
71028
71492
|
name: "deviceId",
|
|
71029
71493
|
form: "single",
|
|
@@ -71093,6 +71557,11 @@ Object.freeze({
|
|
|
71093
71557
|
form: "single",
|
|
71094
71558
|
optional: false
|
|
71095
71559
|
}],
|
|
71560
|
+
"heatingValve.getStatus": [{
|
|
71561
|
+
name: "deviceId",
|
|
71562
|
+
form: "single",
|
|
71563
|
+
optional: false
|
|
71564
|
+
}],
|
|
71096
71565
|
"humidifier.getStatus": [{
|
|
71097
71566
|
name: "deviceId",
|
|
71098
71567
|
form: "single",
|
|
@@ -73050,6 +73519,9 @@ new Map(Object.entries({
|
|
|
73050
73519
|
"wrapper-update-available": "system",
|
|
73051
73520
|
"backup-completed": "system",
|
|
73052
73521
|
"export-completed": "system",
|
|
73522
|
+
"alert-critical": "system",
|
|
73523
|
+
"alert-error": "system",
|
|
73524
|
+
"alert-critical-resolved": "system",
|
|
73053
73525
|
"storage-location-low": "system",
|
|
73054
73526
|
"storage-location-critical": "system",
|
|
73055
73527
|
"storage-location-ok": "system",
|
|
@@ -73174,6 +73646,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
73174
73646
|
"storage-location-ok"
|
|
73175
73647
|
]
|
|
73176
73648
|
},
|
|
73649
|
+
{
|
|
73650
|
+
id: "alerts",
|
|
73651
|
+
family: "system",
|
|
73652
|
+
label: "Alerts",
|
|
73653
|
+
kinds: [
|
|
73654
|
+
"alert-critical",
|
|
73655
|
+
"alert-error",
|
|
73656
|
+
"alert-critical-resolved"
|
|
73657
|
+
]
|
|
73658
|
+
},
|
|
73177
73659
|
{
|
|
73178
73660
|
id: "alarm",
|
|
73179
73661
|
family: "alarm",
|
|
@@ -73218,6 +73700,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
|
|
|
73218
73700
|
return [[descriptor.kind, field]];
|
|
73219
73701
|
})));
|
|
73220
73702
|
Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
|
|
73703
|
+
object({
|
|
73704
|
+
phase: _enum(["raised", "resolved"]),
|
|
73705
|
+
episodeId: string().min(1),
|
|
73706
|
+
alertId: string().min(1),
|
|
73707
|
+
severity: AlertSeveritySchema,
|
|
73708
|
+
category: string(),
|
|
73709
|
+
title: string(),
|
|
73710
|
+
message: string(),
|
|
73711
|
+
sourceType: string().optional(),
|
|
73712
|
+
sourceId: string().optional(),
|
|
73713
|
+
nodeId: string().optional(),
|
|
73714
|
+
/** The alert's own action link (where the operator acts on it), when it has one. */
|
|
73715
|
+
actionUrl: string().optional(),
|
|
73716
|
+
at: number()
|
|
73717
|
+
});
|
|
73221
73718
|
var RULE_BODY_ONLY = ["body"];
|
|
73222
73719
|
var RULE_TEXT = ["title", "body"];
|
|
73223
73720
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
@@ -73227,6 +73724,11 @@ var TANK = [
|
|
|
73227
73724
|
"device-tank-full",
|
|
73228
73725
|
"device-tank-normal"
|
|
73229
73726
|
];
|
|
73727
|
+
var ALERT_EPISODE = [
|
|
73728
|
+
"alert-critical",
|
|
73729
|
+
"alert-error",
|
|
73730
|
+
"alert-critical-resolved"
|
|
73731
|
+
];
|
|
73230
73732
|
var UPDATES = [
|
|
73231
73733
|
"addon-update-available",
|
|
73232
73734
|
"server-update-available",
|
|
@@ -73419,14 +73921,14 @@ var STATE_SUMMARY_VARS = [
|
|
|
73419
73921
|
([...RULE_TEXT], [...CONSUMABLE]),
|
|
73420
73922
|
([...RULE_TEXT], [...TANK]),
|
|
73421
73923
|
[...RULE_TEXT],
|
|
73422
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
73423
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
73424
|
-
[...RULE_TEXT],
|
|
73924
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
73925
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
73425
73926
|
[...RULE_TEXT],
|
|
73426
73927
|
[...RULE_TEXT],
|
|
73427
73928
|
[...RULE_TEXT],
|
|
73428
73929
|
[...RULE_TEXT],
|
|
73429
73930
|
[...RULE_TEXT],
|
|
73931
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73430
73932
|
[...RULE_TEXT],
|
|
73431
73933
|
[...RULE_TEXT],
|
|
73432
73934
|
[...RULE_TEXT],
|
|
@@ -73444,7 +73946,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
73444
73946
|
[...RULE_TEXT],
|
|
73445
73947
|
[...RULE_TEXT],
|
|
73446
73948
|
[...RULE_TEXT],
|
|
73447
|
-
[...RULE_TEXT],
|
|
73949
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73950
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73951
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73952
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73953
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73448
73954
|
[...RULE_TEXT],
|
|
73449
73955
|
[...RULE_TEXT],
|
|
73450
73956
|
[...RULE_TEXT],
|