@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
|
@@ -6,7 +6,7 @@ let node_fs = require("node:fs");
|
|
|
6
6
|
let node_path = require("node:path");
|
|
7
7
|
let node_child_process = require("node:child_process");
|
|
8
8
|
let node_url = require("node:url");
|
|
9
|
-
//#region ../types/dist/event-category-
|
|
9
|
+
//#region ../types/dist/event-category-DOl51-Ij.mjs
|
|
10
10
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
11
11
|
EventCategory["SystemBoot"] = "system.boot";
|
|
12
12
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -85,9 +85,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
85
85
|
/**
|
|
86
86
|
* The node's one-shot runner boot check (D877): planned runners against the
|
|
87
87
|
* process service, `degraded` when any is failed, refused or missing. The
|
|
88
|
-
* alert centre turns it into one
|
|
88
|
+
* alert centre turns it into one critical alert.
|
|
89
89
|
*/
|
|
90
90
|
EventCategory["SystemRunnerCheck"] = "system.runner-check";
|
|
91
|
+
/**
|
|
92
|
+
* An alert EPISODE opened or closed, emitted by the alert centre for alerts
|
|
93
|
+
* of severity `critical` or `error` (`AlertEpisodePayload`). The alert
|
|
94
|
+
* centre sends no notification of its own: Notification Center turns this
|
|
95
|
+
* into the `alert-critical` / `alert-error` / `alert-critical-resolved`
|
|
96
|
+
* system-event kinds, and reconciles from the alerts store because a bus
|
|
97
|
+
* event may be dropped (D8, D11).
|
|
98
|
+
*/
|
|
99
|
+
EventCategory["AlertEpisode"] = "alert.episode";
|
|
91
100
|
EventCategory["AddonError"] = "addon.error";
|
|
92
101
|
EventCategory["AddonPageReady"] = "addon.page-ready";
|
|
93
102
|
EventCategory["AddonWidgetReady"] = "addon.widget-ready";
|
|
@@ -5545,7 +5554,7 @@ var ZodIssueCode = {
|
|
|
5545
5554
|
var ZodFirstPartyTypeKind;
|
|
5546
5555
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5547
5556
|
//#endregion
|
|
5548
|
-
//#region ../types/dist/sleep-
|
|
5557
|
+
//#region ../types/dist/sleep-BxjU_fJM.mjs
|
|
5549
5558
|
/**
|
|
5550
5559
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5551
5560
|
* window to float samples (D455).
|
|
@@ -8791,7 +8800,7 @@ object({
|
|
|
8791
8800
|
params: record(string(), union([string(), number()])).optional()
|
|
8792
8801
|
});
|
|
8793
8802
|
//#endregion
|
|
8794
|
-
//#region ../types/dist/err-msg
|
|
8803
|
+
//#region ../types/dist/err-msg-BXKzRBwg.mjs
|
|
8795
8804
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8796
8805
|
DeviceType["Camera"] = "camera";
|
|
8797
8806
|
DeviceType["Hub"] = "hub";
|
|
@@ -8883,6 +8892,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
|
8883
8892
|
* native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
|
|
8884
8893
|
* integrations sharing the same food/desiccant/hopper surface. */
|
|
8885
8894
|
DeviceType["PetFeeder"] = "pet-feeder";
|
|
8895
|
+
/** Built-in dishwasher — program lifecycle, door / remote-start gates,
|
|
8896
|
+
* salt and rinse-aid levels. Installed with the `dishwasher` cap.
|
|
8897
|
+
* Sources: native Bosch Home Connect, reusable by similar integrations. */
|
|
8898
|
+
DeviceType["Dishwasher"] = "dishwasher";
|
|
8886
8899
|
return DeviceType;
|
|
8887
8900
|
}({});
|
|
8888
8901
|
var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
|
|
@@ -9130,7 +9143,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
9130
9143
|
return DeviceRole;
|
|
9131
9144
|
}({});
|
|
9132
9145
|
//#endregion
|
|
9133
|
-
//#region ../types/dist/composition-
|
|
9146
|
+
//#region ../types/dist/composition-CB6PMT9p.mjs
|
|
9134
9147
|
/**
|
|
9135
9148
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
9136
9149
|
*
|
|
@@ -13516,8 +13529,20 @@ var AlertSeveritySchema = _enum([
|
|
|
13516
13529
|
"info",
|
|
13517
13530
|
"success",
|
|
13518
13531
|
"warning",
|
|
13519
|
-
"error"
|
|
13532
|
+
"error",
|
|
13533
|
+
"critical"
|
|
13520
13534
|
]);
|
|
13535
|
+
var AlertActionSchema = object({
|
|
13536
|
+
label: string(),
|
|
13537
|
+
href: string().optional(),
|
|
13538
|
+
/**
|
|
13539
|
+
* How `href` is followed. Absent / `app`: an admin-ui route (client-side).
|
|
13540
|
+
* `server`: a route the HUB serves (an addon HTTP route such as an OAuth
|
|
13541
|
+
* start) — the browser must leave the SPA with a full navigation, because
|
|
13542
|
+
* the SPA has no such route and would bounce to the home page.
|
|
13543
|
+
*/
|
|
13544
|
+
navigation: _enum(["app", "server"]).optional()
|
|
13545
|
+
});
|
|
13521
13546
|
var AlertStatusSchema = _enum([
|
|
13522
13547
|
"active",
|
|
13523
13548
|
"in-progress",
|
|
@@ -13535,6 +13560,7 @@ var AlertSchema = object({
|
|
|
13535
13560
|
severity: AlertSeveritySchema,
|
|
13536
13561
|
title: string(),
|
|
13537
13562
|
message: string(),
|
|
13563
|
+
action: AlertActionSchema.optional(),
|
|
13538
13564
|
status: AlertStatusSchema,
|
|
13539
13565
|
progress: number().optional(),
|
|
13540
13566
|
read: boolean(),
|
|
@@ -17679,7 +17705,11 @@ DeviceType.Hub, DeviceDiscoveryStatusSchema.extend({ lastFetchedAt: number().int
|
|
|
17679
17705
|
});
|
|
17680
17706
|
/**
|
|
17681
17707
|
* `device-adoption` — generic discovery + adoption surface,
|
|
17682
|
-
* system-scoped
|
|
17708
|
+
* system-scoped collection (one provider per integration addon), routed
|
|
17709
|
+
* by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
|
|
17710
|
+
* pin model as `connection-test`. The admin UI keeps using
|
|
17711
|
+
* `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
|
|
17712
|
+
* successor to `ha-discovery`:
|
|
17683
17713
|
* keyed by `integrationId` (the addon resolves integrationId → broker
|
|
17684
17714
|
* internally) rather than a connection-specific `brokerId`, and it
|
|
17685
17715
|
* REUSES the shared `DiscoveredChildDevice` candidate type from
|
|
@@ -41887,6 +41917,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
41887
41917
|
"server-updated",
|
|
41888
41918
|
"export-completed",
|
|
41889
41919
|
"backup-completed",
|
|
41920
|
+
"alert-critical",
|
|
41921
|
+
"alert-error",
|
|
41922
|
+
"alert-critical-resolved",
|
|
41890
41923
|
"camera-online",
|
|
41891
41924
|
"camera-offline",
|
|
41892
41925
|
"camera-disabled",
|
|
@@ -50919,7 +50952,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
|
|
|
50919
50952
|
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
50920
50953
|
kind: "mutation",
|
|
50921
50954
|
auth: "admin"
|
|
50922
|
-
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({
|
|
50955
|
+
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
|
|
50956
|
+
clear: boolean(),
|
|
50957
|
+
repointLocationId: string().optional()
|
|
50958
|
+
}), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
|
|
50923
50959
|
kind: "mutation",
|
|
50924
50960
|
auth: "admin"
|
|
50925
50961
|
}), method(StorageCleanupInputSchema, object({ jobId: string() }), {
|
|
@@ -53469,7 +53505,7 @@ var BatteryStatusSchema = object({
|
|
|
53469
53505
|
*/
|
|
53470
53506
|
binary: boolean().optional()
|
|
53471
53507
|
});
|
|
53472
|
-
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, method(object({
|
|
53508
|
+
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, method(object({
|
|
53473
53509
|
deviceId: number(),
|
|
53474
53510
|
/** Bound on the wait. Sensible range 3000–10000ms. */
|
|
53475
53511
|
timeoutMs: number().int().min(500).max(3e4).default(8e3)
|
|
@@ -54355,6 +54391,250 @@ object({
|
|
|
54355
54391
|
deviceId: number(),
|
|
54356
54392
|
status: DeviceStatusSchema
|
|
54357
54393
|
});
|
|
54394
|
+
/**
|
|
54395
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates,
|
|
54396
|
+
* consumable levels (salt, rinse aid) and common program options.
|
|
54397
|
+
*
|
|
54398
|
+
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
54399
|
+
* by any integration that exposes the same program / option surface.
|
|
54400
|
+
*
|
|
54401
|
+
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
54402
|
+
* provider refreshes the slice on an interval and eagerly after commands.
|
|
54403
|
+
*
|
|
54404
|
+
* UNKNOWN IS NOT OFF. Every field the appliance reports separately is
|
|
54405
|
+
* nullable: `null` means "not known right now" (the appliance has not said,
|
|
54406
|
+
* the link is down, or the description does not carry it) and is never
|
|
54407
|
+
* rendered or exported as `false` / `0`. `availability` says why.
|
|
54408
|
+
*/
|
|
54409
|
+
var DishwasherStateSchema = _enum([
|
|
54410
|
+
"idle",
|
|
54411
|
+
"running",
|
|
54412
|
+
"paused",
|
|
54413
|
+
"finished",
|
|
54414
|
+
"error",
|
|
54415
|
+
"unavailable"
|
|
54416
|
+
]);
|
|
54417
|
+
/**
|
|
54418
|
+
* The appliance's own operation state, uncollapsed. `state` above is the coarse
|
|
54419
|
+
* view for compact surfaces; this is what the appliance said.
|
|
54420
|
+
*/
|
|
54421
|
+
var DishwasherOperationStateSchema = _enum([
|
|
54422
|
+
"Inactive",
|
|
54423
|
+
"Ready",
|
|
54424
|
+
"DelayedStart",
|
|
54425
|
+
"Run",
|
|
54426
|
+
"Pause",
|
|
54427
|
+
"ActionRequired",
|
|
54428
|
+
"Finished",
|
|
54429
|
+
"Error",
|
|
54430
|
+
"Aborting"
|
|
54431
|
+
]);
|
|
54432
|
+
/**
|
|
54433
|
+
* Why fields may be `null`:
|
|
54434
|
+
* - `available` — the link is up and the description is loaded;
|
|
54435
|
+
* - `offline` — the local link is down (values are unknown, not last-known);
|
|
54436
|
+
* - `description-missing` — the link is up but the appliance's description could not
|
|
54437
|
+
* be loaded, so its values cannot be decoded.
|
|
54438
|
+
*/
|
|
54439
|
+
var DishwasherAvailabilitySchema = _enum([
|
|
54440
|
+
"available",
|
|
54441
|
+
"offline",
|
|
54442
|
+
"description-missing"
|
|
54443
|
+
]);
|
|
54444
|
+
var DishwasherConsumableLevelSchema = _enum([
|
|
54445
|
+
"ok",
|
|
54446
|
+
"low",
|
|
54447
|
+
"empty"
|
|
54448
|
+
]);
|
|
54449
|
+
object({
|
|
54450
|
+
availability: DishwasherAvailabilitySchema,
|
|
54451
|
+
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
54452
|
+
state: DishwasherStateSchema,
|
|
54453
|
+
/** The appliance's operation state as reported; null when not known. */
|
|
54454
|
+
operationState: DishwasherOperationStateSchema.nullable(),
|
|
54455
|
+
/** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
|
|
54456
|
+
program: string().nullable(),
|
|
54457
|
+
/** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
|
|
54458
|
+
selectedProgram: string().nullable(),
|
|
54459
|
+
/** Feature keys of the programs the appliance currently offers — drives the UI selector. */
|
|
54460
|
+
availablePrograms: array(string()),
|
|
54461
|
+
/** Seconds remaining on the active cycle, or null when not running / not known. */
|
|
54462
|
+
remainingSeconds: number().int().nonnegative().nullable(),
|
|
54463
|
+
/** Seconds the delayed start is set to (time until the cycle starts), or null. */
|
|
54464
|
+
delayedStartSeconds: number().int().nonnegative().nullable(),
|
|
54465
|
+
/** Cycle completion 0..100, or null when not applicable. */
|
|
54466
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
54467
|
+
/** True when the door is reported open; null when the door state is not known. */
|
|
54468
|
+
doorOpen: boolean().nullable(),
|
|
54469
|
+
/** True when the door is latched (locked) during a cycle; null when not reported. */
|
|
54470
|
+
doorLocked: boolean().nullable(),
|
|
54471
|
+
/** True when remote start is allowed (door closed, power on, etc.); null when not known. */
|
|
54472
|
+
remoteStartAllowed: boolean().nullable(),
|
|
54473
|
+
/** True when the appliance accepts remote control now; null when not known. */
|
|
54474
|
+
remoteControlActive: boolean().nullable(),
|
|
54475
|
+
/** True while somebody operates the appliance at its panel; null when not reported. */
|
|
54476
|
+
localControlActive: boolean().nullable(),
|
|
54477
|
+
/** Main power / switched-on state; null when not known. */
|
|
54478
|
+
powerOn: boolean().nullable(),
|
|
54479
|
+
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
54480
|
+
powerState: string().nullable(),
|
|
54481
|
+
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54482
|
+
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54483
|
+
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54484
|
+
halfLoad: boolean().nullable(),
|
|
54485
|
+
hygienePlus: boolean().nullable(),
|
|
54486
|
+
/** Extra dry option when the appliance exposes it. */
|
|
54487
|
+
extraDry: boolean().nullable(),
|
|
54488
|
+
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
54489
|
+
intensiveZone: boolean().nullable(),
|
|
54490
|
+
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
54491
|
+
varioSpeedPlus: boolean().nullable(),
|
|
54492
|
+
/** Child lock (controls disabled on the appliance); null when not known. */
|
|
54493
|
+
childLock: boolean().nullable(),
|
|
54494
|
+
/** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
|
|
54495
|
+
activeEvents: array(string()),
|
|
54496
|
+
/** Numeric error code when the appliance reports one; null otherwise. */
|
|
54497
|
+
errorCode: number().nullable(),
|
|
54498
|
+
/** Name of the raised alert-level event while the appliance is in error; null otherwise. */
|
|
54499
|
+
errorLabel: string().nullable(),
|
|
54500
|
+
/** Ms epoch of the last value received from the appliance; 0 = never. */
|
|
54501
|
+
lastFetchedAt: number()
|
|
54502
|
+
});
|
|
54503
|
+
var DeviceIdSchema = number().int().nonnegative();
|
|
54504
|
+
/** A value a program option or setting can take. */
|
|
54505
|
+
var DishwasherValueSchema = union([
|
|
54506
|
+
boolean(),
|
|
54507
|
+
string(),
|
|
54508
|
+
number()
|
|
54509
|
+
]);
|
|
54510
|
+
var DishwasherAccessSchema = _enum([
|
|
54511
|
+
"none",
|
|
54512
|
+
"read",
|
|
54513
|
+
"readWrite",
|
|
54514
|
+
"writeOnly",
|
|
54515
|
+
"readStatic"
|
|
54516
|
+
]);
|
|
54517
|
+
/**
|
|
54518
|
+
* One option or setting the appliance declares, with the constraints its description
|
|
54519
|
+
* gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
|
|
54520
|
+
*/
|
|
54521
|
+
var DishwasherOptionDescriptorSchema = object({
|
|
54522
|
+
/** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
|
|
54523
|
+
key: string(),
|
|
54524
|
+
/** Last segment of the key, for display. */
|
|
54525
|
+
name: string(),
|
|
54526
|
+
type: _enum([
|
|
54527
|
+
"boolean",
|
|
54528
|
+
"number",
|
|
54529
|
+
"enum",
|
|
54530
|
+
"string"
|
|
54531
|
+
]),
|
|
54532
|
+
access: DishwasherAccessSchema,
|
|
54533
|
+
/** The appliance reports this entity as currently available. */
|
|
54534
|
+
available: boolean(),
|
|
54535
|
+
/** Unit the description declares for a number; null when it declares none. */
|
|
54536
|
+
unit: string().nullable(),
|
|
54537
|
+
min: number().nullable(),
|
|
54538
|
+
max: number().nullable(),
|
|
54539
|
+
step: number().nullable(),
|
|
54540
|
+
/** Allowed members of an enum; null for other types. */
|
|
54541
|
+
enumValues: array(string()).nullable(),
|
|
54542
|
+
defaultValue: DishwasherValueSchema.nullable()
|
|
54543
|
+
});
|
|
54544
|
+
var DishwasherProgramSchema = object({
|
|
54545
|
+
/** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
|
|
54546
|
+
key: string(),
|
|
54547
|
+
name: string(),
|
|
54548
|
+
/** The appliance currently offers this program. */
|
|
54549
|
+
available: boolean(),
|
|
54550
|
+
/** The options this program lists, with the program-level access / availability / default. */
|
|
54551
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
54552
|
+
});
|
|
54553
|
+
var DishwasherOptionsSchema = object({
|
|
54554
|
+
availability: DishwasherAvailabilitySchema,
|
|
54555
|
+
/** What the appliance can be told to do, from the commands its description declares. */
|
|
54556
|
+
supportsStart: boolean(),
|
|
54557
|
+
supportsPause: boolean(),
|
|
54558
|
+
supportsResume: boolean(),
|
|
54559
|
+
supportsStop: boolean(),
|
|
54560
|
+
supportsPower: boolean(),
|
|
54561
|
+
/** Every program the description lists, with its options. */
|
|
54562
|
+
programs: array(DishwasherProgramSchema),
|
|
54563
|
+
/** Every option and setting entity the description lists (programs reference these by key). */
|
|
54564
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
54565
|
+
});
|
|
54566
|
+
DeviceType.Dishwasher, method(object({
|
|
54567
|
+
deviceId: DeviceIdSchema,
|
|
54568
|
+
program: string().min(1).optional(),
|
|
54569
|
+
options: record(string(), DishwasherValueSchema).optional()
|
|
54570
|
+
}), _void(), {
|
|
54571
|
+
kind: "mutation",
|
|
54572
|
+
auth: "protected"
|
|
54573
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54574
|
+
kind: "mutation",
|
|
54575
|
+
auth: "protected"
|
|
54576
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54577
|
+
kind: "mutation",
|
|
54578
|
+
auth: "protected"
|
|
54579
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54580
|
+
kind: "mutation",
|
|
54581
|
+
auth: "protected"
|
|
54582
|
+
}), method(object({
|
|
54583
|
+
deviceId: DeviceIdSchema,
|
|
54584
|
+
program: string().min(1)
|
|
54585
|
+
}), _void(), {
|
|
54586
|
+
kind: "mutation",
|
|
54587
|
+
auth: "protected"
|
|
54588
|
+
}), method(object({
|
|
54589
|
+
deviceId: DeviceIdSchema,
|
|
54590
|
+
on: boolean()
|
|
54591
|
+
}), _void(), {
|
|
54592
|
+
kind: "mutation",
|
|
54593
|
+
auth: "protected"
|
|
54594
|
+
}), method(object({
|
|
54595
|
+
deviceId: DeviceIdSchema,
|
|
54596
|
+
on: boolean()
|
|
54597
|
+
}), _void(), {
|
|
54598
|
+
kind: "mutation",
|
|
54599
|
+
auth: "protected"
|
|
54600
|
+
}), method(object({
|
|
54601
|
+
deviceId: DeviceIdSchema,
|
|
54602
|
+
on: boolean()
|
|
54603
|
+
}), _void(), {
|
|
54604
|
+
kind: "mutation",
|
|
54605
|
+
auth: "protected"
|
|
54606
|
+
}), method(object({
|
|
54607
|
+
deviceId: DeviceIdSchema,
|
|
54608
|
+
on: boolean()
|
|
54609
|
+
}), _void(), {
|
|
54610
|
+
kind: "mutation",
|
|
54611
|
+
auth: "protected"
|
|
54612
|
+
}), method(object({
|
|
54613
|
+
deviceId: DeviceIdSchema,
|
|
54614
|
+
on: boolean()
|
|
54615
|
+
}), _void(), {
|
|
54616
|
+
kind: "mutation",
|
|
54617
|
+
auth: "protected"
|
|
54618
|
+
}), method(object({
|
|
54619
|
+
deviceId: DeviceIdSchema,
|
|
54620
|
+
on: boolean()
|
|
54621
|
+
}), _void(), {
|
|
54622
|
+
kind: "mutation",
|
|
54623
|
+
auth: "protected"
|
|
54624
|
+
}), method(object({
|
|
54625
|
+
deviceId: DeviceIdSchema,
|
|
54626
|
+
on: boolean()
|
|
54627
|
+
}), _void(), {
|
|
54628
|
+
kind: "mutation",
|
|
54629
|
+
auth: "protected"
|
|
54630
|
+
}), method(object({
|
|
54631
|
+
deviceId: DeviceIdSchema,
|
|
54632
|
+
key: string().min(1),
|
|
54633
|
+
value: DishwasherValueSchema
|
|
54634
|
+
}), _void(), {
|
|
54635
|
+
kind: "mutation",
|
|
54636
|
+
auth: "protected"
|
|
54637
|
+
}), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
|
|
54358
54638
|
object({
|
|
54359
54639
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
54360
54640
|
lastPressedAt: number().nullable(),
|
|
@@ -54920,6 +55200,13 @@ object({
|
|
|
54920
55200
|
lastChangedAt: number()
|
|
54921
55201
|
});
|
|
54922
55202
|
DeviceType.Sensor;
|
|
55203
|
+
object({
|
|
55204
|
+
/** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
|
|
55205
|
+
position: number().min(0).max(100).nullable(),
|
|
55206
|
+
/** Ms epoch when the slice was last updated (push or poll). */
|
|
55207
|
+
lastFetchedAt: number()
|
|
55208
|
+
});
|
|
55209
|
+
DeviceType.Thermostat;
|
|
54923
55210
|
object({
|
|
54924
55211
|
/** Whether the humidifier is currently on. */
|
|
54925
55212
|
on: boolean(),
|
|
@@ -61986,7 +62273,7 @@ var AccessoryKind = {
|
|
|
61986
62273
|
PrivacyMask: DeviceRole.PrivacyMask
|
|
61987
62274
|
};
|
|
61988
62275
|
AccessoryKind.Siren, AccessoryKind.Floodlight, AccessoryKind.Spotlight, AccessoryKind.PirSensor, AccessoryKind.Chime, AccessoryKind.Autotrack, AccessoryKind.Nightvision, AccessoryKind.PrivacyMask;
|
|
61989
|
-
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;
|
|
62276
|
+
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;
|
|
61990
62277
|
new Set(Object.values(DeviceType));
|
|
61991
62278
|
Object.freeze({
|
|
61992
62279
|
"accessories.getStatus": {
|
|
@@ -64407,6 +64694,96 @@ Object.freeze({
|
|
|
64407
64694
|
addonId: null,
|
|
64408
64695
|
access: "view"
|
|
64409
64696
|
},
|
|
64697
|
+
"dishwasher.getOptions": {
|
|
64698
|
+
capName: "dishwasher",
|
|
64699
|
+
capScope: "device",
|
|
64700
|
+
addonId: null,
|
|
64701
|
+
access: "view"
|
|
64702
|
+
},
|
|
64703
|
+
"dishwasher.getStatus": {
|
|
64704
|
+
capName: "dishwasher",
|
|
64705
|
+
capScope: "device",
|
|
64706
|
+
addonId: null,
|
|
64707
|
+
access: "view"
|
|
64708
|
+
},
|
|
64709
|
+
"dishwasher.pause": {
|
|
64710
|
+
capName: "dishwasher",
|
|
64711
|
+
capScope: "device",
|
|
64712
|
+
addonId: null,
|
|
64713
|
+
access: "create"
|
|
64714
|
+
},
|
|
64715
|
+
"dishwasher.resume": {
|
|
64716
|
+
capName: "dishwasher",
|
|
64717
|
+
capScope: "device",
|
|
64718
|
+
addonId: null,
|
|
64719
|
+
access: "create"
|
|
64720
|
+
},
|
|
64721
|
+
"dishwasher.setChildLock": {
|
|
64722
|
+
capName: "dishwasher",
|
|
64723
|
+
capScope: "device",
|
|
64724
|
+
addonId: null,
|
|
64725
|
+
access: "create"
|
|
64726
|
+
},
|
|
64727
|
+
"dishwasher.setExtraDry": {
|
|
64728
|
+
capName: "dishwasher",
|
|
64729
|
+
capScope: "device",
|
|
64730
|
+
addonId: null,
|
|
64731
|
+
access: "create"
|
|
64732
|
+
},
|
|
64733
|
+
"dishwasher.setHalfLoad": {
|
|
64734
|
+
capName: "dishwasher",
|
|
64735
|
+
capScope: "device",
|
|
64736
|
+
addonId: null,
|
|
64737
|
+
access: "create"
|
|
64738
|
+
},
|
|
64739
|
+
"dishwasher.setHygienePlus": {
|
|
64740
|
+
capName: "dishwasher",
|
|
64741
|
+
capScope: "device",
|
|
64742
|
+
addonId: null,
|
|
64743
|
+
access: "create"
|
|
64744
|
+
},
|
|
64745
|
+
"dishwasher.setIntensiveZone": {
|
|
64746
|
+
capName: "dishwasher",
|
|
64747
|
+
capScope: "device",
|
|
64748
|
+
addonId: null,
|
|
64749
|
+
access: "create"
|
|
64750
|
+
},
|
|
64751
|
+
"dishwasher.setOption": {
|
|
64752
|
+
capName: "dishwasher",
|
|
64753
|
+
capScope: "device",
|
|
64754
|
+
addonId: null,
|
|
64755
|
+
access: "create"
|
|
64756
|
+
},
|
|
64757
|
+
"dishwasher.setPower": {
|
|
64758
|
+
capName: "dishwasher",
|
|
64759
|
+
capScope: "device",
|
|
64760
|
+
addonId: null,
|
|
64761
|
+
access: "create"
|
|
64762
|
+
},
|
|
64763
|
+
"dishwasher.setProgram": {
|
|
64764
|
+
capName: "dishwasher",
|
|
64765
|
+
capScope: "device",
|
|
64766
|
+
addonId: null,
|
|
64767
|
+
access: "create"
|
|
64768
|
+
},
|
|
64769
|
+
"dishwasher.setVarioSpeedPlus": {
|
|
64770
|
+
capName: "dishwasher",
|
|
64771
|
+
capScope: "device",
|
|
64772
|
+
addonId: null,
|
|
64773
|
+
access: "create"
|
|
64774
|
+
},
|
|
64775
|
+
"dishwasher.start": {
|
|
64776
|
+
capName: "dishwasher",
|
|
64777
|
+
capScope: "device",
|
|
64778
|
+
addonId: null,
|
|
64779
|
+
access: "create"
|
|
64780
|
+
},
|
|
64781
|
+
"dishwasher.stop": {
|
|
64782
|
+
capName: "dishwasher",
|
|
64783
|
+
capScope: "device",
|
|
64784
|
+
addonId: null,
|
|
64785
|
+
access: "create"
|
|
64786
|
+
},
|
|
64410
64787
|
"doorbell.getStatus": {
|
|
64411
64788
|
capName: "doorbell",
|
|
64412
64789
|
capScope: "device",
|
|
@@ -64617,6 +64994,12 @@ Object.freeze({
|
|
|
64617
64994
|
addonId: null,
|
|
64618
64995
|
access: "view"
|
|
64619
64996
|
},
|
|
64997
|
+
"heatingValve.getStatus": {
|
|
64998
|
+
capName: "heating-valve",
|
|
64999
|
+
capScope: "device",
|
|
65000
|
+
addonId: null,
|
|
65001
|
+
access: "view"
|
|
65002
|
+
},
|
|
64620
65003
|
"humidifier.getStatus": {
|
|
64621
65004
|
capName: "humidifier",
|
|
64622
65005
|
capScope: "device",
|
|
@@ -68835,6 +69218,12 @@ Object.freeze({
|
|
|
68835
69218
|
addonId: null,
|
|
68836
69219
|
access: "view"
|
|
68837
69220
|
},
|
|
69221
|
+
"storageMigration.moverClearance": {
|
|
69222
|
+
capName: "storage-migration",
|
|
69223
|
+
capScope: "system",
|
|
69224
|
+
addonId: null,
|
|
69225
|
+
access: "view"
|
|
69226
|
+
},
|
|
68838
69227
|
"storageMigration.movers": {
|
|
68839
69228
|
capName: "storage-migration",
|
|
68840
69229
|
capScope: "system",
|
|
@@ -70204,7 +70593,7 @@ Object.freeze({
|
|
|
70204
70593
|
access: "create"
|
|
70205
70594
|
}
|
|
70206
70595
|
});
|
|
70207
|
-
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;
|
|
70596
|
+
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;
|
|
70208
70597
|
DeviceFeature.BatteryOperated;
|
|
70209
70598
|
Object.freeze({
|
|
70210
70599
|
"accessories.getStatus": [{
|
|
@@ -71028,6 +71417,81 @@ Object.freeze({
|
|
|
71028
71417
|
form: "single",
|
|
71029
71418
|
optional: false
|
|
71030
71419
|
}],
|
|
71420
|
+
"dishwasher.getOptions": [{
|
|
71421
|
+
name: "deviceId",
|
|
71422
|
+
form: "single",
|
|
71423
|
+
optional: false
|
|
71424
|
+
}],
|
|
71425
|
+
"dishwasher.getStatus": [{
|
|
71426
|
+
name: "deviceId",
|
|
71427
|
+
form: "single",
|
|
71428
|
+
optional: false
|
|
71429
|
+
}],
|
|
71430
|
+
"dishwasher.pause": [{
|
|
71431
|
+
name: "deviceId",
|
|
71432
|
+
form: "single",
|
|
71433
|
+
optional: false
|
|
71434
|
+
}],
|
|
71435
|
+
"dishwasher.resume": [{
|
|
71436
|
+
name: "deviceId",
|
|
71437
|
+
form: "single",
|
|
71438
|
+
optional: false
|
|
71439
|
+
}],
|
|
71440
|
+
"dishwasher.setChildLock": [{
|
|
71441
|
+
name: "deviceId",
|
|
71442
|
+
form: "single",
|
|
71443
|
+
optional: false
|
|
71444
|
+
}],
|
|
71445
|
+
"dishwasher.setExtraDry": [{
|
|
71446
|
+
name: "deviceId",
|
|
71447
|
+
form: "single",
|
|
71448
|
+
optional: false
|
|
71449
|
+
}],
|
|
71450
|
+
"dishwasher.setHalfLoad": [{
|
|
71451
|
+
name: "deviceId",
|
|
71452
|
+
form: "single",
|
|
71453
|
+
optional: false
|
|
71454
|
+
}],
|
|
71455
|
+
"dishwasher.setHygienePlus": [{
|
|
71456
|
+
name: "deviceId",
|
|
71457
|
+
form: "single",
|
|
71458
|
+
optional: false
|
|
71459
|
+
}],
|
|
71460
|
+
"dishwasher.setIntensiveZone": [{
|
|
71461
|
+
name: "deviceId",
|
|
71462
|
+
form: "single",
|
|
71463
|
+
optional: false
|
|
71464
|
+
}],
|
|
71465
|
+
"dishwasher.setOption": [{
|
|
71466
|
+
name: "deviceId",
|
|
71467
|
+
form: "single",
|
|
71468
|
+
optional: false
|
|
71469
|
+
}],
|
|
71470
|
+
"dishwasher.setPower": [{
|
|
71471
|
+
name: "deviceId",
|
|
71472
|
+
form: "single",
|
|
71473
|
+
optional: false
|
|
71474
|
+
}],
|
|
71475
|
+
"dishwasher.setProgram": [{
|
|
71476
|
+
name: "deviceId",
|
|
71477
|
+
form: "single",
|
|
71478
|
+
optional: false
|
|
71479
|
+
}],
|
|
71480
|
+
"dishwasher.setVarioSpeedPlus": [{
|
|
71481
|
+
name: "deviceId",
|
|
71482
|
+
form: "single",
|
|
71483
|
+
optional: false
|
|
71484
|
+
}],
|
|
71485
|
+
"dishwasher.start": [{
|
|
71486
|
+
name: "deviceId",
|
|
71487
|
+
form: "single",
|
|
71488
|
+
optional: false
|
|
71489
|
+
}],
|
|
71490
|
+
"dishwasher.stop": [{
|
|
71491
|
+
name: "deviceId",
|
|
71492
|
+
form: "single",
|
|
71493
|
+
optional: false
|
|
71494
|
+
}],
|
|
71031
71495
|
"doorbell.getStatus": [{
|
|
71032
71496
|
name: "deviceId",
|
|
71033
71497
|
form: "single",
|
|
@@ -71097,6 +71561,11 @@ Object.freeze({
|
|
|
71097
71561
|
form: "single",
|
|
71098
71562
|
optional: false
|
|
71099
71563
|
}],
|
|
71564
|
+
"heatingValve.getStatus": [{
|
|
71565
|
+
name: "deviceId",
|
|
71566
|
+
form: "single",
|
|
71567
|
+
optional: false
|
|
71568
|
+
}],
|
|
71100
71569
|
"humidifier.getStatus": [{
|
|
71101
71570
|
name: "deviceId",
|
|
71102
71571
|
form: "single",
|
|
@@ -73054,6 +73523,9 @@ new Map(Object.entries({
|
|
|
73054
73523
|
"wrapper-update-available": "system",
|
|
73055
73524
|
"backup-completed": "system",
|
|
73056
73525
|
"export-completed": "system",
|
|
73526
|
+
"alert-critical": "system",
|
|
73527
|
+
"alert-error": "system",
|
|
73528
|
+
"alert-critical-resolved": "system",
|
|
73057
73529
|
"storage-location-low": "system",
|
|
73058
73530
|
"storage-location-critical": "system",
|
|
73059
73531
|
"storage-location-ok": "system",
|
|
@@ -73178,6 +73650,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
73178
73650
|
"storage-location-ok"
|
|
73179
73651
|
]
|
|
73180
73652
|
},
|
|
73653
|
+
{
|
|
73654
|
+
id: "alerts",
|
|
73655
|
+
family: "system",
|
|
73656
|
+
label: "Alerts",
|
|
73657
|
+
kinds: [
|
|
73658
|
+
"alert-critical",
|
|
73659
|
+
"alert-error",
|
|
73660
|
+
"alert-critical-resolved"
|
|
73661
|
+
]
|
|
73662
|
+
},
|
|
73181
73663
|
{
|
|
73182
73664
|
id: "alarm",
|
|
73183
73665
|
family: "alarm",
|
|
@@ -73222,6 +73704,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
|
|
|
73222
73704
|
return [[descriptor.kind, field]];
|
|
73223
73705
|
})));
|
|
73224
73706
|
Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
|
|
73707
|
+
object({
|
|
73708
|
+
phase: _enum(["raised", "resolved"]),
|
|
73709
|
+
episodeId: string().min(1),
|
|
73710
|
+
alertId: string().min(1),
|
|
73711
|
+
severity: AlertSeveritySchema,
|
|
73712
|
+
category: string(),
|
|
73713
|
+
title: string(),
|
|
73714
|
+
message: string(),
|
|
73715
|
+
sourceType: string().optional(),
|
|
73716
|
+
sourceId: string().optional(),
|
|
73717
|
+
nodeId: string().optional(),
|
|
73718
|
+
/** The alert's own action link (where the operator acts on it), when it has one. */
|
|
73719
|
+
actionUrl: string().optional(),
|
|
73720
|
+
at: number()
|
|
73721
|
+
});
|
|
73225
73722
|
var RULE_BODY_ONLY = ["body"];
|
|
73226
73723
|
var RULE_TEXT = ["title", "body"];
|
|
73227
73724
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
@@ -73231,6 +73728,11 @@ var TANK = [
|
|
|
73231
73728
|
"device-tank-full",
|
|
73232
73729
|
"device-tank-normal"
|
|
73233
73730
|
];
|
|
73731
|
+
var ALERT_EPISODE = [
|
|
73732
|
+
"alert-critical",
|
|
73733
|
+
"alert-error",
|
|
73734
|
+
"alert-critical-resolved"
|
|
73735
|
+
];
|
|
73234
73736
|
var UPDATES = [
|
|
73235
73737
|
"addon-update-available",
|
|
73236
73738
|
"server-update-available",
|
|
@@ -73423,14 +73925,14 @@ var STATE_SUMMARY_VARS = [
|
|
|
73423
73925
|
([...RULE_TEXT], [...CONSUMABLE]),
|
|
73424
73926
|
([...RULE_TEXT], [...TANK]),
|
|
73425
73927
|
[...RULE_TEXT],
|
|
73426
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
73427
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
73428
|
-
[...RULE_TEXT],
|
|
73928
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
73929
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
73429
73930
|
[...RULE_TEXT],
|
|
73430
73931
|
[...RULE_TEXT],
|
|
73431
73932
|
[...RULE_TEXT],
|
|
73432
73933
|
[...RULE_TEXT],
|
|
73433
73934
|
[...RULE_TEXT],
|
|
73935
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73434
73936
|
[...RULE_TEXT],
|
|
73435
73937
|
[...RULE_TEXT],
|
|
73436
73938
|
[...RULE_TEXT],
|
|
@@ -73448,7 +73950,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
73448
73950
|
[...RULE_TEXT],
|
|
73449
73951
|
[...RULE_TEXT],
|
|
73450
73952
|
[...RULE_TEXT],
|
|
73451
|
-
[...RULE_TEXT],
|
|
73953
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73954
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73955
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73956
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73957
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73452
73958
|
[...RULE_TEXT],
|
|
73453
73959
|
[...RULE_TEXT],
|
|
73454
73960
|
[...RULE_TEXT],
|