@camstack/addon-provider-reolink 1.2.187 → 1.2.189
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 +367 -9
- package/dist/addon.mjs +367 -9
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -5442,7 +5442,7 @@ var ZodIssueCode = {
|
|
|
5442
5442
|
var ZodFirstPartyTypeKind;
|
|
5443
5443
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5444
5444
|
//#endregion
|
|
5445
|
-
//#region ../types/dist/sleep-
|
|
5445
|
+
//#region ../types/dist/sleep-BegKjwUu.mjs
|
|
5446
5446
|
/**
|
|
5447
5447
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5448
5448
|
* window to float samples (D455).
|
|
@@ -8537,7 +8537,7 @@ function sleep$2(ms) {
|
|
|
8537
8537
|
return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
|
|
8538
8538
|
}
|
|
8539
8539
|
//#endregion
|
|
8540
|
-
//#region ../types/dist/err-msg
|
|
8540
|
+
//#region ../types/dist/err-msg-BXKzRBwg.mjs
|
|
8541
8541
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8542
8542
|
DeviceType["Camera"] = "camera";
|
|
8543
8543
|
DeviceType["Hub"] = "hub";
|
|
@@ -8629,6 +8629,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
|
8629
8629
|
* native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
|
|
8630
8630
|
* integrations sharing the same food/desiccant/hopper surface. */
|
|
8631
8631
|
DeviceType["PetFeeder"] = "pet-feeder";
|
|
8632
|
+
/** Built-in dishwasher — program lifecycle, door / remote-start gates,
|
|
8633
|
+
* salt and rinse-aid levels. Installed with the `dishwasher` cap.
|
|
8634
|
+
* Sources: native Bosch Home Connect, reusable by similar integrations. */
|
|
8635
|
+
DeviceType["Dishwasher"] = "dishwasher";
|
|
8632
8636
|
return DeviceType;
|
|
8633
8637
|
}({});
|
|
8634
8638
|
var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
|
|
@@ -8876,7 +8880,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
8876
8880
|
return DeviceRole;
|
|
8877
8881
|
}({});
|
|
8878
8882
|
//#endregion
|
|
8879
|
-
//#region ../types/dist/composition-
|
|
8883
|
+
//#region ../types/dist/composition-CB6PMT9p.mjs
|
|
8880
8884
|
/**
|
|
8881
8885
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
8882
8886
|
*
|
|
@@ -13814,8 +13818,13 @@ var AlertSeveritySchema = _enum([
|
|
|
13814
13818
|
"info",
|
|
13815
13819
|
"success",
|
|
13816
13820
|
"warning",
|
|
13817
|
-
"error"
|
|
13821
|
+
"error",
|
|
13822
|
+
"critical"
|
|
13818
13823
|
]);
|
|
13824
|
+
var AlertActionSchema = object({
|
|
13825
|
+
label: string(),
|
|
13826
|
+
href: string().optional()
|
|
13827
|
+
});
|
|
13819
13828
|
var AlertStatusSchema = _enum([
|
|
13820
13829
|
"active",
|
|
13821
13830
|
"in-progress",
|
|
@@ -13833,6 +13842,7 @@ var AlertSchema = object({
|
|
|
13833
13842
|
severity: AlertSeveritySchema,
|
|
13834
13843
|
title: string(),
|
|
13835
13844
|
message: string(),
|
|
13845
|
+
action: AlertActionSchema.optional(),
|
|
13836
13846
|
status: AlertStatusSchema,
|
|
13837
13847
|
progress: number().optional(),
|
|
13838
13848
|
read: boolean(),
|
|
@@ -18307,7 +18317,11 @@ var deviceDiscoveryCapability = {
|
|
|
18307
18317
|
};
|
|
18308
18318
|
/**
|
|
18309
18319
|
* `device-adoption` — generic discovery + adoption surface,
|
|
18310
|
-
* system-scoped
|
|
18320
|
+
* system-scoped collection (one provider per integration addon), routed
|
|
18321
|
+
* by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
|
|
18322
|
+
* pin model as `connection-test`. The admin UI keeps using
|
|
18323
|
+
* `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
|
|
18324
|
+
* successor to `ha-discovery`:
|
|
18311
18325
|
* keyed by `integrationId` (the addon resolves integrationId → broker
|
|
18312
18326
|
* internally) rather than a connection-specific `brokerId`, and it
|
|
18313
18327
|
* REUSES the shared `DiscoveredChildDevice` candidate type from
|
|
@@ -55049,7 +55063,8 @@ var batteryCapability = {
|
|
|
55049
55063
|
DeviceType.Button,
|
|
55050
55064
|
DeviceType.Switch,
|
|
55051
55065
|
DeviceType.PetFeeder,
|
|
55052
|
-
DeviceType.Container
|
|
55066
|
+
DeviceType.Container,
|
|
55067
|
+
DeviceType.Thermostat
|
|
55053
55068
|
],
|
|
55054
55069
|
methods: {
|
|
55055
55070
|
/**
|
|
@@ -56522,6 +56537,161 @@ onStatusChanged: { data: object({
|
|
|
56522
56537
|
* whether persisting is worth a SQLite commit. */
|
|
56523
56538
|
volatileStateFields: ["lastChangedAt"]
|
|
56524
56539
|
};
|
|
56540
|
+
/**
|
|
56541
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates,
|
|
56542
|
+
* consumable levels (salt, rinse aid) and common program options.
|
|
56543
|
+
*
|
|
56544
|
+
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
56545
|
+
* by any integration that exposes the same program / option surface.
|
|
56546
|
+
*
|
|
56547
|
+
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
56548
|
+
* provider refreshes the slice on an interval and eagerly after commands.
|
|
56549
|
+
*/
|
|
56550
|
+
var DishwasherStateSchema = _enum([
|
|
56551
|
+
"idle",
|
|
56552
|
+
"running",
|
|
56553
|
+
"paused",
|
|
56554
|
+
"finished",
|
|
56555
|
+
"error",
|
|
56556
|
+
"unavailable"
|
|
56557
|
+
]);
|
|
56558
|
+
var DishwasherConsumableLevelSchema = _enum([
|
|
56559
|
+
"ok",
|
|
56560
|
+
"low",
|
|
56561
|
+
"empty"
|
|
56562
|
+
]);
|
|
56563
|
+
var DishwasherStatusSchema = object({
|
|
56564
|
+
state: DishwasherStateSchema,
|
|
56565
|
+
/** Active program id/name, or null when none selected / unknown. */
|
|
56566
|
+
program: string().nullable(),
|
|
56567
|
+
/** Program tokens the hardware accepts — drives the UI selector. */
|
|
56568
|
+
availablePrograms: array(string()),
|
|
56569
|
+
/** Minutes remaining on the active cycle, or null when not running. */
|
|
56570
|
+
remainingMinutes: number().int().nonnegative().nullable(),
|
|
56571
|
+
/** Cycle completion 0..100, or null when not applicable. */
|
|
56572
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
56573
|
+
/** True when the door is reported open. */
|
|
56574
|
+
doorOpen: boolean(),
|
|
56575
|
+
/** True when remote start is allowed (door closed, power on, etc.). */
|
|
56576
|
+
remoteStartAllowed: boolean(),
|
|
56577
|
+
/** Main power / switched-on state. */
|
|
56578
|
+
powerOn: boolean(),
|
|
56579
|
+
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56580
|
+
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56581
|
+
halfLoad: boolean(),
|
|
56582
|
+
hygienePlus: boolean(),
|
|
56583
|
+
/** Extra dry option when the appliance exposes it. */
|
|
56584
|
+
extraDry: boolean(),
|
|
56585
|
+
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
56586
|
+
intensiveZone: boolean(),
|
|
56587
|
+
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
56588
|
+
varioSpeedPlus: boolean(),
|
|
56589
|
+
/** Child lock (controls disabled on the appliance). */
|
|
56590
|
+
childLock: boolean(),
|
|
56591
|
+
errorCode: number().nullable(),
|
|
56592
|
+
errorLabel: string().nullable(),
|
|
56593
|
+
lastFetchedAt: number()
|
|
56594
|
+
});
|
|
56595
|
+
var dishwasherCapability = {
|
|
56596
|
+
name: "dishwasher",
|
|
56597
|
+
scope: "device",
|
|
56598
|
+
deviceNative: true,
|
|
56599
|
+
mode: "singleton",
|
|
56600
|
+
deviceTypes: [DeviceType.Dishwasher],
|
|
56601
|
+
methods: {
|
|
56602
|
+
start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
56603
|
+
kind: "mutation",
|
|
56604
|
+
auth: "protected"
|
|
56605
|
+
}),
|
|
56606
|
+
pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
56607
|
+
kind: "mutation",
|
|
56608
|
+
auth: "protected"
|
|
56609
|
+
}),
|
|
56610
|
+
stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
56611
|
+
kind: "mutation",
|
|
56612
|
+
auth: "protected"
|
|
56613
|
+
}),
|
|
56614
|
+
setProgram: method(object({
|
|
56615
|
+
deviceId: number().int().nonnegative(),
|
|
56616
|
+
program: string().min(1)
|
|
56617
|
+
}), _void(), {
|
|
56618
|
+
kind: "mutation",
|
|
56619
|
+
auth: "protected"
|
|
56620
|
+
}),
|
|
56621
|
+
setPower: method(object({
|
|
56622
|
+
deviceId: number().int().nonnegative(),
|
|
56623
|
+
on: boolean()
|
|
56624
|
+
}), _void(), {
|
|
56625
|
+
kind: "mutation",
|
|
56626
|
+
auth: "protected"
|
|
56627
|
+
}),
|
|
56628
|
+
setHalfLoad: method(object({
|
|
56629
|
+
deviceId: number().int().nonnegative(),
|
|
56630
|
+
on: boolean()
|
|
56631
|
+
}), _void(), {
|
|
56632
|
+
kind: "mutation",
|
|
56633
|
+
auth: "protected"
|
|
56634
|
+
}),
|
|
56635
|
+
setHygienePlus: method(object({
|
|
56636
|
+
deviceId: number().int().nonnegative(),
|
|
56637
|
+
on: boolean()
|
|
56638
|
+
}), _void(), {
|
|
56639
|
+
kind: "mutation",
|
|
56640
|
+
auth: "protected"
|
|
56641
|
+
}),
|
|
56642
|
+
setExtraDry: method(object({
|
|
56643
|
+
deviceId: number().int().nonnegative(),
|
|
56644
|
+
on: boolean()
|
|
56645
|
+
}), _void(), {
|
|
56646
|
+
kind: "mutation",
|
|
56647
|
+
auth: "protected"
|
|
56648
|
+
}),
|
|
56649
|
+
setIntensiveZone: method(object({
|
|
56650
|
+
deviceId: number().int().nonnegative(),
|
|
56651
|
+
on: boolean()
|
|
56652
|
+
}), _void(), {
|
|
56653
|
+
kind: "mutation",
|
|
56654
|
+
auth: "protected"
|
|
56655
|
+
}),
|
|
56656
|
+
setVarioSpeedPlus: method(object({
|
|
56657
|
+
deviceId: number().int().nonnegative(),
|
|
56658
|
+
on: boolean()
|
|
56659
|
+
}), _void(), {
|
|
56660
|
+
kind: "mutation",
|
|
56661
|
+
auth: "protected"
|
|
56662
|
+
}),
|
|
56663
|
+
setChildLock: method(object({
|
|
56664
|
+
deviceId: number().int().nonnegative(),
|
|
56665
|
+
on: boolean()
|
|
56666
|
+
}), _void(), {
|
|
56667
|
+
kind: "mutation",
|
|
56668
|
+
auth: "protected"
|
|
56669
|
+
}),
|
|
56670
|
+
setOption: method(object({
|
|
56671
|
+
deviceId: number().int().nonnegative(),
|
|
56672
|
+
key: string().min(1),
|
|
56673
|
+
value: union([
|
|
56674
|
+
boolean(),
|
|
56675
|
+
string(),
|
|
56676
|
+
number()
|
|
56677
|
+
])
|
|
56678
|
+
}), _void(), {
|
|
56679
|
+
kind: "mutation",
|
|
56680
|
+
auth: "protected"
|
|
56681
|
+
})
|
|
56682
|
+
},
|
|
56683
|
+
status: {
|
|
56684
|
+
schema: DishwasherStatusSchema,
|
|
56685
|
+
kind: "poll"
|
|
56686
|
+
},
|
|
56687
|
+
runtimeState: DishwasherStatusSchema,
|
|
56688
|
+
durability: "session",
|
|
56689
|
+
history: { fields: { progressPercent: {
|
|
56690
|
+
kind: "gauge",
|
|
56691
|
+
unit: "%",
|
|
56692
|
+
deadband: 2
|
|
56693
|
+
} } }
|
|
56694
|
+
};
|
|
56525
56695
|
var DoorbellStatusSchema = object({
|
|
56526
56696
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
56527
56697
|
lastPressedAt: number().nullable(),
|
|
@@ -57324,6 +57494,32 @@ var gasCapability = {
|
|
|
57324
57494
|
* whether persisting is worth a SQLite commit. */
|
|
57325
57495
|
volatileStateFields: ["lastChangedAt"]
|
|
57326
57496
|
};
|
|
57497
|
+
var HeatingValveStatusSchema = object({
|
|
57498
|
+
/** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
|
|
57499
|
+
position: number().min(0).max(100).nullable(),
|
|
57500
|
+
/** Ms epoch when the slice was last updated (push or poll). */
|
|
57501
|
+
lastFetchedAt: number()
|
|
57502
|
+
});
|
|
57503
|
+
var heatingValveCapability = {
|
|
57504
|
+
name: "heating-valve",
|
|
57505
|
+
scope: "device",
|
|
57506
|
+
deviceNative: true,
|
|
57507
|
+
mode: "singleton",
|
|
57508
|
+
deviceTypes: [DeviceType.Thermostat],
|
|
57509
|
+
methods: {},
|
|
57510
|
+
status: {
|
|
57511
|
+
schema: HeatingValveStatusSchema,
|
|
57512
|
+
kind: "push"
|
|
57513
|
+
},
|
|
57514
|
+
runtimeState: HeatingValveStatusSchema,
|
|
57515
|
+
durability: "session",
|
|
57516
|
+
history: { fields: { position: {
|
|
57517
|
+
kind: "gauge",
|
|
57518
|
+
unit: "%",
|
|
57519
|
+
deadband: 1
|
|
57520
|
+
} } },
|
|
57521
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
57522
|
+
};
|
|
57327
57523
|
/**
|
|
57328
57524
|
* Humidifier / dehumidifier cap. Models HA `humidifier.*` entities —
|
|
57329
57525
|
* an on/off actuator with an optional target-humidity setpoint and an
|
|
@@ -67329,6 +67525,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
67329
67525
|
dayNight: dayNightCapability,
|
|
67330
67526
|
deviceDiscovery: deviceDiscoveryCapability,
|
|
67331
67527
|
deviceStatus: deviceStatusCapability,
|
|
67528
|
+
dishwasher: dishwasherCapability,
|
|
67332
67529
|
doorbell: doorbellCapability,
|
|
67333
67530
|
enumSensor: enumSensorCapability,
|
|
67334
67531
|
eventEmitter: eventEmitterCapability,
|
|
@@ -67336,6 +67533,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
67336
67533
|
featureProbe: featureProbeCapability,
|
|
67337
67534
|
flood: floodCapability,
|
|
67338
67535
|
gas: gasCapability,
|
|
67536
|
+
heatingValve: heatingValveCapability,
|
|
67339
67537
|
humidifier: humidifierCapability,
|
|
67340
67538
|
humiditySensor: humiditySensorCapability,
|
|
67341
67539
|
image: imageCapability,
|
|
@@ -68061,6 +68259,12 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
68061
68259
|
provider: this
|
|
68062
68260
|
}];
|
|
68063
68261
|
}
|
|
68262
|
+
/** Flatten `super.onInitialize()` whether it returned an array or an envelope. */
|
|
68263
|
+
providerRegistrationsFromSuper(result) {
|
|
68264
|
+
if (Array.isArray(result)) return result;
|
|
68265
|
+
if (result !== void 0 && result.providers !== void 0) return [...result.providers];
|
|
68266
|
+
return [];
|
|
68267
|
+
}
|
|
68064
68268
|
async onShutdown() {
|
|
68065
68269
|
this._restoreShuttingDown = true;
|
|
68066
68270
|
this.cancelRestoreRetries();
|
|
@@ -68587,7 +68791,7 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
68587
68791
|
return toDeviceSummary(device, this.addonId);
|
|
68588
68792
|
}
|
|
68589
68793
|
};
|
|
68590
|
-
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;
|
|
68794
|
+
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;
|
|
68591
68795
|
new Set(Object.values(DeviceType));
|
|
68592
68796
|
Object.freeze({
|
|
68593
68797
|
"accessories.getStatus": {
|
|
@@ -71008,6 +71212,84 @@ Object.freeze({
|
|
|
71008
71212
|
addonId: null,
|
|
71009
71213
|
access: "view"
|
|
71010
71214
|
},
|
|
71215
|
+
"dishwasher.getStatus": {
|
|
71216
|
+
capName: "dishwasher",
|
|
71217
|
+
capScope: "device",
|
|
71218
|
+
addonId: null,
|
|
71219
|
+
access: "view"
|
|
71220
|
+
},
|
|
71221
|
+
"dishwasher.pause": {
|
|
71222
|
+
capName: "dishwasher",
|
|
71223
|
+
capScope: "device",
|
|
71224
|
+
addonId: null,
|
|
71225
|
+
access: "create"
|
|
71226
|
+
},
|
|
71227
|
+
"dishwasher.setChildLock": {
|
|
71228
|
+
capName: "dishwasher",
|
|
71229
|
+
capScope: "device",
|
|
71230
|
+
addonId: null,
|
|
71231
|
+
access: "create"
|
|
71232
|
+
},
|
|
71233
|
+
"dishwasher.setExtraDry": {
|
|
71234
|
+
capName: "dishwasher",
|
|
71235
|
+
capScope: "device",
|
|
71236
|
+
addonId: null,
|
|
71237
|
+
access: "create"
|
|
71238
|
+
},
|
|
71239
|
+
"dishwasher.setHalfLoad": {
|
|
71240
|
+
capName: "dishwasher",
|
|
71241
|
+
capScope: "device",
|
|
71242
|
+
addonId: null,
|
|
71243
|
+
access: "create"
|
|
71244
|
+
},
|
|
71245
|
+
"dishwasher.setHygienePlus": {
|
|
71246
|
+
capName: "dishwasher",
|
|
71247
|
+
capScope: "device",
|
|
71248
|
+
addonId: null,
|
|
71249
|
+
access: "create"
|
|
71250
|
+
},
|
|
71251
|
+
"dishwasher.setIntensiveZone": {
|
|
71252
|
+
capName: "dishwasher",
|
|
71253
|
+
capScope: "device",
|
|
71254
|
+
addonId: null,
|
|
71255
|
+
access: "create"
|
|
71256
|
+
},
|
|
71257
|
+
"dishwasher.setOption": {
|
|
71258
|
+
capName: "dishwasher",
|
|
71259
|
+
capScope: "device",
|
|
71260
|
+
addonId: null,
|
|
71261
|
+
access: "create"
|
|
71262
|
+
},
|
|
71263
|
+
"dishwasher.setPower": {
|
|
71264
|
+
capName: "dishwasher",
|
|
71265
|
+
capScope: "device",
|
|
71266
|
+
addonId: null,
|
|
71267
|
+
access: "create"
|
|
71268
|
+
},
|
|
71269
|
+
"dishwasher.setProgram": {
|
|
71270
|
+
capName: "dishwasher",
|
|
71271
|
+
capScope: "device",
|
|
71272
|
+
addonId: null,
|
|
71273
|
+
access: "create"
|
|
71274
|
+
},
|
|
71275
|
+
"dishwasher.setVarioSpeedPlus": {
|
|
71276
|
+
capName: "dishwasher",
|
|
71277
|
+
capScope: "device",
|
|
71278
|
+
addonId: null,
|
|
71279
|
+
access: "create"
|
|
71280
|
+
},
|
|
71281
|
+
"dishwasher.start": {
|
|
71282
|
+
capName: "dishwasher",
|
|
71283
|
+
capScope: "device",
|
|
71284
|
+
addonId: null,
|
|
71285
|
+
access: "create"
|
|
71286
|
+
},
|
|
71287
|
+
"dishwasher.stop": {
|
|
71288
|
+
capName: "dishwasher",
|
|
71289
|
+
capScope: "device",
|
|
71290
|
+
addonId: null,
|
|
71291
|
+
access: "create"
|
|
71292
|
+
},
|
|
71011
71293
|
"doorbell.getStatus": {
|
|
71012
71294
|
capName: "doorbell",
|
|
71013
71295
|
capScope: "device",
|
|
@@ -71218,6 +71500,12 @@ Object.freeze({
|
|
|
71218
71500
|
addonId: null,
|
|
71219
71501
|
access: "view"
|
|
71220
71502
|
},
|
|
71503
|
+
"heatingValve.getStatus": {
|
|
71504
|
+
capName: "heating-valve",
|
|
71505
|
+
capScope: "device",
|
|
71506
|
+
addonId: null,
|
|
71507
|
+
access: "view"
|
|
71508
|
+
},
|
|
71221
71509
|
"humidifier.getStatus": {
|
|
71222
71510
|
capName: "humidifier",
|
|
71223
71511
|
capScope: "device",
|
|
@@ -76805,7 +77093,7 @@ Object.freeze({
|
|
|
76805
77093
|
access: "create"
|
|
76806
77094
|
}
|
|
76807
77095
|
});
|
|
76808
|
-
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;
|
|
77096
|
+
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;
|
|
76809
77097
|
DeviceFeature.BatteryOperated;
|
|
76810
77098
|
var LAST_FETCHED_FIELD = "lastFetchedAt";
|
|
76811
77099
|
/**
|
|
@@ -77781,6 +78069,71 @@ Object.freeze({
|
|
|
77781
78069
|
form: "single",
|
|
77782
78070
|
optional: false
|
|
77783
78071
|
}],
|
|
78072
|
+
"dishwasher.getStatus": [{
|
|
78073
|
+
name: "deviceId",
|
|
78074
|
+
form: "single",
|
|
78075
|
+
optional: false
|
|
78076
|
+
}],
|
|
78077
|
+
"dishwasher.pause": [{
|
|
78078
|
+
name: "deviceId",
|
|
78079
|
+
form: "single",
|
|
78080
|
+
optional: false
|
|
78081
|
+
}],
|
|
78082
|
+
"dishwasher.setChildLock": [{
|
|
78083
|
+
name: "deviceId",
|
|
78084
|
+
form: "single",
|
|
78085
|
+
optional: false
|
|
78086
|
+
}],
|
|
78087
|
+
"dishwasher.setExtraDry": [{
|
|
78088
|
+
name: "deviceId",
|
|
78089
|
+
form: "single",
|
|
78090
|
+
optional: false
|
|
78091
|
+
}],
|
|
78092
|
+
"dishwasher.setHalfLoad": [{
|
|
78093
|
+
name: "deviceId",
|
|
78094
|
+
form: "single",
|
|
78095
|
+
optional: false
|
|
78096
|
+
}],
|
|
78097
|
+
"dishwasher.setHygienePlus": [{
|
|
78098
|
+
name: "deviceId",
|
|
78099
|
+
form: "single",
|
|
78100
|
+
optional: false
|
|
78101
|
+
}],
|
|
78102
|
+
"dishwasher.setIntensiveZone": [{
|
|
78103
|
+
name: "deviceId",
|
|
78104
|
+
form: "single",
|
|
78105
|
+
optional: false
|
|
78106
|
+
}],
|
|
78107
|
+
"dishwasher.setOption": [{
|
|
78108
|
+
name: "deviceId",
|
|
78109
|
+
form: "single",
|
|
78110
|
+
optional: false
|
|
78111
|
+
}],
|
|
78112
|
+
"dishwasher.setPower": [{
|
|
78113
|
+
name: "deviceId",
|
|
78114
|
+
form: "single",
|
|
78115
|
+
optional: false
|
|
78116
|
+
}],
|
|
78117
|
+
"dishwasher.setProgram": [{
|
|
78118
|
+
name: "deviceId",
|
|
78119
|
+
form: "single",
|
|
78120
|
+
optional: false
|
|
78121
|
+
}],
|
|
78122
|
+
"dishwasher.setVarioSpeedPlus": [{
|
|
78123
|
+
name: "deviceId",
|
|
78124
|
+
form: "single",
|
|
78125
|
+
optional: false
|
|
78126
|
+
}],
|
|
78127
|
+
"dishwasher.start": [{
|
|
78128
|
+
name: "deviceId",
|
|
78129
|
+
form: "single",
|
|
78130
|
+
optional: false
|
|
78131
|
+
}],
|
|
78132
|
+
"dishwasher.stop": [{
|
|
78133
|
+
name: "deviceId",
|
|
78134
|
+
form: "single",
|
|
78135
|
+
optional: false
|
|
78136
|
+
}],
|
|
77784
78137
|
"doorbell.getStatus": [{
|
|
77785
78138
|
name: "deviceId",
|
|
77786
78139
|
form: "single",
|
|
@@ -77850,6 +78203,11 @@ Object.freeze({
|
|
|
77850
78203
|
form: "single",
|
|
77851
78204
|
optional: false
|
|
77852
78205
|
}],
|
|
78206
|
+
"heatingValve.getStatus": [{
|
|
78207
|
+
name: "deviceId",
|
|
78208
|
+
form: "single",
|
|
78209
|
+
optional: false
|
|
78210
|
+
}],
|
|
77853
78211
|
"humidifier.getStatus": [{
|
|
77854
78212
|
name: "deviceId",
|
|
77855
78213
|
form: "single",
|
|
@@ -203170,7 +203528,7 @@ var ReolinkProviderAddon = class extends BaseDeviceProvider {
|
|
|
203170
203528
|
return [...EMAIL_PUSH_SECTION_IDS, ...BAICHUAN_WEBHOOK_SECTION_IDS];
|
|
203171
203529
|
}
|
|
203172
203530
|
async onInitialize() {
|
|
203173
|
-
const regs = await super.onInitialize();
|
|
203531
|
+
const regs = this.providerRegistrationsFromSuper(await super.onInitialize());
|
|
203174
203532
|
this.logChannels = createLogChannelsProvider(this.ctx.logger.child("log-channels"));
|
|
203175
203533
|
regs.push({
|
|
203176
203534
|
capability: logChannelsCapability,
|
package/dist/addon.mjs
CHANGED
|
@@ -5434,7 +5434,7 @@ var ZodIssueCode = {
|
|
|
5434
5434
|
var ZodFirstPartyTypeKind;
|
|
5435
5435
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5436
5436
|
//#endregion
|
|
5437
|
-
//#region ../types/dist/sleep-
|
|
5437
|
+
//#region ../types/dist/sleep-BegKjwUu.mjs
|
|
5438
5438
|
/**
|
|
5439
5439
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5440
5440
|
* window to float samples (D455).
|
|
@@ -8529,7 +8529,7 @@ function sleep$2(ms) {
|
|
|
8529
8529
|
return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
|
|
8530
8530
|
}
|
|
8531
8531
|
//#endregion
|
|
8532
|
-
//#region ../types/dist/err-msg
|
|
8532
|
+
//#region ../types/dist/err-msg-BXKzRBwg.mjs
|
|
8533
8533
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8534
8534
|
DeviceType["Camera"] = "camera";
|
|
8535
8535
|
DeviceType["Hub"] = "hub";
|
|
@@ -8621,6 +8621,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
|
8621
8621
|
* native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
|
|
8622
8622
|
* integrations sharing the same food/desiccant/hopper surface. */
|
|
8623
8623
|
DeviceType["PetFeeder"] = "pet-feeder";
|
|
8624
|
+
/** Built-in dishwasher — program lifecycle, door / remote-start gates,
|
|
8625
|
+
* salt and rinse-aid levels. Installed with the `dishwasher` cap.
|
|
8626
|
+
* Sources: native Bosch Home Connect, reusable by similar integrations. */
|
|
8627
|
+
DeviceType["Dishwasher"] = "dishwasher";
|
|
8624
8628
|
return DeviceType;
|
|
8625
8629
|
}({});
|
|
8626
8630
|
var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
|
|
@@ -8868,7 +8872,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
8868
8872
|
return DeviceRole;
|
|
8869
8873
|
}({});
|
|
8870
8874
|
//#endregion
|
|
8871
|
-
//#region ../types/dist/composition-
|
|
8875
|
+
//#region ../types/dist/composition-CB6PMT9p.mjs
|
|
8872
8876
|
/**
|
|
8873
8877
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
8874
8878
|
*
|
|
@@ -13806,8 +13810,13 @@ var AlertSeveritySchema = _enum([
|
|
|
13806
13810
|
"info",
|
|
13807
13811
|
"success",
|
|
13808
13812
|
"warning",
|
|
13809
|
-
"error"
|
|
13813
|
+
"error",
|
|
13814
|
+
"critical"
|
|
13810
13815
|
]);
|
|
13816
|
+
var AlertActionSchema = object({
|
|
13817
|
+
label: string(),
|
|
13818
|
+
href: string().optional()
|
|
13819
|
+
});
|
|
13811
13820
|
var AlertStatusSchema = _enum([
|
|
13812
13821
|
"active",
|
|
13813
13822
|
"in-progress",
|
|
@@ -13825,6 +13834,7 @@ var AlertSchema = object({
|
|
|
13825
13834
|
severity: AlertSeveritySchema,
|
|
13826
13835
|
title: string(),
|
|
13827
13836
|
message: string(),
|
|
13837
|
+
action: AlertActionSchema.optional(),
|
|
13828
13838
|
status: AlertStatusSchema,
|
|
13829
13839
|
progress: number().optional(),
|
|
13830
13840
|
read: boolean(),
|
|
@@ -18299,7 +18309,11 @@ var deviceDiscoveryCapability = {
|
|
|
18299
18309
|
};
|
|
18300
18310
|
/**
|
|
18301
18311
|
* `device-adoption` — generic discovery + adoption surface,
|
|
18302
|
-
* system-scoped
|
|
18312
|
+
* system-scoped collection (one provider per integration addon), routed
|
|
18313
|
+
* by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
|
|
18314
|
+
* pin model as `connection-test`. The admin UI keeps using
|
|
18315
|
+
* `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
|
|
18316
|
+
* successor to `ha-discovery`:
|
|
18303
18317
|
* keyed by `integrationId` (the addon resolves integrationId → broker
|
|
18304
18318
|
* internally) rather than a connection-specific `brokerId`, and it
|
|
18305
18319
|
* REUSES the shared `DiscoveredChildDevice` candidate type from
|
|
@@ -55041,7 +55055,8 @@ var batteryCapability = {
|
|
|
55041
55055
|
DeviceType.Button,
|
|
55042
55056
|
DeviceType.Switch,
|
|
55043
55057
|
DeviceType.PetFeeder,
|
|
55044
|
-
DeviceType.Container
|
|
55058
|
+
DeviceType.Container,
|
|
55059
|
+
DeviceType.Thermostat
|
|
55045
55060
|
],
|
|
55046
55061
|
methods: {
|
|
55047
55062
|
/**
|
|
@@ -56514,6 +56529,161 @@ onStatusChanged: { data: object({
|
|
|
56514
56529
|
* whether persisting is worth a SQLite commit. */
|
|
56515
56530
|
volatileStateFields: ["lastChangedAt"]
|
|
56516
56531
|
};
|
|
56532
|
+
/**
|
|
56533
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates,
|
|
56534
|
+
* consumable levels (salt, rinse aid) and common program options.
|
|
56535
|
+
*
|
|
56536
|
+
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
56537
|
+
* by any integration that exposes the same program / option surface.
|
|
56538
|
+
*
|
|
56539
|
+
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
56540
|
+
* provider refreshes the slice on an interval and eagerly after commands.
|
|
56541
|
+
*/
|
|
56542
|
+
var DishwasherStateSchema = _enum([
|
|
56543
|
+
"idle",
|
|
56544
|
+
"running",
|
|
56545
|
+
"paused",
|
|
56546
|
+
"finished",
|
|
56547
|
+
"error",
|
|
56548
|
+
"unavailable"
|
|
56549
|
+
]);
|
|
56550
|
+
var DishwasherConsumableLevelSchema = _enum([
|
|
56551
|
+
"ok",
|
|
56552
|
+
"low",
|
|
56553
|
+
"empty"
|
|
56554
|
+
]);
|
|
56555
|
+
var DishwasherStatusSchema = object({
|
|
56556
|
+
state: DishwasherStateSchema,
|
|
56557
|
+
/** Active program id/name, or null when none selected / unknown. */
|
|
56558
|
+
program: string().nullable(),
|
|
56559
|
+
/** Program tokens the hardware accepts — drives the UI selector. */
|
|
56560
|
+
availablePrograms: array(string()),
|
|
56561
|
+
/** Minutes remaining on the active cycle, or null when not running. */
|
|
56562
|
+
remainingMinutes: number().int().nonnegative().nullable(),
|
|
56563
|
+
/** Cycle completion 0..100, or null when not applicable. */
|
|
56564
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
56565
|
+
/** True when the door is reported open. */
|
|
56566
|
+
doorOpen: boolean(),
|
|
56567
|
+
/** True when remote start is allowed (door closed, power on, etc.). */
|
|
56568
|
+
remoteStartAllowed: boolean(),
|
|
56569
|
+
/** Main power / switched-on state. */
|
|
56570
|
+
powerOn: boolean(),
|
|
56571
|
+
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56572
|
+
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
56573
|
+
halfLoad: boolean(),
|
|
56574
|
+
hygienePlus: boolean(),
|
|
56575
|
+
/** Extra dry option when the appliance exposes it. */
|
|
56576
|
+
extraDry: boolean(),
|
|
56577
|
+
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
56578
|
+
intensiveZone: boolean(),
|
|
56579
|
+
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
56580
|
+
varioSpeedPlus: boolean(),
|
|
56581
|
+
/** Child lock (controls disabled on the appliance). */
|
|
56582
|
+
childLock: boolean(),
|
|
56583
|
+
errorCode: number().nullable(),
|
|
56584
|
+
errorLabel: string().nullable(),
|
|
56585
|
+
lastFetchedAt: number()
|
|
56586
|
+
});
|
|
56587
|
+
var dishwasherCapability = {
|
|
56588
|
+
name: "dishwasher",
|
|
56589
|
+
scope: "device",
|
|
56590
|
+
deviceNative: true,
|
|
56591
|
+
mode: "singleton",
|
|
56592
|
+
deviceTypes: [DeviceType.Dishwasher],
|
|
56593
|
+
methods: {
|
|
56594
|
+
start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
56595
|
+
kind: "mutation",
|
|
56596
|
+
auth: "protected"
|
|
56597
|
+
}),
|
|
56598
|
+
pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
56599
|
+
kind: "mutation",
|
|
56600
|
+
auth: "protected"
|
|
56601
|
+
}),
|
|
56602
|
+
stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
56603
|
+
kind: "mutation",
|
|
56604
|
+
auth: "protected"
|
|
56605
|
+
}),
|
|
56606
|
+
setProgram: method(object({
|
|
56607
|
+
deviceId: number().int().nonnegative(),
|
|
56608
|
+
program: string().min(1)
|
|
56609
|
+
}), _void(), {
|
|
56610
|
+
kind: "mutation",
|
|
56611
|
+
auth: "protected"
|
|
56612
|
+
}),
|
|
56613
|
+
setPower: method(object({
|
|
56614
|
+
deviceId: number().int().nonnegative(),
|
|
56615
|
+
on: boolean()
|
|
56616
|
+
}), _void(), {
|
|
56617
|
+
kind: "mutation",
|
|
56618
|
+
auth: "protected"
|
|
56619
|
+
}),
|
|
56620
|
+
setHalfLoad: method(object({
|
|
56621
|
+
deviceId: number().int().nonnegative(),
|
|
56622
|
+
on: boolean()
|
|
56623
|
+
}), _void(), {
|
|
56624
|
+
kind: "mutation",
|
|
56625
|
+
auth: "protected"
|
|
56626
|
+
}),
|
|
56627
|
+
setHygienePlus: method(object({
|
|
56628
|
+
deviceId: number().int().nonnegative(),
|
|
56629
|
+
on: boolean()
|
|
56630
|
+
}), _void(), {
|
|
56631
|
+
kind: "mutation",
|
|
56632
|
+
auth: "protected"
|
|
56633
|
+
}),
|
|
56634
|
+
setExtraDry: method(object({
|
|
56635
|
+
deviceId: number().int().nonnegative(),
|
|
56636
|
+
on: boolean()
|
|
56637
|
+
}), _void(), {
|
|
56638
|
+
kind: "mutation",
|
|
56639
|
+
auth: "protected"
|
|
56640
|
+
}),
|
|
56641
|
+
setIntensiveZone: method(object({
|
|
56642
|
+
deviceId: number().int().nonnegative(),
|
|
56643
|
+
on: boolean()
|
|
56644
|
+
}), _void(), {
|
|
56645
|
+
kind: "mutation",
|
|
56646
|
+
auth: "protected"
|
|
56647
|
+
}),
|
|
56648
|
+
setVarioSpeedPlus: method(object({
|
|
56649
|
+
deviceId: number().int().nonnegative(),
|
|
56650
|
+
on: boolean()
|
|
56651
|
+
}), _void(), {
|
|
56652
|
+
kind: "mutation",
|
|
56653
|
+
auth: "protected"
|
|
56654
|
+
}),
|
|
56655
|
+
setChildLock: method(object({
|
|
56656
|
+
deviceId: number().int().nonnegative(),
|
|
56657
|
+
on: boolean()
|
|
56658
|
+
}), _void(), {
|
|
56659
|
+
kind: "mutation",
|
|
56660
|
+
auth: "protected"
|
|
56661
|
+
}),
|
|
56662
|
+
setOption: method(object({
|
|
56663
|
+
deviceId: number().int().nonnegative(),
|
|
56664
|
+
key: string().min(1),
|
|
56665
|
+
value: union([
|
|
56666
|
+
boolean(),
|
|
56667
|
+
string(),
|
|
56668
|
+
number()
|
|
56669
|
+
])
|
|
56670
|
+
}), _void(), {
|
|
56671
|
+
kind: "mutation",
|
|
56672
|
+
auth: "protected"
|
|
56673
|
+
})
|
|
56674
|
+
},
|
|
56675
|
+
status: {
|
|
56676
|
+
schema: DishwasherStatusSchema,
|
|
56677
|
+
kind: "poll"
|
|
56678
|
+
},
|
|
56679
|
+
runtimeState: DishwasherStatusSchema,
|
|
56680
|
+
durability: "session",
|
|
56681
|
+
history: { fields: { progressPercent: {
|
|
56682
|
+
kind: "gauge",
|
|
56683
|
+
unit: "%",
|
|
56684
|
+
deadband: 2
|
|
56685
|
+
} } }
|
|
56686
|
+
};
|
|
56517
56687
|
var DoorbellStatusSchema = object({
|
|
56518
56688
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
56519
56689
|
lastPressedAt: number().nullable(),
|
|
@@ -57316,6 +57486,32 @@ var gasCapability = {
|
|
|
57316
57486
|
* whether persisting is worth a SQLite commit. */
|
|
57317
57487
|
volatileStateFields: ["lastChangedAt"]
|
|
57318
57488
|
};
|
|
57489
|
+
var HeatingValveStatusSchema = object({
|
|
57490
|
+
/** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
|
|
57491
|
+
position: number().min(0).max(100).nullable(),
|
|
57492
|
+
/** Ms epoch when the slice was last updated (push or poll). */
|
|
57493
|
+
lastFetchedAt: number()
|
|
57494
|
+
});
|
|
57495
|
+
var heatingValveCapability = {
|
|
57496
|
+
name: "heating-valve",
|
|
57497
|
+
scope: "device",
|
|
57498
|
+
deviceNative: true,
|
|
57499
|
+
mode: "singleton",
|
|
57500
|
+
deviceTypes: [DeviceType.Thermostat],
|
|
57501
|
+
methods: {},
|
|
57502
|
+
status: {
|
|
57503
|
+
schema: HeatingValveStatusSchema,
|
|
57504
|
+
kind: "push"
|
|
57505
|
+
},
|
|
57506
|
+
runtimeState: HeatingValveStatusSchema,
|
|
57507
|
+
durability: "session",
|
|
57508
|
+
history: { fields: { position: {
|
|
57509
|
+
kind: "gauge",
|
|
57510
|
+
unit: "%",
|
|
57511
|
+
deadband: 1
|
|
57512
|
+
} } },
|
|
57513
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
57514
|
+
};
|
|
57319
57515
|
/**
|
|
57320
57516
|
* Humidifier / dehumidifier cap. Models HA `humidifier.*` entities —
|
|
57321
57517
|
* an on/off actuator with an optional target-humidity setpoint and an
|
|
@@ -67321,6 +67517,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
67321
67517
|
dayNight: dayNightCapability,
|
|
67322
67518
|
deviceDiscovery: deviceDiscoveryCapability,
|
|
67323
67519
|
deviceStatus: deviceStatusCapability,
|
|
67520
|
+
dishwasher: dishwasherCapability,
|
|
67324
67521
|
doorbell: doorbellCapability,
|
|
67325
67522
|
enumSensor: enumSensorCapability,
|
|
67326
67523
|
eventEmitter: eventEmitterCapability,
|
|
@@ -67328,6 +67525,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
67328
67525
|
featureProbe: featureProbeCapability,
|
|
67329
67526
|
flood: floodCapability,
|
|
67330
67527
|
gas: gasCapability,
|
|
67528
|
+
heatingValve: heatingValveCapability,
|
|
67331
67529
|
humidifier: humidifierCapability,
|
|
67332
67530
|
humiditySensor: humiditySensorCapability,
|
|
67333
67531
|
image: imageCapability,
|
|
@@ -68053,6 +68251,12 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
68053
68251
|
provider: this
|
|
68054
68252
|
}];
|
|
68055
68253
|
}
|
|
68254
|
+
/** Flatten `super.onInitialize()` whether it returned an array or an envelope. */
|
|
68255
|
+
providerRegistrationsFromSuper(result) {
|
|
68256
|
+
if (Array.isArray(result)) return result;
|
|
68257
|
+
if (result !== void 0 && result.providers !== void 0) return [...result.providers];
|
|
68258
|
+
return [];
|
|
68259
|
+
}
|
|
68056
68260
|
async onShutdown() {
|
|
68057
68261
|
this._restoreShuttingDown = true;
|
|
68058
68262
|
this.cancelRestoreRetries();
|
|
@@ -68579,7 +68783,7 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
68579
68783
|
return toDeviceSummary(device, this.addonId);
|
|
68580
68784
|
}
|
|
68581
68785
|
};
|
|
68582
|
-
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;
|
|
68786
|
+
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;
|
|
68583
68787
|
new Set(Object.values(DeviceType));
|
|
68584
68788
|
Object.freeze({
|
|
68585
68789
|
"accessories.getStatus": {
|
|
@@ -71000,6 +71204,84 @@ Object.freeze({
|
|
|
71000
71204
|
addonId: null,
|
|
71001
71205
|
access: "view"
|
|
71002
71206
|
},
|
|
71207
|
+
"dishwasher.getStatus": {
|
|
71208
|
+
capName: "dishwasher",
|
|
71209
|
+
capScope: "device",
|
|
71210
|
+
addonId: null,
|
|
71211
|
+
access: "view"
|
|
71212
|
+
},
|
|
71213
|
+
"dishwasher.pause": {
|
|
71214
|
+
capName: "dishwasher",
|
|
71215
|
+
capScope: "device",
|
|
71216
|
+
addonId: null,
|
|
71217
|
+
access: "create"
|
|
71218
|
+
},
|
|
71219
|
+
"dishwasher.setChildLock": {
|
|
71220
|
+
capName: "dishwasher",
|
|
71221
|
+
capScope: "device",
|
|
71222
|
+
addonId: null,
|
|
71223
|
+
access: "create"
|
|
71224
|
+
},
|
|
71225
|
+
"dishwasher.setExtraDry": {
|
|
71226
|
+
capName: "dishwasher",
|
|
71227
|
+
capScope: "device",
|
|
71228
|
+
addonId: null,
|
|
71229
|
+
access: "create"
|
|
71230
|
+
},
|
|
71231
|
+
"dishwasher.setHalfLoad": {
|
|
71232
|
+
capName: "dishwasher",
|
|
71233
|
+
capScope: "device",
|
|
71234
|
+
addonId: null,
|
|
71235
|
+
access: "create"
|
|
71236
|
+
},
|
|
71237
|
+
"dishwasher.setHygienePlus": {
|
|
71238
|
+
capName: "dishwasher",
|
|
71239
|
+
capScope: "device",
|
|
71240
|
+
addonId: null,
|
|
71241
|
+
access: "create"
|
|
71242
|
+
},
|
|
71243
|
+
"dishwasher.setIntensiveZone": {
|
|
71244
|
+
capName: "dishwasher",
|
|
71245
|
+
capScope: "device",
|
|
71246
|
+
addonId: null,
|
|
71247
|
+
access: "create"
|
|
71248
|
+
},
|
|
71249
|
+
"dishwasher.setOption": {
|
|
71250
|
+
capName: "dishwasher",
|
|
71251
|
+
capScope: "device",
|
|
71252
|
+
addonId: null,
|
|
71253
|
+
access: "create"
|
|
71254
|
+
},
|
|
71255
|
+
"dishwasher.setPower": {
|
|
71256
|
+
capName: "dishwasher",
|
|
71257
|
+
capScope: "device",
|
|
71258
|
+
addonId: null,
|
|
71259
|
+
access: "create"
|
|
71260
|
+
},
|
|
71261
|
+
"dishwasher.setProgram": {
|
|
71262
|
+
capName: "dishwasher",
|
|
71263
|
+
capScope: "device",
|
|
71264
|
+
addonId: null,
|
|
71265
|
+
access: "create"
|
|
71266
|
+
},
|
|
71267
|
+
"dishwasher.setVarioSpeedPlus": {
|
|
71268
|
+
capName: "dishwasher",
|
|
71269
|
+
capScope: "device",
|
|
71270
|
+
addonId: null,
|
|
71271
|
+
access: "create"
|
|
71272
|
+
},
|
|
71273
|
+
"dishwasher.start": {
|
|
71274
|
+
capName: "dishwasher",
|
|
71275
|
+
capScope: "device",
|
|
71276
|
+
addonId: null,
|
|
71277
|
+
access: "create"
|
|
71278
|
+
},
|
|
71279
|
+
"dishwasher.stop": {
|
|
71280
|
+
capName: "dishwasher",
|
|
71281
|
+
capScope: "device",
|
|
71282
|
+
addonId: null,
|
|
71283
|
+
access: "create"
|
|
71284
|
+
},
|
|
71003
71285
|
"doorbell.getStatus": {
|
|
71004
71286
|
capName: "doorbell",
|
|
71005
71287
|
capScope: "device",
|
|
@@ -71210,6 +71492,12 @@ Object.freeze({
|
|
|
71210
71492
|
addonId: null,
|
|
71211
71493
|
access: "view"
|
|
71212
71494
|
},
|
|
71495
|
+
"heatingValve.getStatus": {
|
|
71496
|
+
capName: "heating-valve",
|
|
71497
|
+
capScope: "device",
|
|
71498
|
+
addonId: null,
|
|
71499
|
+
access: "view"
|
|
71500
|
+
},
|
|
71213
71501
|
"humidifier.getStatus": {
|
|
71214
71502
|
capName: "humidifier",
|
|
71215
71503
|
capScope: "device",
|
|
@@ -76797,7 +77085,7 @@ Object.freeze({
|
|
|
76797
77085
|
access: "create"
|
|
76798
77086
|
}
|
|
76799
77087
|
});
|
|
76800
|
-
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;
|
|
77088
|
+
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;
|
|
76801
77089
|
DeviceFeature.BatteryOperated;
|
|
76802
77090
|
var LAST_FETCHED_FIELD = "lastFetchedAt";
|
|
76803
77091
|
/**
|
|
@@ -77773,6 +78061,71 @@ Object.freeze({
|
|
|
77773
78061
|
form: "single",
|
|
77774
78062
|
optional: false
|
|
77775
78063
|
}],
|
|
78064
|
+
"dishwasher.getStatus": [{
|
|
78065
|
+
name: "deviceId",
|
|
78066
|
+
form: "single",
|
|
78067
|
+
optional: false
|
|
78068
|
+
}],
|
|
78069
|
+
"dishwasher.pause": [{
|
|
78070
|
+
name: "deviceId",
|
|
78071
|
+
form: "single",
|
|
78072
|
+
optional: false
|
|
78073
|
+
}],
|
|
78074
|
+
"dishwasher.setChildLock": [{
|
|
78075
|
+
name: "deviceId",
|
|
78076
|
+
form: "single",
|
|
78077
|
+
optional: false
|
|
78078
|
+
}],
|
|
78079
|
+
"dishwasher.setExtraDry": [{
|
|
78080
|
+
name: "deviceId",
|
|
78081
|
+
form: "single",
|
|
78082
|
+
optional: false
|
|
78083
|
+
}],
|
|
78084
|
+
"dishwasher.setHalfLoad": [{
|
|
78085
|
+
name: "deviceId",
|
|
78086
|
+
form: "single",
|
|
78087
|
+
optional: false
|
|
78088
|
+
}],
|
|
78089
|
+
"dishwasher.setHygienePlus": [{
|
|
78090
|
+
name: "deviceId",
|
|
78091
|
+
form: "single",
|
|
78092
|
+
optional: false
|
|
78093
|
+
}],
|
|
78094
|
+
"dishwasher.setIntensiveZone": [{
|
|
78095
|
+
name: "deviceId",
|
|
78096
|
+
form: "single",
|
|
78097
|
+
optional: false
|
|
78098
|
+
}],
|
|
78099
|
+
"dishwasher.setOption": [{
|
|
78100
|
+
name: "deviceId",
|
|
78101
|
+
form: "single",
|
|
78102
|
+
optional: false
|
|
78103
|
+
}],
|
|
78104
|
+
"dishwasher.setPower": [{
|
|
78105
|
+
name: "deviceId",
|
|
78106
|
+
form: "single",
|
|
78107
|
+
optional: false
|
|
78108
|
+
}],
|
|
78109
|
+
"dishwasher.setProgram": [{
|
|
78110
|
+
name: "deviceId",
|
|
78111
|
+
form: "single",
|
|
78112
|
+
optional: false
|
|
78113
|
+
}],
|
|
78114
|
+
"dishwasher.setVarioSpeedPlus": [{
|
|
78115
|
+
name: "deviceId",
|
|
78116
|
+
form: "single",
|
|
78117
|
+
optional: false
|
|
78118
|
+
}],
|
|
78119
|
+
"dishwasher.start": [{
|
|
78120
|
+
name: "deviceId",
|
|
78121
|
+
form: "single",
|
|
78122
|
+
optional: false
|
|
78123
|
+
}],
|
|
78124
|
+
"dishwasher.stop": [{
|
|
78125
|
+
name: "deviceId",
|
|
78126
|
+
form: "single",
|
|
78127
|
+
optional: false
|
|
78128
|
+
}],
|
|
77776
78129
|
"doorbell.getStatus": [{
|
|
77777
78130
|
name: "deviceId",
|
|
77778
78131
|
form: "single",
|
|
@@ -77842,6 +78195,11 @@ Object.freeze({
|
|
|
77842
78195
|
form: "single",
|
|
77843
78196
|
optional: false
|
|
77844
78197
|
}],
|
|
78198
|
+
"heatingValve.getStatus": [{
|
|
78199
|
+
name: "deviceId",
|
|
78200
|
+
form: "single",
|
|
78201
|
+
optional: false
|
|
78202
|
+
}],
|
|
77845
78203
|
"humidifier.getStatus": [{
|
|
77846
78204
|
name: "deviceId",
|
|
77847
78205
|
form: "single",
|
|
@@ -203162,7 +203520,7 @@ var ReolinkProviderAddon = class extends BaseDeviceProvider {
|
|
|
203162
203520
|
return [...EMAIL_PUSH_SECTION_IDS, ...BAICHUAN_WEBHOOK_SECTION_IDS];
|
|
203163
203521
|
}
|
|
203164
203522
|
async onInitialize() {
|
|
203165
|
-
const regs = await super.onInitialize();
|
|
203523
|
+
const regs = this.providerRegistrationsFromSuper(await super.onInitialize());
|
|
203166
203524
|
this.logChannels = createLogChannelsProvider(this.ctx.logger.child("log-channels"));
|
|
203167
203525
|
regs.push({
|
|
203168
203526
|
capability: logChannelsCapability,
|