@camstack/addon-mqtt-broker 1.2.126 → 1.2.128
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/mqtt-broker.addon.js +521 -15
- package/dist/mqtt-broker.addon.mjs +521 -15
- package/package.json +1 -1
|
@@ -46,7 +46,7 @@ let node_fs = require("node:fs");
|
|
|
46
46
|
node_fs = __toESM(node_fs);
|
|
47
47
|
let node_path = require("node:path");
|
|
48
48
|
node_path = __toESM(node_path);
|
|
49
|
-
//#region ../types/dist/event-category-
|
|
49
|
+
//#region ../types/dist/event-category-DOl51-Ij.mjs
|
|
50
50
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
51
51
|
EventCategory["SystemBoot"] = "system.boot";
|
|
52
52
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -125,9 +125,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
125
125
|
/**
|
|
126
126
|
* The node's one-shot runner boot check (D877): planned runners against the
|
|
127
127
|
* process service, `degraded` when any is failed, refused or missing. The
|
|
128
|
-
* alert centre turns it into one
|
|
128
|
+
* alert centre turns it into one critical alert.
|
|
129
129
|
*/
|
|
130
130
|
EventCategory["SystemRunnerCheck"] = "system.runner-check";
|
|
131
|
+
/**
|
|
132
|
+
* An alert EPISODE opened or closed, emitted by the alert centre for alerts
|
|
133
|
+
* of severity `critical` or `error` (`AlertEpisodePayload`). The alert
|
|
134
|
+
* centre sends no notification of its own: Notification Center turns this
|
|
135
|
+
* into the `alert-critical` / `alert-error` / `alert-critical-resolved`
|
|
136
|
+
* system-event kinds, and reconciles from the alerts store because a bus
|
|
137
|
+
* event may be dropped (D8, D11).
|
|
138
|
+
*/
|
|
139
|
+
EventCategory["AlertEpisode"] = "alert.episode";
|
|
131
140
|
EventCategory["AddonError"] = "addon.error";
|
|
132
141
|
EventCategory["AddonPageReady"] = "addon.page-ready";
|
|
133
142
|
EventCategory["AddonWidgetReady"] = "addon.widget-ready";
|
|
@@ -5585,7 +5594,7 @@ var ZodIssueCode = {
|
|
|
5585
5594
|
var ZodFirstPartyTypeKind;
|
|
5586
5595
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5587
5596
|
//#endregion
|
|
5588
|
-
//#region ../types/dist/sleep-
|
|
5597
|
+
//#region ../types/dist/sleep-BxjU_fJM.mjs
|
|
5589
5598
|
/**
|
|
5590
5599
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5591
5600
|
* window to float samples (D455).
|
|
@@ -8809,7 +8818,7 @@ object({
|
|
|
8809
8818
|
params: record(string(), union([string(), number()])).optional()
|
|
8810
8819
|
});
|
|
8811
8820
|
//#endregion
|
|
8812
|
-
//#region ../types/dist/err-msg
|
|
8821
|
+
//#region ../types/dist/err-msg-BXKzRBwg.mjs
|
|
8813
8822
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8814
8823
|
DeviceType["Camera"] = "camera";
|
|
8815
8824
|
DeviceType["Hub"] = "hub";
|
|
@@ -8901,6 +8910,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
|
8901
8910
|
* native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
|
|
8902
8911
|
* integrations sharing the same food/desiccant/hopper surface. */
|
|
8903
8912
|
DeviceType["PetFeeder"] = "pet-feeder";
|
|
8913
|
+
/** Built-in dishwasher — program lifecycle, door / remote-start gates,
|
|
8914
|
+
* salt and rinse-aid levels. Installed with the `dishwasher` cap.
|
|
8915
|
+
* Sources: native Bosch Home Connect, reusable by similar integrations. */
|
|
8916
|
+
DeviceType["Dishwasher"] = "dishwasher";
|
|
8904
8917
|
return DeviceType;
|
|
8905
8918
|
}({});
|
|
8906
8919
|
var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
|
|
@@ -9148,7 +9161,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
9148
9161
|
return DeviceRole;
|
|
9149
9162
|
}({});
|
|
9150
9163
|
//#endregion
|
|
9151
|
-
//#region ../types/dist/composition-
|
|
9164
|
+
//#region ../types/dist/composition-CB6PMT9p.mjs
|
|
9152
9165
|
/**
|
|
9153
9166
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
9154
9167
|
*
|
|
@@ -13534,8 +13547,20 @@ var AlertSeveritySchema = _enum([
|
|
|
13534
13547
|
"info",
|
|
13535
13548
|
"success",
|
|
13536
13549
|
"warning",
|
|
13537
|
-
"error"
|
|
13550
|
+
"error",
|
|
13551
|
+
"critical"
|
|
13538
13552
|
]);
|
|
13553
|
+
var AlertActionSchema = object({
|
|
13554
|
+
label: string(),
|
|
13555
|
+
href: string().optional(),
|
|
13556
|
+
/**
|
|
13557
|
+
* How `href` is followed. Absent / `app`: an admin-ui route (client-side).
|
|
13558
|
+
* `server`: a route the HUB serves (an addon HTTP route such as an OAuth
|
|
13559
|
+
* start) — the browser must leave the SPA with a full navigation, because
|
|
13560
|
+
* the SPA has no such route and would bounce to the home page.
|
|
13561
|
+
*/
|
|
13562
|
+
navigation: _enum(["app", "server"]).optional()
|
|
13563
|
+
});
|
|
13539
13564
|
var AlertStatusSchema = _enum([
|
|
13540
13565
|
"active",
|
|
13541
13566
|
"in-progress",
|
|
@@ -13553,6 +13578,7 @@ var AlertSchema = object({
|
|
|
13553
13578
|
severity: AlertSeveritySchema,
|
|
13554
13579
|
title: string(),
|
|
13555
13580
|
message: string(),
|
|
13581
|
+
action: AlertActionSchema.optional(),
|
|
13556
13582
|
status: AlertStatusSchema,
|
|
13557
13583
|
progress: number().optional(),
|
|
13558
13584
|
read: boolean(),
|
|
@@ -17746,7 +17772,11 @@ DeviceType.Hub, DeviceDiscoveryStatusSchema.extend({ lastFetchedAt: number().int
|
|
|
17746
17772
|
});
|
|
17747
17773
|
/**
|
|
17748
17774
|
* `device-adoption` — generic discovery + adoption surface,
|
|
17749
|
-
* system-scoped
|
|
17775
|
+
* system-scoped collection (one provider per integration addon), routed
|
|
17776
|
+
* by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
|
|
17777
|
+
* pin model as `connection-test`. The admin UI keeps using
|
|
17778
|
+
* `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
|
|
17779
|
+
* successor to `ha-discovery`:
|
|
17750
17780
|
* keyed by `integrationId` (the addon resolves integrationId → broker
|
|
17751
17781
|
* internally) rather than a connection-specific `brokerId`, and it
|
|
17752
17782
|
* REUSES the shared `DiscoveredChildDevice` candidate type from
|
|
@@ -41973,6 +42003,9 @@ var NcSystemEventKindSchema = _enum([
|
|
|
41973
42003
|
"server-updated",
|
|
41974
42004
|
"export-completed",
|
|
41975
42005
|
"backup-completed",
|
|
42006
|
+
"alert-critical",
|
|
42007
|
+
"alert-error",
|
|
42008
|
+
"alert-critical-resolved",
|
|
41976
42009
|
"camera-online",
|
|
41977
42010
|
"camera-offline",
|
|
41978
42011
|
"camera-disabled",
|
|
@@ -51005,7 +51038,10 @@ method(StorageMigrationInputSchema, StorageMigrationPlanSchema, { auth: "admin"
|
|
|
51005
51038
|
}), method(object({ jobId: string().optional() }), StorageMigrationJobSchema.nullable(), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
51006
51039
|
kind: "mutation",
|
|
51007
51040
|
auth: "admin"
|
|
51008
|
-
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({
|
|
51041
|
+
}), method(object({}), array(StorageMigrationMoverSchema).readonly(), { auth: "admin" }), method(object({ locationIds: array(string()).readonly() }), object({
|
|
51042
|
+
clear: boolean(),
|
|
51043
|
+
repointLocationId: string().optional()
|
|
51044
|
+
}), { auth: "admin" }), method(object({}), array(StorageMigrationResidueSchema).readonly(), { auth: "admin" }), method(StorageMigrationDrainInputSchema, object({ jobId: string() }), {
|
|
51009
51045
|
kind: "mutation",
|
|
51010
51046
|
auth: "admin"
|
|
51011
51047
|
}), method(StorageCleanupInputSchema, object({ jobId: string() }), {
|
|
@@ -53555,7 +53591,7 @@ var BatteryStatusSchema = object({
|
|
|
53555
53591
|
*/
|
|
53556
53592
|
binary: boolean().optional()
|
|
53557
53593
|
});
|
|
53558
|
-
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, method(object({
|
|
53594
|
+
DeviceType.Camera, DeviceType.Sensor, DeviceType.Button, DeviceType.Switch, DeviceType.PetFeeder, DeviceType.Container, DeviceType.Thermostat, method(object({
|
|
53559
53595
|
deviceId: number(),
|
|
53560
53596
|
/** Bound on the wait. Sensible range 3000–10000ms. */
|
|
53561
53597
|
timeoutMs: number().int().min(500).max(3e4).default(8e3)
|
|
@@ -54431,6 +54467,250 @@ object({
|
|
|
54431
54467
|
deviceId: number(),
|
|
54432
54468
|
status: DeviceStatusSchema
|
|
54433
54469
|
});
|
|
54470
|
+
/**
|
|
54471
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates,
|
|
54472
|
+
* consumable levels (salt, rinse aid) and common program options.
|
|
54473
|
+
*
|
|
54474
|
+
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
54475
|
+
* by any integration that exposes the same program / option surface.
|
|
54476
|
+
*
|
|
54477
|
+
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
54478
|
+
* provider refreshes the slice on an interval and eagerly after commands.
|
|
54479
|
+
*
|
|
54480
|
+
* UNKNOWN IS NOT OFF. Every field the appliance reports separately is
|
|
54481
|
+
* nullable: `null` means "not known right now" (the appliance has not said,
|
|
54482
|
+
* the link is down, or the description does not carry it) and is never
|
|
54483
|
+
* rendered or exported as `false` / `0`. `availability` says why.
|
|
54484
|
+
*/
|
|
54485
|
+
var DishwasherStateSchema = _enum([
|
|
54486
|
+
"idle",
|
|
54487
|
+
"running",
|
|
54488
|
+
"paused",
|
|
54489
|
+
"finished",
|
|
54490
|
+
"error",
|
|
54491
|
+
"unavailable"
|
|
54492
|
+
]);
|
|
54493
|
+
/**
|
|
54494
|
+
* The appliance's own operation state, uncollapsed. `state` above is the coarse
|
|
54495
|
+
* view for compact surfaces; this is what the appliance said.
|
|
54496
|
+
*/
|
|
54497
|
+
var DishwasherOperationStateSchema = _enum([
|
|
54498
|
+
"Inactive",
|
|
54499
|
+
"Ready",
|
|
54500
|
+
"DelayedStart",
|
|
54501
|
+
"Run",
|
|
54502
|
+
"Pause",
|
|
54503
|
+
"ActionRequired",
|
|
54504
|
+
"Finished",
|
|
54505
|
+
"Error",
|
|
54506
|
+
"Aborting"
|
|
54507
|
+
]);
|
|
54508
|
+
/**
|
|
54509
|
+
* Why fields may be `null`:
|
|
54510
|
+
* - `available` — the link is up and the description is loaded;
|
|
54511
|
+
* - `offline` — the local link is down (values are unknown, not last-known);
|
|
54512
|
+
* - `description-missing` — the link is up but the appliance's description could not
|
|
54513
|
+
* be loaded, so its values cannot be decoded.
|
|
54514
|
+
*/
|
|
54515
|
+
var DishwasherAvailabilitySchema = _enum([
|
|
54516
|
+
"available",
|
|
54517
|
+
"offline",
|
|
54518
|
+
"description-missing"
|
|
54519
|
+
]);
|
|
54520
|
+
var DishwasherConsumableLevelSchema = _enum([
|
|
54521
|
+
"ok",
|
|
54522
|
+
"low",
|
|
54523
|
+
"empty"
|
|
54524
|
+
]);
|
|
54525
|
+
object({
|
|
54526
|
+
availability: DishwasherAvailabilitySchema,
|
|
54527
|
+
/** Coarse state for compact surfaces; `unavailable` whenever the appliance state is not known. */
|
|
54528
|
+
state: DishwasherStateSchema,
|
|
54529
|
+
/** The appliance's operation state as reported; null when not known. */
|
|
54530
|
+
operationState: DishwasherOperationStateSchema.nullable(),
|
|
54531
|
+
/** Feature key of the ACTIVE (running) program, or null when none runs / not known. */
|
|
54532
|
+
program: string().nullable(),
|
|
54533
|
+
/** Feature key of the SELECTED program (what Start would run), or null when none / not known. */
|
|
54534
|
+
selectedProgram: string().nullable(),
|
|
54535
|
+
/** Feature keys of the programs the appliance currently offers — drives the UI selector. */
|
|
54536
|
+
availablePrograms: array(string()),
|
|
54537
|
+
/** Seconds remaining on the active cycle, or null when not running / not known. */
|
|
54538
|
+
remainingSeconds: number().int().nonnegative().nullable(),
|
|
54539
|
+
/** Seconds the delayed start is set to (time until the cycle starts), or null. */
|
|
54540
|
+
delayedStartSeconds: number().int().nonnegative().nullable(),
|
|
54541
|
+
/** Cycle completion 0..100, or null when not applicable. */
|
|
54542
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
54543
|
+
/** True when the door is reported open; null when the door state is not known. */
|
|
54544
|
+
doorOpen: boolean().nullable(),
|
|
54545
|
+
/** True when the door is latched (locked) during a cycle; null when not reported. */
|
|
54546
|
+
doorLocked: boolean().nullable(),
|
|
54547
|
+
/** True when remote start is allowed (door closed, power on, etc.); null when not known. */
|
|
54548
|
+
remoteStartAllowed: boolean().nullable(),
|
|
54549
|
+
/** True when the appliance accepts remote control now; null when not known. */
|
|
54550
|
+
remoteControlActive: boolean().nullable(),
|
|
54551
|
+
/** True while somebody operates the appliance at its panel; null when not reported. */
|
|
54552
|
+
localControlActive: boolean().nullable(),
|
|
54553
|
+
/** Main power / switched-on state; null when not known. */
|
|
54554
|
+
powerOn: boolean().nullable(),
|
|
54555
|
+
/** The raw power state (`On`, `Off`, `Standby`, …); null when not known. */
|
|
54556
|
+
powerState: string().nullable(),
|
|
54557
|
+
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54558
|
+
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
54559
|
+
/** Option states: null when the appliance does not expose the option or has not said. */
|
|
54560
|
+
halfLoad: boolean().nullable(),
|
|
54561
|
+
hygienePlus: boolean().nullable(),
|
|
54562
|
+
/** Extra dry option when the appliance exposes it. */
|
|
54563
|
+
extraDry: boolean().nullable(),
|
|
54564
|
+
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
54565
|
+
intensiveZone: boolean().nullable(),
|
|
54566
|
+
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
54567
|
+
varioSpeedPlus: boolean().nullable(),
|
|
54568
|
+
/** Child lock (controls disabled on the appliance); null when not known. */
|
|
54569
|
+
childLock: boolean().nullable(),
|
|
54570
|
+
/** Feature keys of the events currently raised (salt low, rinse aid low, program finished, …). */
|
|
54571
|
+
activeEvents: array(string()),
|
|
54572
|
+
/** Numeric error code when the appliance reports one; null otherwise. */
|
|
54573
|
+
errorCode: number().nullable(),
|
|
54574
|
+
/** Name of the raised alert-level event while the appliance is in error; null otherwise. */
|
|
54575
|
+
errorLabel: string().nullable(),
|
|
54576
|
+
/** Ms epoch of the last value received from the appliance; 0 = never. */
|
|
54577
|
+
lastFetchedAt: number()
|
|
54578
|
+
});
|
|
54579
|
+
var DeviceIdSchema = number().int().nonnegative();
|
|
54580
|
+
/** A value a program option or setting can take. */
|
|
54581
|
+
var DishwasherValueSchema = union([
|
|
54582
|
+
boolean(),
|
|
54583
|
+
string(),
|
|
54584
|
+
number()
|
|
54585
|
+
]);
|
|
54586
|
+
var DishwasherAccessSchema = _enum([
|
|
54587
|
+
"none",
|
|
54588
|
+
"read",
|
|
54589
|
+
"readWrite",
|
|
54590
|
+
"writeOnly",
|
|
54591
|
+
"readStatic"
|
|
54592
|
+
]);
|
|
54593
|
+
/**
|
|
54594
|
+
* One option or setting the appliance declares, with the constraints its description
|
|
54595
|
+
* gives. A `readWrite` descriptor that is `available` is what `setOption` accepts.
|
|
54596
|
+
*/
|
|
54597
|
+
var DishwasherOptionDescriptorSchema = object({
|
|
54598
|
+
/** Feature key (`Dishcare.Dishwasher.Option.ExtraDry`). */
|
|
54599
|
+
key: string(),
|
|
54600
|
+
/** Last segment of the key, for display. */
|
|
54601
|
+
name: string(),
|
|
54602
|
+
type: _enum([
|
|
54603
|
+
"boolean",
|
|
54604
|
+
"number",
|
|
54605
|
+
"enum",
|
|
54606
|
+
"string"
|
|
54607
|
+
]),
|
|
54608
|
+
access: DishwasherAccessSchema,
|
|
54609
|
+
/** The appliance reports this entity as currently available. */
|
|
54610
|
+
available: boolean(),
|
|
54611
|
+
/** Unit the description declares for a number; null when it declares none. */
|
|
54612
|
+
unit: string().nullable(),
|
|
54613
|
+
min: number().nullable(),
|
|
54614
|
+
max: number().nullable(),
|
|
54615
|
+
step: number().nullable(),
|
|
54616
|
+
/** Allowed members of an enum; null for other types. */
|
|
54617
|
+
enumValues: array(string()).nullable(),
|
|
54618
|
+
defaultValue: DishwasherValueSchema.nullable()
|
|
54619
|
+
});
|
|
54620
|
+
var DishwasherProgramSchema = object({
|
|
54621
|
+
/** Feature key (`Dishcare.Dishwasher.Program.Eco50`) — what `setProgram` / `start` take. */
|
|
54622
|
+
key: string(),
|
|
54623
|
+
name: string(),
|
|
54624
|
+
/** The appliance currently offers this program. */
|
|
54625
|
+
available: boolean(),
|
|
54626
|
+
/** The options this program lists, with the program-level access / availability / default. */
|
|
54627
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
54628
|
+
});
|
|
54629
|
+
var DishwasherOptionsSchema = object({
|
|
54630
|
+
availability: DishwasherAvailabilitySchema,
|
|
54631
|
+
/** What the appliance can be told to do, from the commands its description declares. */
|
|
54632
|
+
supportsStart: boolean(),
|
|
54633
|
+
supportsPause: boolean(),
|
|
54634
|
+
supportsResume: boolean(),
|
|
54635
|
+
supportsStop: boolean(),
|
|
54636
|
+
supportsPower: boolean(),
|
|
54637
|
+
/** Every program the description lists, with its options. */
|
|
54638
|
+
programs: array(DishwasherProgramSchema),
|
|
54639
|
+
/** Every option and setting entity the description lists (programs reference these by key). */
|
|
54640
|
+
options: array(DishwasherOptionDescriptorSchema)
|
|
54641
|
+
});
|
|
54642
|
+
DeviceType.Dishwasher, method(object({
|
|
54643
|
+
deviceId: DeviceIdSchema,
|
|
54644
|
+
program: string().min(1).optional(),
|
|
54645
|
+
options: record(string(), DishwasherValueSchema).optional()
|
|
54646
|
+
}), _void(), {
|
|
54647
|
+
kind: "mutation",
|
|
54648
|
+
auth: "protected"
|
|
54649
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54650
|
+
kind: "mutation",
|
|
54651
|
+
auth: "protected"
|
|
54652
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54653
|
+
kind: "mutation",
|
|
54654
|
+
auth: "protected"
|
|
54655
|
+
}), method(object({ deviceId: DeviceIdSchema }), _void(), {
|
|
54656
|
+
kind: "mutation",
|
|
54657
|
+
auth: "protected"
|
|
54658
|
+
}), method(object({
|
|
54659
|
+
deviceId: DeviceIdSchema,
|
|
54660
|
+
program: string().min(1)
|
|
54661
|
+
}), _void(), {
|
|
54662
|
+
kind: "mutation",
|
|
54663
|
+
auth: "protected"
|
|
54664
|
+
}), method(object({
|
|
54665
|
+
deviceId: DeviceIdSchema,
|
|
54666
|
+
on: boolean()
|
|
54667
|
+
}), _void(), {
|
|
54668
|
+
kind: "mutation",
|
|
54669
|
+
auth: "protected"
|
|
54670
|
+
}), method(object({
|
|
54671
|
+
deviceId: DeviceIdSchema,
|
|
54672
|
+
on: boolean()
|
|
54673
|
+
}), _void(), {
|
|
54674
|
+
kind: "mutation",
|
|
54675
|
+
auth: "protected"
|
|
54676
|
+
}), method(object({
|
|
54677
|
+
deviceId: DeviceIdSchema,
|
|
54678
|
+
on: boolean()
|
|
54679
|
+
}), _void(), {
|
|
54680
|
+
kind: "mutation",
|
|
54681
|
+
auth: "protected"
|
|
54682
|
+
}), method(object({
|
|
54683
|
+
deviceId: DeviceIdSchema,
|
|
54684
|
+
on: boolean()
|
|
54685
|
+
}), _void(), {
|
|
54686
|
+
kind: "mutation",
|
|
54687
|
+
auth: "protected"
|
|
54688
|
+
}), method(object({
|
|
54689
|
+
deviceId: DeviceIdSchema,
|
|
54690
|
+
on: boolean()
|
|
54691
|
+
}), _void(), {
|
|
54692
|
+
kind: "mutation",
|
|
54693
|
+
auth: "protected"
|
|
54694
|
+
}), method(object({
|
|
54695
|
+
deviceId: DeviceIdSchema,
|
|
54696
|
+
on: boolean()
|
|
54697
|
+
}), _void(), {
|
|
54698
|
+
kind: "mutation",
|
|
54699
|
+
auth: "protected"
|
|
54700
|
+
}), method(object({
|
|
54701
|
+
deviceId: DeviceIdSchema,
|
|
54702
|
+
on: boolean()
|
|
54703
|
+
}), _void(), {
|
|
54704
|
+
kind: "mutation",
|
|
54705
|
+
auth: "protected"
|
|
54706
|
+
}), method(object({
|
|
54707
|
+
deviceId: DeviceIdSchema,
|
|
54708
|
+
key: string().min(1),
|
|
54709
|
+
value: DishwasherValueSchema
|
|
54710
|
+
}), _void(), {
|
|
54711
|
+
kind: "mutation",
|
|
54712
|
+
auth: "protected"
|
|
54713
|
+
}), method(object({ deviceId: DeviceIdSchema }), DishwasherOptionsSchema, { auth: "protected" });
|
|
54434
54714
|
object({
|
|
54435
54715
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
54436
54716
|
lastPressedAt: number().nullable(),
|
|
@@ -54996,6 +55276,13 @@ object({
|
|
|
54996
55276
|
lastChangedAt: number()
|
|
54997
55277
|
});
|
|
54998
55278
|
DeviceType.Sensor;
|
|
55279
|
+
object({
|
|
55280
|
+
/** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
|
|
55281
|
+
position: number().min(0).max(100).nullable(),
|
|
55282
|
+
/** Ms epoch when the slice was last updated (push or poll). */
|
|
55283
|
+
lastFetchedAt: number()
|
|
55284
|
+
});
|
|
55285
|
+
DeviceType.Thermostat;
|
|
54999
55286
|
object({
|
|
55000
55287
|
/** Whether the humidifier is currently on. */
|
|
55001
55288
|
on: boolean(),
|
|
@@ -62062,7 +62349,7 @@ var AccessoryKind = {
|
|
|
62062
62349
|
PrivacyMask: DeviceRole.PrivacyMask
|
|
62063
62350
|
};
|
|
62064
62351
|
AccessoryKind.Siren, AccessoryKind.Floodlight, AccessoryKind.Spotlight, AccessoryKind.PirSensor, AccessoryKind.Chime, AccessoryKind.Autotrack, AccessoryKind.Nightvision, AccessoryKind.PrivacyMask;
|
|
62065
|
-
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;
|
|
62352
|
+
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;
|
|
62066
62353
|
new Set(Object.values(DeviceType));
|
|
62067
62354
|
Object.freeze({
|
|
62068
62355
|
"accessories.getStatus": {
|
|
@@ -64483,6 +64770,96 @@ Object.freeze({
|
|
|
64483
64770
|
addonId: null,
|
|
64484
64771
|
access: "view"
|
|
64485
64772
|
},
|
|
64773
|
+
"dishwasher.getOptions": {
|
|
64774
|
+
capName: "dishwasher",
|
|
64775
|
+
capScope: "device",
|
|
64776
|
+
addonId: null,
|
|
64777
|
+
access: "view"
|
|
64778
|
+
},
|
|
64779
|
+
"dishwasher.getStatus": {
|
|
64780
|
+
capName: "dishwasher",
|
|
64781
|
+
capScope: "device",
|
|
64782
|
+
addonId: null,
|
|
64783
|
+
access: "view"
|
|
64784
|
+
},
|
|
64785
|
+
"dishwasher.pause": {
|
|
64786
|
+
capName: "dishwasher",
|
|
64787
|
+
capScope: "device",
|
|
64788
|
+
addonId: null,
|
|
64789
|
+
access: "create"
|
|
64790
|
+
},
|
|
64791
|
+
"dishwasher.resume": {
|
|
64792
|
+
capName: "dishwasher",
|
|
64793
|
+
capScope: "device",
|
|
64794
|
+
addonId: null,
|
|
64795
|
+
access: "create"
|
|
64796
|
+
},
|
|
64797
|
+
"dishwasher.setChildLock": {
|
|
64798
|
+
capName: "dishwasher",
|
|
64799
|
+
capScope: "device",
|
|
64800
|
+
addonId: null,
|
|
64801
|
+
access: "create"
|
|
64802
|
+
},
|
|
64803
|
+
"dishwasher.setExtraDry": {
|
|
64804
|
+
capName: "dishwasher",
|
|
64805
|
+
capScope: "device",
|
|
64806
|
+
addonId: null,
|
|
64807
|
+
access: "create"
|
|
64808
|
+
},
|
|
64809
|
+
"dishwasher.setHalfLoad": {
|
|
64810
|
+
capName: "dishwasher",
|
|
64811
|
+
capScope: "device",
|
|
64812
|
+
addonId: null,
|
|
64813
|
+
access: "create"
|
|
64814
|
+
},
|
|
64815
|
+
"dishwasher.setHygienePlus": {
|
|
64816
|
+
capName: "dishwasher",
|
|
64817
|
+
capScope: "device",
|
|
64818
|
+
addonId: null,
|
|
64819
|
+
access: "create"
|
|
64820
|
+
},
|
|
64821
|
+
"dishwasher.setIntensiveZone": {
|
|
64822
|
+
capName: "dishwasher",
|
|
64823
|
+
capScope: "device",
|
|
64824
|
+
addonId: null,
|
|
64825
|
+
access: "create"
|
|
64826
|
+
},
|
|
64827
|
+
"dishwasher.setOption": {
|
|
64828
|
+
capName: "dishwasher",
|
|
64829
|
+
capScope: "device",
|
|
64830
|
+
addonId: null,
|
|
64831
|
+
access: "create"
|
|
64832
|
+
},
|
|
64833
|
+
"dishwasher.setPower": {
|
|
64834
|
+
capName: "dishwasher",
|
|
64835
|
+
capScope: "device",
|
|
64836
|
+
addonId: null,
|
|
64837
|
+
access: "create"
|
|
64838
|
+
},
|
|
64839
|
+
"dishwasher.setProgram": {
|
|
64840
|
+
capName: "dishwasher",
|
|
64841
|
+
capScope: "device",
|
|
64842
|
+
addonId: null,
|
|
64843
|
+
access: "create"
|
|
64844
|
+
},
|
|
64845
|
+
"dishwasher.setVarioSpeedPlus": {
|
|
64846
|
+
capName: "dishwasher",
|
|
64847
|
+
capScope: "device",
|
|
64848
|
+
addonId: null,
|
|
64849
|
+
access: "create"
|
|
64850
|
+
},
|
|
64851
|
+
"dishwasher.start": {
|
|
64852
|
+
capName: "dishwasher",
|
|
64853
|
+
capScope: "device",
|
|
64854
|
+
addonId: null,
|
|
64855
|
+
access: "create"
|
|
64856
|
+
},
|
|
64857
|
+
"dishwasher.stop": {
|
|
64858
|
+
capName: "dishwasher",
|
|
64859
|
+
capScope: "device",
|
|
64860
|
+
addonId: null,
|
|
64861
|
+
access: "create"
|
|
64862
|
+
},
|
|
64486
64863
|
"doorbell.getStatus": {
|
|
64487
64864
|
capName: "doorbell",
|
|
64488
64865
|
capScope: "device",
|
|
@@ -64693,6 +65070,12 @@ Object.freeze({
|
|
|
64693
65070
|
addonId: null,
|
|
64694
65071
|
access: "view"
|
|
64695
65072
|
},
|
|
65073
|
+
"heatingValve.getStatus": {
|
|
65074
|
+
capName: "heating-valve",
|
|
65075
|
+
capScope: "device",
|
|
65076
|
+
addonId: null,
|
|
65077
|
+
access: "view"
|
|
65078
|
+
},
|
|
64696
65079
|
"humidifier.getStatus": {
|
|
64697
65080
|
capName: "humidifier",
|
|
64698
65081
|
capScope: "device",
|
|
@@ -68911,6 +69294,12 @@ Object.freeze({
|
|
|
68911
69294
|
addonId: null,
|
|
68912
69295
|
access: "view"
|
|
68913
69296
|
},
|
|
69297
|
+
"storageMigration.moverClearance": {
|
|
69298
|
+
capName: "storage-migration",
|
|
69299
|
+
capScope: "system",
|
|
69300
|
+
addonId: null,
|
|
69301
|
+
access: "view"
|
|
69302
|
+
},
|
|
68914
69303
|
"storageMigration.movers": {
|
|
68915
69304
|
capName: "storage-migration",
|
|
68916
69305
|
capScope: "system",
|
|
@@ -70280,7 +70669,7 @@ Object.freeze({
|
|
|
70280
70669
|
access: "create"
|
|
70281
70670
|
}
|
|
70282
70671
|
});
|
|
70283
|
-
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;
|
|
70672
|
+
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;
|
|
70284
70673
|
DeviceFeature.BatteryOperated;
|
|
70285
70674
|
Object.freeze({
|
|
70286
70675
|
"accessories.getStatus": [{
|
|
@@ -71104,6 +71493,81 @@ Object.freeze({
|
|
|
71104
71493
|
form: "single",
|
|
71105
71494
|
optional: false
|
|
71106
71495
|
}],
|
|
71496
|
+
"dishwasher.getOptions": [{
|
|
71497
|
+
name: "deviceId",
|
|
71498
|
+
form: "single",
|
|
71499
|
+
optional: false
|
|
71500
|
+
}],
|
|
71501
|
+
"dishwasher.getStatus": [{
|
|
71502
|
+
name: "deviceId",
|
|
71503
|
+
form: "single",
|
|
71504
|
+
optional: false
|
|
71505
|
+
}],
|
|
71506
|
+
"dishwasher.pause": [{
|
|
71507
|
+
name: "deviceId",
|
|
71508
|
+
form: "single",
|
|
71509
|
+
optional: false
|
|
71510
|
+
}],
|
|
71511
|
+
"dishwasher.resume": [{
|
|
71512
|
+
name: "deviceId",
|
|
71513
|
+
form: "single",
|
|
71514
|
+
optional: false
|
|
71515
|
+
}],
|
|
71516
|
+
"dishwasher.setChildLock": [{
|
|
71517
|
+
name: "deviceId",
|
|
71518
|
+
form: "single",
|
|
71519
|
+
optional: false
|
|
71520
|
+
}],
|
|
71521
|
+
"dishwasher.setExtraDry": [{
|
|
71522
|
+
name: "deviceId",
|
|
71523
|
+
form: "single",
|
|
71524
|
+
optional: false
|
|
71525
|
+
}],
|
|
71526
|
+
"dishwasher.setHalfLoad": [{
|
|
71527
|
+
name: "deviceId",
|
|
71528
|
+
form: "single",
|
|
71529
|
+
optional: false
|
|
71530
|
+
}],
|
|
71531
|
+
"dishwasher.setHygienePlus": [{
|
|
71532
|
+
name: "deviceId",
|
|
71533
|
+
form: "single",
|
|
71534
|
+
optional: false
|
|
71535
|
+
}],
|
|
71536
|
+
"dishwasher.setIntensiveZone": [{
|
|
71537
|
+
name: "deviceId",
|
|
71538
|
+
form: "single",
|
|
71539
|
+
optional: false
|
|
71540
|
+
}],
|
|
71541
|
+
"dishwasher.setOption": [{
|
|
71542
|
+
name: "deviceId",
|
|
71543
|
+
form: "single",
|
|
71544
|
+
optional: false
|
|
71545
|
+
}],
|
|
71546
|
+
"dishwasher.setPower": [{
|
|
71547
|
+
name: "deviceId",
|
|
71548
|
+
form: "single",
|
|
71549
|
+
optional: false
|
|
71550
|
+
}],
|
|
71551
|
+
"dishwasher.setProgram": [{
|
|
71552
|
+
name: "deviceId",
|
|
71553
|
+
form: "single",
|
|
71554
|
+
optional: false
|
|
71555
|
+
}],
|
|
71556
|
+
"dishwasher.setVarioSpeedPlus": [{
|
|
71557
|
+
name: "deviceId",
|
|
71558
|
+
form: "single",
|
|
71559
|
+
optional: false
|
|
71560
|
+
}],
|
|
71561
|
+
"dishwasher.start": [{
|
|
71562
|
+
name: "deviceId",
|
|
71563
|
+
form: "single",
|
|
71564
|
+
optional: false
|
|
71565
|
+
}],
|
|
71566
|
+
"dishwasher.stop": [{
|
|
71567
|
+
name: "deviceId",
|
|
71568
|
+
form: "single",
|
|
71569
|
+
optional: false
|
|
71570
|
+
}],
|
|
71107
71571
|
"doorbell.getStatus": [{
|
|
71108
71572
|
name: "deviceId",
|
|
71109
71573
|
form: "single",
|
|
@@ -71173,6 +71637,11 @@ Object.freeze({
|
|
|
71173
71637
|
form: "single",
|
|
71174
71638
|
optional: false
|
|
71175
71639
|
}],
|
|
71640
|
+
"heatingValve.getStatus": [{
|
|
71641
|
+
name: "deviceId",
|
|
71642
|
+
form: "single",
|
|
71643
|
+
optional: false
|
|
71644
|
+
}],
|
|
71176
71645
|
"humidifier.getStatus": [{
|
|
71177
71646
|
name: "deviceId",
|
|
71178
71647
|
form: "single",
|
|
@@ -73130,6 +73599,9 @@ new Map(Object.entries({
|
|
|
73130
73599
|
"wrapper-update-available": "system",
|
|
73131
73600
|
"backup-completed": "system",
|
|
73132
73601
|
"export-completed": "system",
|
|
73602
|
+
"alert-critical": "system",
|
|
73603
|
+
"alert-error": "system",
|
|
73604
|
+
"alert-critical-resolved": "system",
|
|
73133
73605
|
"storage-location-low": "system",
|
|
73134
73606
|
"storage-location-critical": "system",
|
|
73135
73607
|
"storage-location-ok": "system",
|
|
@@ -73254,6 +73726,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
73254
73726
|
"storage-location-ok"
|
|
73255
73727
|
]
|
|
73256
73728
|
},
|
|
73729
|
+
{
|
|
73730
|
+
id: "alerts",
|
|
73731
|
+
family: "system",
|
|
73732
|
+
label: "Alerts",
|
|
73733
|
+
kinds: [
|
|
73734
|
+
"alert-critical",
|
|
73735
|
+
"alert-error",
|
|
73736
|
+
"alert-critical-resolved"
|
|
73737
|
+
]
|
|
73738
|
+
},
|
|
73257
73739
|
{
|
|
73258
73740
|
id: "alarm",
|
|
73259
73741
|
family: "alarm",
|
|
@@ -73298,6 +73780,21 @@ var NC_SENSOR_RAISED_FIELD_BY_KIND = Object.freeze(Object.fromEntries(Object.ent
|
|
|
73298
73780
|
return [[descriptor.kind, field]];
|
|
73299
73781
|
})));
|
|
73300
73782
|
Object.freeze(Object.keys(NC_SENSOR_RAISED_FIELD_BY_KIND));
|
|
73783
|
+
object({
|
|
73784
|
+
phase: _enum(["raised", "resolved"]),
|
|
73785
|
+
episodeId: string().min(1),
|
|
73786
|
+
alertId: string().min(1),
|
|
73787
|
+
severity: AlertSeveritySchema,
|
|
73788
|
+
category: string(),
|
|
73789
|
+
title: string(),
|
|
73790
|
+
message: string(),
|
|
73791
|
+
sourceType: string().optional(),
|
|
73792
|
+
sourceId: string().optional(),
|
|
73793
|
+
nodeId: string().optional(),
|
|
73794
|
+
/** The alert's own action link (where the operator acts on it), when it has one. */
|
|
73795
|
+
actionUrl: string().optional(),
|
|
73796
|
+
at: number()
|
|
73797
|
+
});
|
|
73301
73798
|
var RULE_BODY_ONLY = ["body"];
|
|
73302
73799
|
var RULE_TEXT = ["title", "body"];
|
|
73303
73800
|
var BATTERY = ["device-battery-low", "device-battery-normal"];
|
|
@@ -73307,6 +73804,11 @@ var TANK = [
|
|
|
73307
73804
|
"device-tank-full",
|
|
73308
73805
|
"device-tank-normal"
|
|
73309
73806
|
];
|
|
73807
|
+
var ALERT_EPISODE = [
|
|
73808
|
+
"alert-critical",
|
|
73809
|
+
"alert-error",
|
|
73810
|
+
"alert-critical-resolved"
|
|
73811
|
+
];
|
|
73310
73812
|
var UPDATES = [
|
|
73311
73813
|
"addon-update-available",
|
|
73312
73814
|
"server-update-available",
|
|
@@ -73499,14 +74001,14 @@ var STATE_SUMMARY_VARS = [
|
|
|
73499
74001
|
([...RULE_TEXT], [...CONSUMABLE]),
|
|
73500
74002
|
([...RULE_TEXT], [...TANK]),
|
|
73501
74003
|
[...RULE_TEXT],
|
|
73502
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
73503
|
-
([...RULE_TEXT], [...UPDATES]),
|
|
73504
|
-
[...RULE_TEXT],
|
|
74004
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
74005
|
+
([...RULE_TEXT], [...UPDATES, ...ALERT_EPISODE]),
|
|
73505
74006
|
[...RULE_TEXT],
|
|
73506
74007
|
[...RULE_TEXT],
|
|
73507
74008
|
[...RULE_TEXT],
|
|
73508
74009
|
[...RULE_TEXT],
|
|
73509
74010
|
[...RULE_TEXT],
|
|
74011
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73510
74012
|
[...RULE_TEXT],
|
|
73511
74013
|
[...RULE_TEXT],
|
|
73512
74014
|
[...RULE_TEXT],
|
|
@@ -73524,7 +74026,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
73524
74026
|
[...RULE_TEXT],
|
|
73525
74027
|
[...RULE_TEXT],
|
|
73526
74028
|
[...RULE_TEXT],
|
|
73527
|
-
[...RULE_TEXT],
|
|
74029
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74030
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74031
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74032
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
74033
|
+
([...RULE_TEXT], [...ALERT_EPISODE]),
|
|
73528
74034
|
[...RULE_TEXT],
|
|
73529
74035
|
[...RULE_TEXT],
|
|
73530
74036
|
[...RULE_TEXT],
|