@camstack/addon-notifiers 1.2.601 → 1.2.603
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 +521 -15
- package/dist/addon.mjs +521 -15
- package/package.json +1 -1
package/dist/addon.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { brotliCompressSync, deflateSync, gzipSync } from "node:zlib";
|
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
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).
|
|
@@ -8739,7 +8748,7 @@ function userError(code, params, englishFallback) {
|
|
|
8739
8748
|
return new CamstackError(code, params, englishFallback);
|
|
8740
8749
|
}
|
|
8741
8750
|
//#endregion
|
|
8742
|
-
//#region ../types/dist/err-msg
|
|
8751
|
+
//#region ../types/dist/err-msg-BXKzRBwg.mjs
|
|
8743
8752
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8744
8753
|
DeviceType["Camera"] = "camera";
|
|
8745
8754
|
DeviceType["Hub"] = "hub";
|
|
@@ -8831,6 +8840,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
|
8831
8840
|
* native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
|
|
8832
8841
|
* integrations sharing the same food/desiccant/hopper surface. */
|
|
8833
8842
|
DeviceType["PetFeeder"] = "pet-feeder";
|
|
8843
|
+
/** Built-in dishwasher — program lifecycle, door / remote-start gates,
|
|
8844
|
+
* salt and rinse-aid levels. Installed with the `dishwasher` cap.
|
|
8845
|
+
* Sources: native Bosch Home Connect, reusable by similar integrations. */
|
|
8846
|
+
DeviceType["Dishwasher"] = "dishwasher";
|
|
8834
8847
|
return DeviceType;
|
|
8835
8848
|
}({});
|
|
8836
8849
|
var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
|
|
@@ -9078,7 +9091,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
9078
9091
|
return DeviceRole;
|
|
9079
9092
|
}({});
|
|
9080
9093
|
//#endregion
|
|
9081
|
-
//#region ../types/dist/composition-
|
|
9094
|
+
//#region ../types/dist/composition-CB6PMT9p.mjs
|
|
9082
9095
|
/**
|
|
9083
9096
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
9084
9097
|
*
|
|
@@ -13600,8 +13613,20 @@ var AlertSeveritySchema = _enum([
|
|
|
13600
13613
|
"info",
|
|
13601
13614
|
"success",
|
|
13602
13615
|
"warning",
|
|
13603
|
-
"error"
|
|
13616
|
+
"error",
|
|
13617
|
+
"critical"
|
|
13604
13618
|
]);
|
|
13619
|
+
var AlertActionSchema = object({
|
|
13620
|
+
label: string(),
|
|
13621
|
+
href: string().optional(),
|
|
13622
|
+
/**
|
|
13623
|
+
* How `href` is followed. Absent / `app`: an admin-ui route (client-side).
|
|
13624
|
+
* `server`: a route the HUB serves (an addon HTTP route such as an OAuth
|
|
13625
|
+
* start) — the browser must leave the SPA with a full navigation, because
|
|
13626
|
+
* the SPA has no such route and would bounce to the home page.
|
|
13627
|
+
*/
|
|
13628
|
+
navigation: _enum(["app", "server"]).optional()
|
|
13629
|
+
});
|
|
13605
13630
|
var AlertStatusSchema = _enum([
|
|
13606
13631
|
"active",
|
|
13607
13632
|
"in-progress",
|
|
@@ -13619,6 +13644,7 @@ var AlertSchema = object({
|
|
|
13619
13644
|
severity: AlertSeveritySchema,
|
|
13620
13645
|
title: string(),
|
|
13621
13646
|
message: string(),
|
|
13647
|
+
action: AlertActionSchema.optional(),
|
|
13622
13648
|
status: AlertStatusSchema,
|
|
13623
13649
|
progress: number().optional(),
|
|
13624
13650
|
read: boolean(),
|
|
@@ -17763,7 +17789,11 @@ DeviceType.Hub, DeviceDiscoveryStatusSchema.extend({ lastFetchedAt: number().int
|
|
|
17763
17789
|
});
|
|
17764
17790
|
/**
|
|
17765
17791
|
* `device-adoption` — generic discovery + adoption surface,
|
|
17766
|
-
* system-scoped
|
|
17792
|
+
* system-scoped collection (one provider per integration addon), routed
|
|
17793
|
+
* by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
|
|
17794
|
+
* pin model as `connection-test`. The admin UI keeps using
|
|
17795
|
+
* `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
|
|
17796
|
+
* successor to `ha-discovery`:
|
|
17767
17797
|
* keyed by `integrationId` (the addon resolves integrationId → broker
|
|
17768
17798
|
* internally) rather than a connection-specific `brokerId`, and it
|
|
17769
17799
|
* REUSES the shared `DiscoveredChildDevice` candidate type from
|
|
@@ -41993,6 +42023,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
41993
42023
|
"server-updated",
|
|
41994
42024
|
"export-completed",
|
|
41995
42025
|
"backup-completed",
|
|
42026
|
+
"alert-critical",
|
|
42027
|
+
"alert-error",
|
|
42028
|
+
"alert-critical-resolved",
|
|
41996
42029
|
"camera-online",
|
|
41997
42030
|
"camera-offline",
|
|
41998
42031
|
"camera-disabled",
|
|
@@ -51025,7 +51058,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
|
|
|
51025
51058
|
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
51026
51059
|
kind: "mutation",
|
|
51027
51060
|
auth: "admin"
|
|
51028
|
-
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({
|
|
51061
|
+
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
|
|
51062
|
+
clear: boolean(),
|
|
51063
|
+
repointLocationId: string().optional()
|
|
51064
|
+
}), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
|
|
51029
51065
|
kind: "mutation",
|
|
51030
51066
|
auth: "admin"
|
|
51031
51067
|
}), method(StorageCleanupInputSchema, object({ jobId: string() }), {
|
|
@@ -53575,7 +53611,7 @@ var BatteryStatusSchema = object({
|
|
|
53575
53611
|
*/
|
|
53576
53612
|
binary: boolean().optional()
|
|
53577
53613
|
});
|
|
53578
|
-
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, method(object({
|
|
53614
|
+
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, method(object({
|
|
53579
53615
|
deviceId: number(),
|
|
53580
53616
|
/** Bound on the wait. Sensible range 3000–10000ms. */
|
|
53581
53617
|
timeoutMs: number().int().min(500).max(3e4).default(8e3)
|
|
@@ -54451,6 +54487,250 @@ object({
|
|
|
54451
54487
|
deviceId: number(),
|
|
54452
54488
|
status: DeviceStatusSchema
|
|
54453
54489
|
});
|
|
54490
|
+
/**
|
|
54491
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates,
|
|
54492
|
+
* consumable levels (salt, rinse aid) and common program options.
|
|
54493
|
+
*
|
|
54494
|
+
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
54495
|
+
* by any integration that exposes the same program / option surface.
|
|
54496
|
+
*
|
|
54497
|
+
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
54498
|
+
* provider refreshes the slice on an interval and eagerly after commands.
|
|
54499
|
+
*
|
|
54500
|
+
* UNKNOWN IS NOT OFF. Every field the appliance reports separately is
|
|
54501
|
+
* nullable: `null` means "not known right now" (the appliance has not said,
|
|
54502
|
+
* the link is down, or the description does not carry it) and is never
|
|
54503
|
+
* rendered or exported as `false` / `0`. `availability` says why.
|
|
54504
|
+
*/
|
|
54505
|
+
var DishwasherStateSchema = _enum([
|
|
54506
|
+
"idle",
|
|
54507
|
+
"running",
|
|
54508
|
+
"paused",
|
|
54509
|
+
"finished",
|
|
54510
|
+
"error",
|
|
54511
|
+
"unavailable"
|
|
54512
|
+
]);
|
|
54513
|
+
/**
|
|
54514
|
+
* The appliance's own operation state, uncollapsed. `state` above is the coarse
|
|
54515
|
+
* view for compact surfaces; this is what the appliance said.
|
|
54516
|
+
*/
|
|
54517
|
+
var DishwasherOperationStateSchema = _enum([
|
|
54518
|
+
"Inactive",
|
|
54519
|
+
"Ready",
|
|
54520
|
+
"DelayedStart",
|
|
54521
|
+
"Run",
|
|
54522
|
+
"Pause",
|
|
54523
|
+
"ActionRequired",
|
|
54524
|
+
"Finished",
|
|
54525
|
+
"Error",
|
|
54526
|
+
"Aborting"
|
|
54527
|
+
]);
|
|
54528
|
+
/**
|
|
54529
|
+
* Why fields may be `null`:
|
|
54530
|
+
* - `available` — the link is up and the description is loaded;
|
|
54531
|
+
* - `offline` — the local link is down (values are unknown, not last-known);
|
|
54532
|
+
* - `description-missing` — the link is up but the appliance's description could not
|
|
54533
|
+
* be loaded, so its values cannot be decoded.
|
|
54534
|
+
*/
|
|
54535
|
+
var DishwasherAvailabilitySchema = _enum([
|
|
54536
|
+
"available",
|
|
54537
|
+
"offline",
|
|
54538
|
+
"description-missing"
|
|
54539
|
+
]);
|
|
54540
|
+
var DishwasherConsumableLevelSchema = _enum([
|
|
54541
|
+
"ok",
|
|
54542
|
+
"low",
|
|
54543
|
+
"empty"
|
|
54544
|
+
]);
|
|
54545
|
+
object({
|
|
54546
|
+
availability: DishwasherAvailabilitySchema,
|
|
54547
|
+
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
54548
|
+
state: DishwasherStateSchema,
|
|
54549
|
+
/** The appliance's operation state as reported; null when not known. */
|
|
54550
|
+
operationState: DishwasherOperationStateSchema.nullable(),
|
|
54551
|
+
/** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
|
|
54552
|
+
program: string().nullable(),
|
|
54553
|
+
/** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
|
|
54554
|
+
selectedProgram: string().nullable(),
|
|
54555
|
+
/** Feature keys of the programs the appliance currently offers — drives the UI selector. */
|
|
54556
|
+
availablePrograms: array(string()),
|
|
54557
|
+
/** Seconds remaining on the active cycle, or null when not running / not known. */
|
|
54558
|
+
remainingSeconds: number().int().nonnegative().nullable(),
|
|
54559
|
+
/** Seconds the delayed start is set to (time until the cycle starts), or null. */
|
|
54560
|
+
delayedStartSeconds: number().int().nonnegative().nullable(),
|
|
54561
|
+
/** Cycle completion 0..100, or null when not applicable. */
|
|
54562
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
54563
|
+
/** True when the door is reported open; null when the door state is not known. */
|
|
54564
|
+
doorOpen: boolean().nullable(),
|
|
54565
|
+
/** True when the door is latched (locked) during a cycle; null when not reported. */
|
|
54566
|
+
doorLocked: boolean().nullable(),
|
|
54567
|
+
/** True when remote start is allowed (door closed, power on, etc.); null when not known. */
|
|
54568
|
+
remoteStartAllowed: boolean().nullable(),
|
|
54569
|
+
/** True when the appliance accepts remote control now; null when not known. */
|
|
54570
|
+
remoteControlActive: boolean().nullable(),
|
|
54571
|
+
/** True while somebody operates the appliance at its panel; null when not reported. */
|
|
54572
|
+
localControlActive: boolean().nullable(),
|
|
54573
|
+
/** Main power / switched-on state; null when not known. */
|
|
54574
|
+
powerOn: boolean().nullable(),
|
|
54575
|
+
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
54576
|
+
powerState: string().nullable(),
|
|
54577
|
+
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54578
|
+
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54579
|
+
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54580
|
+
halfLoad: boolean().nullable(),
|
|
54581
|
+
hygienePlus: boolean().nullable(),
|
|
54582
|
+
/** Extra dry option when the appliance exposes it. */
|
|
54583
|
+
extraDry: boolean().nullable(),
|
|
54584
|
+
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
54585
|
+
intensiveZone: boolean().nullable(),
|
|
54586
|
+
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
54587
|
+
varioSpeedPlus: boolean().nullable(),
|
|
54588
|
+
/** Child lock (controls disabled on the appliance); null when not known. */
|
|
54589
|
+
childLock: boolean().nullable(),
|
|
54590
|
+
/** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
|
|
54591
|
+
activeEvents: array(string()),
|
|
54592
|
+
/** Numeric error code when the appliance reports one; null otherwise. */
|
|
54593
|
+
errorCode: number().nullable(),
|
|
54594
|
+
/** Name of the raised alert-level event while the appliance is in error; null otherwise. */
|
|
54595
|
+
errorLabel: string().nullable(),
|
|
54596
|
+
/** Ms epoch of the last value received from the appliance; 0 = never. */
|
|
54597
|
+
lastFetchedAt: number()
|
|
54598
|
+
});
|
|
54599
|
+
var DeviceIdSchema = number().int().nonnegative();
|
|
54600
|
+
/** A value a program option or setting can take. */
|
|
54601
|
+
var DishwasherValueSchema = union([
|
|
54602
|
+
boolean(),
|
|
54603
|
+
string(),
|
|
54604
|
+
number()
|
|
54605
|
+
]);
|
|
54606
|
+
var DishwasherAccessSchema = _enum([
|
|
54607
|
+
"none",
|
|
54608
|
+
"read",
|
|
54609
|
+
"readWrite",
|
|
54610
|
+
"writeOnly",
|
|
54611
|
+
"readStatic"
|
|
54612
|
+
]);
|
|
54613
|
+
/**
|
|
54614
|
+
* One option or setting the appliance declares, with the constraints its description
|
|
54615
|
+
* gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
|
|
54616
|
+
*/
|
|
54617
|
+
var DishwasherOptionDescriptorSchema = object({
|
|
54618
|
+
/** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
|
|
54619
|
+
key: string(),
|
|
54620
|
+
/** Last segment of the key, for display. */
|
|
54621
|
+
name: string(),
|
|
54622
|
+
type: _enum([
|
|
54623
|
+
"boolean",
|
|
54624
|
+
"number",
|
|
54625
|
+
"enum",
|
|
54626
|
+
"string"
|
|
54627
|
+
]),
|
|
54628
|
+
access: DishwasherAccessSchema,
|
|
54629
|
+
/** The appliance reports this entity as currently available. */
|
|
54630
|
+
available: boolean(),
|
|
54631
|
+
/** Unit the description declares for a number; null when it declares none. */
|
|
54632
|
+
unit: string().nullable(),
|
|
54633
|
+
min: number().nullable(),
|
|
54634
|
+
max: number().nullable(),
|
|
54635
|
+
step: number().nullable(),
|
|
54636
|
+
/** Allowed members of an enum; null for other types. */
|
|
54637
|
+
enumValues: array(string()).nullable(),
|
|
54638
|
+
defaultValue: DishwasherValueSchema.nullable()
|
|
54639
|
+
});
|
|
54640
|
+
var DishwasherProgramSchema = object({
|
|
54641
|
+
/** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
|
|
54642
|
+
key: string(),
|
|
54643
|
+
name: string(),
|
|
54644
|
+
/** The appliance currently offers this program. */
|
|
54645
|
+
available: boolean(),
|
|
54646
|
+
/** The options this program lists, with the program-level access / availability / default. */
|
|
54647
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
54648
|
+
});
|
|
54649
|
+
var DishwasherOptionsSchema = object({
|
|
54650
|
+
availability: DishwasherAvailabilitySchema,
|
|
54651
|
+
/** What the appliance can be told to do, from the commands its description declares. */
|
|
54652
|
+
supportsStart: boolean(),
|
|
54653
|
+
supportsPause: boolean(),
|
|
54654
|
+
supportsResume: boolean(),
|
|
54655
|
+
supportsStop: boolean(),
|
|
54656
|
+
supportsPower: boolean(),
|
|
54657
|
+
/** Every program the description lists, with its options. */
|
|
54658
|
+
programs: array(DishwasherProgramSchema),
|
|
54659
|
+
/** Every option and setting entity the description lists (programs reference these by key). */
|
|
54660
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
54661
|
+
});
|
|
54662
|
+
DeviceType.Dishwasher, method(object({
|
|
54663
|
+
deviceId: DeviceIdSchema,
|
|
54664
|
+
program: string().min(1).optional(),
|
|
54665
|
+
options: record(string(), DishwasherValueSchema).optional()
|
|
54666
|
+
}), _void(), {
|
|
54667
|
+
kind: "mutation",
|
|
54668
|
+
auth: "protected"
|
|
54669
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54670
|
+
kind: "mutation",
|
|
54671
|
+
auth: "protected"
|
|
54672
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54673
|
+
kind: "mutation",
|
|
54674
|
+
auth: "protected"
|
|
54675
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54676
|
+
kind: "mutation",
|
|
54677
|
+
auth: "protected"
|
|
54678
|
+
}), method(object({
|
|
54679
|
+
deviceId: DeviceIdSchema,
|
|
54680
|
+
program: string().min(1)
|
|
54681
|
+
}), _void(), {
|
|
54682
|
+
kind: "mutation",
|
|
54683
|
+
auth: "protected"
|
|
54684
|
+
}), method(object({
|
|
54685
|
+
deviceId: DeviceIdSchema,
|
|
54686
|
+
on: boolean()
|
|
54687
|
+
}), _void(), {
|
|
54688
|
+
kind: "mutation",
|
|
54689
|
+
auth: "protected"
|
|
54690
|
+
}), method(object({
|
|
54691
|
+
deviceId: DeviceIdSchema,
|
|
54692
|
+
on: boolean()
|
|
54693
|
+
}), _void(), {
|
|
54694
|
+
kind: "mutation",
|
|
54695
|
+
auth: "protected"
|
|
54696
|
+
}), method(object({
|
|
54697
|
+
deviceId: DeviceIdSchema,
|
|
54698
|
+
on: boolean()
|
|
54699
|
+
}), _void(), {
|
|
54700
|
+
kind: "mutation",
|
|
54701
|
+
auth: "protected"
|
|
54702
|
+
}), method(object({
|
|
54703
|
+
deviceId: DeviceIdSchema,
|
|
54704
|
+
on: boolean()
|
|
54705
|
+
}), _void(), {
|
|
54706
|
+
kind: "mutation",
|
|
54707
|
+
auth: "protected"
|
|
54708
|
+
}), method(object({
|
|
54709
|
+
deviceId: DeviceIdSchema,
|
|
54710
|
+
on: boolean()
|
|
54711
|
+
}), _void(), {
|
|
54712
|
+
kind: "mutation",
|
|
54713
|
+
auth: "protected"
|
|
54714
|
+
}), method(object({
|
|
54715
|
+
deviceId: DeviceIdSchema,
|
|
54716
|
+
on: boolean()
|
|
54717
|
+
}), _void(), {
|
|
54718
|
+
kind: "mutation",
|
|
54719
|
+
auth: "protected"
|
|
54720
|
+
}), method(object({
|
|
54721
|
+
deviceId: DeviceIdSchema,
|
|
54722
|
+
on: boolean()
|
|
54723
|
+
}), _void(), {
|
|
54724
|
+
kind: "mutation",
|
|
54725
|
+
auth: "protected"
|
|
54726
|
+
}), method(object({
|
|
54727
|
+
deviceId: DeviceIdSchema,
|
|
54728
|
+
key: string().min(1),
|
|
54729
|
+
value: DishwasherValueSchema
|
|
54730
|
+
}), _void(), {
|
|
54731
|
+
kind: "mutation",
|
|
54732
|
+
auth: "protected"
|
|
54733
|
+
}), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
|
|
54454
54734
|
object({
|
|
54455
54735
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
54456
54736
|
lastPressedAt: number().nullable(),
|
|
@@ -55016,6 +55296,13 @@ object({
|
|
|
55016
55296
|
lastChangedAt: number()
|
|
55017
55297
|
});
|
|
55018
55298
|
DeviceType.Sensor;
|
|
55299
|
+
object({
|
|
55300
|
+
/** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
|
|
55301
|
+
position: number().min(0).max(100).nullable(),
|
|
55302
|
+
/** Ms epoch when the slice was last updated (push or poll). */
|
|
55303
|
+
lastFetchedAt: number()
|
|
55304
|
+
});
|
|
55305
|
+
DeviceType.Thermostat;
|
|
55019
55306
|
object({
|
|
55020
55307
|
/** Whether the humidifier is currently on. */
|
|
55021
55308
|
on: boolean(),
|
|
@@ -62082,7 +62369,7 @@ var AccessoryKind = {
|
|
|
62082
62369
|
PrivacyMask: DeviceRole.PrivacyMask
|
|
62083
62370
|
};
|
|
62084
62371
|
AccessoryKind.Siren, AccessoryKind.Floodlight, AccessoryKind.Spotlight, AccessoryKind.PirSensor, AccessoryKind.Chime, AccessoryKind.Autotrack, AccessoryKind.Nightvision, AccessoryKind.PrivacyMask;
|
|
62085
|
-
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;
|
|
62372
|
+
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;
|
|
62086
62373
|
new Set(Object.values(DeviceType));
|
|
62087
62374
|
Object.freeze({
|
|
62088
62375
|
"accessories.getStatus": {
|
|
@@ -64503,6 +64790,96 @@ Object.freeze({
|
|
|
64503
64790
|
addonId: null,
|
|
64504
64791
|
access: "view"
|
|
64505
64792
|
},
|
|
64793
|
+
"dishwasher.getOptions": {
|
|
64794
|
+
capName: "dishwasher",
|
|
64795
|
+
capScope: "device",
|
|
64796
|
+
addonId: null,
|
|
64797
|
+
access: "view"
|
|
64798
|
+
},
|
|
64799
|
+
"dishwasher.getStatus": {
|
|
64800
|
+
capName: "dishwasher",
|
|
64801
|
+
capScope: "device",
|
|
64802
|
+
addonId: null,
|
|
64803
|
+
access: "view"
|
|
64804
|
+
},
|
|
64805
|
+
"dishwasher.pause": {
|
|
64806
|
+
capName: "dishwasher",
|
|
64807
|
+
capScope: "device",
|
|
64808
|
+
addonId: null,
|
|
64809
|
+
access: "create"
|
|
64810
|
+
},
|
|
64811
|
+
"dishwasher.resume": {
|
|
64812
|
+
capName: "dishwasher",
|
|
64813
|
+
capScope: "device",
|
|
64814
|
+
addonId: null,
|
|
64815
|
+
access: "create"
|
|
64816
|
+
},
|
|
64817
|
+
"dishwasher.setChildLock": {
|
|
64818
|
+
capName: "dishwasher",
|
|
64819
|
+
capScope: "device",
|
|
64820
|
+
addonId: null,
|
|
64821
|
+
access: "create"
|
|
64822
|
+
},
|
|
64823
|
+
"dishwasher.setExtraDry": {
|
|
64824
|
+
capName: "dishwasher",
|
|
64825
|
+
capScope: "device",
|
|
64826
|
+
addonId: null,
|
|
64827
|
+
access: "create"
|
|
64828
|
+
},
|
|
64829
|
+
"dishwasher.setHalfLoad": {
|
|
64830
|
+
capName: "dishwasher",
|
|
64831
|
+
capScope: "device",
|
|
64832
|
+
addonId: null,
|
|
64833
|
+
access: "create"
|
|
64834
|
+
},
|
|
64835
|
+
"dishwasher.setHygienePlus": {
|
|
64836
|
+
capName: "dishwasher",
|
|
64837
|
+
capScope: "device",
|
|
64838
|
+
addonId: null,
|
|
64839
|
+
access: "create"
|
|
64840
|
+
},
|
|
64841
|
+
"dishwasher.setIntensiveZone": {
|
|
64842
|
+
capName: "dishwasher",
|
|
64843
|
+
capScope: "device",
|
|
64844
|
+
addonId: null,
|
|
64845
|
+
access: "create"
|
|
64846
|
+
},
|
|
64847
|
+
"dishwasher.setOption": {
|
|
64848
|
+
capName: "dishwasher",
|
|
64849
|
+
capScope: "device",
|
|
64850
|
+
addonId: null,
|
|
64851
|
+
access: "create"
|
|
64852
|
+
},
|
|
64853
|
+
"dishwasher.setPower": {
|
|
64854
|
+
capName: "dishwasher",
|
|
64855
|
+
capScope: "device",
|
|
64856
|
+
addonId: null,
|
|
64857
|
+
access: "create"
|
|
64858
|
+
},
|
|
64859
|
+
"dishwasher.setProgram": {
|
|
64860
|
+
capName: "dishwasher",
|
|
64861
|
+
capScope: "device",
|
|
64862
|
+
addonId: null,
|
|
64863
|
+
access: "create"
|
|
64864
|
+
},
|
|
64865
|
+
"dishwasher.setVarioSpeedPlus": {
|
|
64866
|
+
capName: "dishwasher",
|
|
64867
|
+
capScope: "device",
|
|
64868
|
+
addonId: null,
|
|
64869
|
+
access: "create"
|
|
64870
|
+
},
|
|
64871
|
+
"dishwasher.start": {
|
|
64872
|
+
capName: "dishwasher",
|
|
64873
|
+
capScope: "device",
|
|
64874
|
+
addonId: null,
|
|
64875
|
+
access: "create"
|
|
64876
|
+
},
|
|
64877
|
+
"dishwasher.stop": {
|
|
64878
|
+
capName: "dishwasher",
|
|
64879
|
+
capScope: "device",
|
|
64880
|
+
addonId: null,
|
|
64881
|
+
access: "create"
|
|
64882
|
+
},
|
|
64506
64883
|
"doorbell.getStatus": {
|
|
64507
64884
|
capName: "doorbell",
|
|
64508
64885
|
capScope: "device",
|
|
@@ -64713,6 +65090,12 @@ Object.freeze({
|
|
|
64713
65090
|
addonId: null,
|
|
64714
65091
|
access: "view"
|
|
64715
65092
|
},
|
|
65093
|
+
"heatingValve.getStatus": {
|
|
65094
|
+
capName: "heating-valve",
|
|
65095
|
+
capScope: "device",
|
|
65096
|
+
addonId: null,
|
|
65097
|
+
access: "view"
|
|
65098
|
+
},
|
|
64716
65099
|
"humidifier.getStatus": {
|
|
64717
65100
|
capName: "humidifier",
|
|
64718
65101
|
capScope: "device",
|
|
@@ -68931,6 +69314,12 @@ Object.freeze({
|
|
|
68931
69314
|
addonId: null,
|
|
68932
69315
|
access: "view"
|
|
68933
69316
|
},
|
|
69317
|
+
"storageMigration.moverClearance": {
|
|
69318
|
+
capName: "storage-migration",
|
|
69319
|
+
capScope: "system",
|
|
69320
|
+
addonId: null,
|
|
69321
|
+
access: "view"
|
|
69322
|
+
},
|
|
68934
69323
|
"storageMigration.movers": {
|
|
68935
69324
|
capName: "storage-migration",
|
|
68936
69325
|
capScope: "system",
|
|
@@ -70300,7 +70689,7 @@ Object.freeze({
|
|
|
70300
70689
|
access: "create"
|
|
70301
70690
|
}
|
|
70302
70691
|
});
|
|
70303
|
-
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;
|
|
70692
|
+
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;
|
|
70304
70693
|
DeviceFeature.BatteryOperated;
|
|
70305
70694
|
Object.freeze({
|
|
70306
70695
|
"accessories.getStatus": [{
|
|
@@ -71124,6 +71513,81 @@ Object.freeze({
|
|
|
71124
71513
|
form: "single",
|
|
71125
71514
|
optional: false
|
|
71126
71515
|
}],
|
|
71516
|
+
"dishwasher.getOptions": [{
|
|
71517
|
+
name: "deviceId",
|
|
71518
|
+
form: "single",
|
|
71519
|
+
optional: false
|
|
71520
|
+
}],
|
|
71521
|
+
"dishwasher.getStatus": [{
|
|
71522
|
+
name: "deviceId",
|
|
71523
|
+
form: "single",
|
|
71524
|
+
optional: false
|
|
71525
|
+
}],
|
|
71526
|
+
"dishwasher.pause": [{
|
|
71527
|
+
name: "deviceId",
|
|
71528
|
+
form: "single",
|
|
71529
|
+
optional: false
|
|
71530
|
+
}],
|
|
71531
|
+
"dishwasher.resume": [{
|
|
71532
|
+
name: "deviceId",
|
|
71533
|
+
form: "single",
|
|
71534
|
+
optional: false
|
|
71535
|
+
}],
|
|
71536
|
+
"dishwasher.setChildLock": [{
|
|
71537
|
+
name: "deviceId",
|
|
71538
|
+
form: "single",
|
|
71539
|
+
optional: false
|
|
71540
|
+
}],
|
|
71541
|
+
"dishwasher.setExtraDry": [{
|
|
71542
|
+
name: "deviceId",
|
|
71543
|
+
form: "single",
|
|
71544
|
+
optional: false
|
|
71545
|
+
}],
|
|
71546
|
+
"dishwasher.setHalfLoad": [{
|
|
71547
|
+
name: "deviceId",
|
|
71548
|
+
form: "single",
|
|
71549
|
+
optional: false
|
|
71550
|
+
}],
|
|
71551
|
+
"dishwasher.setHygienePlus": [{
|
|
71552
|
+
name: "deviceId",
|
|
71553
|
+
form: "single",
|
|
71554
|
+
optional: false
|
|
71555
|
+
}],
|
|
71556
|
+
"dishwasher.setIntensiveZone": [{
|
|
71557
|
+
name: "deviceId",
|
|
71558
|
+
form: "single",
|
|
71559
|
+
optional: false
|
|
71560
|
+
}],
|
|
71561
|
+
"dishwasher.setOption": [{
|
|
71562
|
+
name: "deviceId",
|
|
71563
|
+
form: "single",
|
|
71564
|
+
optional: false
|
|
71565
|
+
}],
|
|
71566
|
+
"dishwasher.setPower": [{
|
|
71567
|
+
name: "deviceId",
|
|
71568
|
+
form: "single",
|
|
71569
|
+
optional: false
|
|
71570
|
+
}],
|
|
71571
|
+
"dishwasher.setProgram": [{
|
|
71572
|
+
name: "deviceId",
|
|
71573
|
+
form: "single",
|
|
71574
|
+
optional: false
|
|
71575
|
+
}],
|
|
71576
|
+
"dishwasher.setVarioSpeedPlus": [{
|
|
71577
|
+
name: "deviceId",
|
|
71578
|
+
form: "single",
|
|
71579
|
+
optional: false
|
|
71580
|
+
}],
|
|
71581
|
+
"dishwasher.start": [{
|
|
71582
|
+
name: "deviceId",
|
|
71583
|
+
form: "single",
|
|
71584
|
+
optional: false
|
|
71585
|
+
}],
|
|
71586
|
+
"dishwasher.stop": [{
|
|
71587
|
+
name: "deviceId",
|
|
71588
|
+
form: "single",
|
|
71589
|
+
optional: false
|
|
71590
|
+
}],
|
|
71127
71591
|
"doorbell.getStatus": [{
|
|
71128
71592
|
name: "deviceId",
|
|
71129
71593
|
form: "single",
|
|
@@ -71193,6 +71657,11 @@ Object.freeze({
|
|
|
71193
71657
|
form: "single",
|
|
71194
71658
|
optional: false
|
|
71195
71659
|
}],
|
|
71660
|
+
"heatingValve.getStatus": [{
|
|
71661
|
+
name: "deviceId",
|
|
71662
|
+
form: "single",
|
|
71663
|
+
optional: false
|
|
71664
|
+
}],
|
|
71196
71665
|
"humidifier.getStatus": [{
|
|
71197
71666
|
name: "deviceId",
|
|
71198
71667
|
form: "single",
|
|
@@ -73357,6 +73826,9 @@ new Map(Object.entries({
|
|
|
73357
73826
|
"wrapper-update-available": "system",
|
|
73358
73827
|
"backup-completed": "system",
|
|
73359
73828
|
"export-completed": "system",
|
|
73829
|
+
"alert-critical": "system",
|
|
73830
|
+
"alert-error": "system",
|
|
73831
|
+
"alert-critical-resolved": "system",
|
|
73360
73832
|
"storage-location-low": "system",
|
|
73361
73833
|
"storage-location-critical": "system",
|
|
73362
73834
|
"storage-location-ok": "system",
|
|
@@ -73481,6 +73953,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
73481
73953
|
"storage-location-ok"
|
|
73482
73954
|
]
|
|
73483
73955
|
},
|
|
73956
|
+
{
|
|
73957
|
+
id: "alerts",
|
|
73958
|
+
family: "system",
|
|
73959
|
+
label: "Alerts",
|
|
73960
|
+
kinds: [
|
|
73961
|
+
"alert-critical",
|
|
73962
|
+
"alert-error",
|
|
73963
|
+
"alert-critical-resolved"
|
|
73964
|
+
]
|
|
73965
|
+
},
|
|
73484
73966
|
{
|
|
73485
73967
|
id: "alarm",
|
|
73486
73968
|
family: "alarm",
|
|
@@ -73525,6 +74007,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
|
|
|
73525
74007
|
return [[descriptor.kind, field]];
|
|
73526
74008
|
})));
|
|
73527
74009
|
Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
|
|
74010
|
+
object({
|
|
74011
|
+
phase: _enum(["raised", "resolved"]),
|
|
74012
|
+
episodeId: string().min(1),
|
|
74013
|
+
alertId: string().min(1),
|
|
74014
|
+
severity: AlertSeveritySchema,
|
|
74015
|
+
category: string(),
|
|
74016
|
+
title: string(),
|
|
74017
|
+
message: string(),
|
|
74018
|
+
sourceType: string().optional(),
|
|
74019
|
+
sourceId: string().optional(),
|
|
74020
|
+
nodeId: string().optional(),
|
|
74021
|
+
/** The alert's own action link (where the operator acts on it), when it has one. */
|
|
74022
|
+
actionUrl: string().optional(),
|
|
74023
|
+
at: number()
|
|
74024
|
+
});
|
|
73528
74025
|
var RULE_BODY_ONLY = ["body"];
|
|
73529
74026
|
var RULE_TEXT = ["title", "body"];
|
|
73530
74027
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
@@ -73534,6 +74031,11 @@ var TANK = [
|
|
|
73534
74031
|
"device-tank-full",
|
|
73535
74032
|
"device-tank-normal"
|
|
73536
74033
|
];
|
|
74034
|
+
var ALERT_EPISODE = [
|
|
74035
|
+
"alert-critical",
|
|
74036
|
+
"alert-error",
|
|
74037
|
+
"alert-critical-resolved"
|
|
74038
|
+
];
|
|
73537
74039
|
var UPDATES = [
|
|
73538
74040
|
"addon-update-available",
|
|
73539
74041
|
"server-update-available",
|
|
@@ -73726,14 +74228,14 @@ var STATE_SUMMARY_VARS = [
|
|
|
73726
74228
|
([...RULE_TEXT], [...CONSUMABLE]),
|
|
73727
74229
|
([...RULE_TEXT], [...TANK]),
|
|
73728
74230
|
[...RULE_TEXT],
|
|
73729
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
73730
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
73731
|
-
[...RULE_TEXT],
|
|
74231
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
74232
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
73732
74233
|
[...RULE_TEXT],
|
|
73733
74234
|
[...RULE_TEXT],
|
|
73734
74235
|
[...RULE_TEXT],
|
|
73735
74236
|
[...RULE_TEXT],
|
|
73736
74237
|
[...RULE_TEXT],
|
|
74238
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73737
74239
|
[...RULE_TEXT],
|
|
73738
74240
|
[...RULE_TEXT],
|
|
73739
74241
|
[...RULE_TEXT],
|
|
@@ -73751,7 +74253,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
73751
74253
|
[...RULE_TEXT],
|
|
73752
74254
|
[...RULE_TEXT],
|
|
73753
74255
|
[...RULE_TEXT],
|
|
73754
|
-
[...RULE_TEXT],
|
|
74256
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74257
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74258
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74259
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74260
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73755
74261
|
[...RULE_TEXT],
|
|
73756
74262
|
[...RULE_TEXT],
|
|
73757
74263
|
[...RULE_TEXT],
|