@camstack/addon-import-alexa 0.2.127 → 0.2.129
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 +368 -10
- package/dist/addon.mjs +368 -10
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -5577,7 +5577,7 @@ var ZodIssueCode = {
|
|
|
5577
5577
|
var ZodFirstPartyTypeKind;
|
|
5578
5578
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5579
5579
|
//#endregion
|
|
5580
|
-
//#region ../types/dist/sleep-
|
|
5580
|
+
//#region ../types/dist/sleep-BegKjwUu.mjs
|
|
5581
5581
|
/**
|
|
5582
5582
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5583
5583
|
* window to float samples (D455).
|
|
@@ -8796,7 +8796,7 @@ object({
|
|
|
8796
8796
|
params: record(string(), union([string(), number()])).optional()
|
|
8797
8797
|
});
|
|
8798
8798
|
//#endregion
|
|
8799
|
-
//#region ../types/dist/err-msg
|
|
8799
|
+
//#region ../types/dist/err-msg-BXKzRBwg.mjs
|
|
8800
8800
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8801
8801
|
DeviceType["Camera"] = "camera";
|
|
8802
8802
|
DeviceType["Hub"] = "hub";
|
|
@@ -8888,6 +8888,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
|
8888
8888
|
* native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
|
|
8889
8889
|
* integrations sharing the same food/desiccant/hopper surface. */
|
|
8890
8890
|
DeviceType["PetFeeder"] = "pet-feeder";
|
|
8891
|
+
/** Built-in dishwasher — program lifecycle, door / remote-start gates,
|
|
8892
|
+
* salt and rinse-aid levels. Installed with the `dishwasher` cap.
|
|
8893
|
+
* Sources: native Bosch Home Connect, reusable by similar integrations. */
|
|
8894
|
+
DeviceType["Dishwasher"] = "dishwasher";
|
|
8891
8895
|
return DeviceType;
|
|
8892
8896
|
}({});
|
|
8893
8897
|
var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
|
|
@@ -9145,7 +9149,7 @@ function errMsg(err) {
|
|
|
9145
9149
|
return String(err);
|
|
9146
9150
|
}
|
|
9147
9151
|
//#endregion
|
|
9148
|
-
//#region ../types/dist/composition-
|
|
9152
|
+
//#region ../types/dist/composition-CB6PMT9p.mjs
|
|
9149
9153
|
/**
|
|
9150
9154
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
9151
9155
|
*
|
|
@@ -13667,8 +13671,13 @@ var AlertSeveritySchema = _enum([
|
|
|
13667
13671
|
"info",
|
|
13668
13672
|
"success",
|
|
13669
13673
|
"warning",
|
|
13670
|
-
"error"
|
|
13674
|
+
"error",
|
|
13675
|
+
"critical"
|
|
13671
13676
|
]);
|
|
13677
|
+
var AlertActionSchema = object({
|
|
13678
|
+
label: string(),
|
|
13679
|
+
href: string().optional()
|
|
13680
|
+
});
|
|
13672
13681
|
var AlertStatusSchema = _enum([
|
|
13673
13682
|
"active",
|
|
13674
13683
|
"in-progress",
|
|
@@ -13686,6 +13695,7 @@ var AlertSchema = object({
|
|
|
13686
13695
|
severity: AlertSeveritySchema,
|
|
13687
13696
|
title: string(),
|
|
13688
13697
|
message: string(),
|
|
13698
|
+
action: AlertActionSchema.optional(),
|
|
13689
13699
|
status: AlertStatusSchema,
|
|
13690
13700
|
progress: number().optional(),
|
|
13691
13701
|
read: boolean(),
|
|
@@ -18096,7 +18106,11 @@ var deviceDiscoveryCapability = {
|
|
|
18096
18106
|
};
|
|
18097
18107
|
/**
|
|
18098
18108
|
* `device-adoption` — generic discovery + adoption surface,
|
|
18099
|
-
* system-scoped
|
|
18109
|
+
* system-scoped collection (one provider per integration addon), routed
|
|
18110
|
+
* by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
|
|
18111
|
+
* pin model as `connection-test`. The admin UI keeps using
|
|
18112
|
+
* `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
|
|
18113
|
+
* successor to `ha-discovery`:
|
|
18100
18114
|
* keyed by `integrationId` (the addon resolves integrationId → broker
|
|
18101
18115
|
* internally) rather than a connection-specific `brokerId`, and it
|
|
18102
18116
|
* REUSES the shared `DiscoveredChildDevice` candidate type from
|
|
@@ -18261,7 +18275,7 @@ var ResyncResultSchema = object({
|
|
|
18261
18275
|
var deviceAdoptionCapability = {
|
|
18262
18276
|
name: "device-adoption",
|
|
18263
18277
|
scope: "system",
|
|
18264
|
-
mode: "
|
|
18278
|
+
mode: "collection",
|
|
18265
18279
|
status: {
|
|
18266
18280
|
schema: AdoptionStatusSchema,
|
|
18267
18281
|
kind: "poll"
|
|
@@ -54293,7 +54307,8 @@ var batteryCapability = {
|
|
|
54293
54307
|
DeviceType.Button,
|
|
54294
54308
|
DeviceType.Switch,
|
|
54295
54309
|
DeviceType.PetFeeder,
|
|
54296
|
-
DeviceType.Container
|
|
54310
|
+
DeviceType.Container,
|
|
54311
|
+
DeviceType.Thermostat
|
|
54297
54312
|
],
|
|
54298
54313
|
methods: {
|
|
54299
54314
|
/**
|
|
@@ -55783,6 +55798,161 @@ onStatusChanged: { data: object({
|
|
|
55783
55798
|
* whether persisting is worth a SQLite commit. */
|
|
55784
55799
|
volatileStateFields: ["lastChangedAt"]
|
|
55785
55800
|
};
|
|
55801
|
+
/**
|
|
55802
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates,
|
|
55803
|
+
* consumable levels (salt, rinse aid) and common program options.
|
|
55804
|
+
*
|
|
55805
|
+
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
55806
|
+
* by any integration that exposes the same program / option surface.
|
|
55807
|
+
*
|
|
55808
|
+
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
55809
|
+
* provider refreshes the slice on an interval and eagerly after commands.
|
|
55810
|
+
*/
|
|
55811
|
+
var DishwasherStateSchema = _enum([
|
|
55812
|
+
"idle",
|
|
55813
|
+
"running",
|
|
55814
|
+
"paused",
|
|
55815
|
+
"finished",
|
|
55816
|
+
"error",
|
|
55817
|
+
"unavailable"
|
|
55818
|
+
]);
|
|
55819
|
+
var DishwasherConsumableLevelSchema = _enum([
|
|
55820
|
+
"ok",
|
|
55821
|
+
"low",
|
|
55822
|
+
"empty"
|
|
55823
|
+
]);
|
|
55824
|
+
var DishwasherStatusSchema = object({
|
|
55825
|
+
state: DishwasherStateSchema,
|
|
55826
|
+
/** Active program id/name, or null when none selected / unknown. */
|
|
55827
|
+
program: string().nullable(),
|
|
55828
|
+
/** Program tokens the hardware accepts — drives the UI selector. */
|
|
55829
|
+
availablePrograms: array(string()),
|
|
55830
|
+
/** Minutes remaining on the active cycle, or null when not running. */
|
|
55831
|
+
remainingMinutes: number().int().nonnegative().nullable(),
|
|
55832
|
+
/** Cycle completion 0..100, or null when not applicable. */
|
|
55833
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
55834
|
+
/** True when the door is reported open. */
|
|
55835
|
+
doorOpen: boolean(),
|
|
55836
|
+
/** True when remote start is allowed (door closed, power on, etc.). */
|
|
55837
|
+
remoteStartAllowed: boolean(),
|
|
55838
|
+
/** Main power / switched-on state. */
|
|
55839
|
+
powerOn: boolean(),
|
|
55840
|
+
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55841
|
+
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55842
|
+
halfLoad: boolean(),
|
|
55843
|
+
hygienePlus: boolean(),
|
|
55844
|
+
/** Extra dry option when the appliance exposes it. */
|
|
55845
|
+
extraDry: boolean(),
|
|
55846
|
+
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
55847
|
+
intensiveZone: boolean(),
|
|
55848
|
+
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
55849
|
+
varioSpeedPlus: boolean(),
|
|
55850
|
+
/** Child lock (controls disabled on the appliance). */
|
|
55851
|
+
childLock: boolean(),
|
|
55852
|
+
errorCode: number().nullable(),
|
|
55853
|
+
errorLabel: string().nullable(),
|
|
55854
|
+
lastFetchedAt: number()
|
|
55855
|
+
});
|
|
55856
|
+
var dishwasherCapability = {
|
|
55857
|
+
name: "dishwasher",
|
|
55858
|
+
scope: "device",
|
|
55859
|
+
deviceNative: true,
|
|
55860
|
+
mode: "singleton",
|
|
55861
|
+
deviceTypes: [DeviceType.Dishwasher],
|
|
55862
|
+
methods: {
|
|
55863
|
+
start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
55864
|
+
kind: "mutation",
|
|
55865
|
+
auth: "protected"
|
|
55866
|
+
}),
|
|
55867
|
+
pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
55868
|
+
kind: "mutation",
|
|
55869
|
+
auth: "protected"
|
|
55870
|
+
}),
|
|
55871
|
+
stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
55872
|
+
kind: "mutation",
|
|
55873
|
+
auth: "protected"
|
|
55874
|
+
}),
|
|
55875
|
+
setProgram: method(object({
|
|
55876
|
+
deviceId: number().int().nonnegative(),
|
|
55877
|
+
program: string().min(1)
|
|
55878
|
+
}), _void(), {
|
|
55879
|
+
kind: "mutation",
|
|
55880
|
+
auth: "protected"
|
|
55881
|
+
}),
|
|
55882
|
+
setPower: method(object({
|
|
55883
|
+
deviceId: number().int().nonnegative(),
|
|
55884
|
+
on: boolean()
|
|
55885
|
+
}), _void(), {
|
|
55886
|
+
kind: "mutation",
|
|
55887
|
+
auth: "protected"
|
|
55888
|
+
}),
|
|
55889
|
+
setHalfLoad: method(object({
|
|
55890
|
+
deviceId: number().int().nonnegative(),
|
|
55891
|
+
on: boolean()
|
|
55892
|
+
}), _void(), {
|
|
55893
|
+
kind: "mutation",
|
|
55894
|
+
auth: "protected"
|
|
55895
|
+
}),
|
|
55896
|
+
setHygienePlus: method(object({
|
|
55897
|
+
deviceId: number().int().nonnegative(),
|
|
55898
|
+
on: boolean()
|
|
55899
|
+
}), _void(), {
|
|
55900
|
+
kind: "mutation",
|
|
55901
|
+
auth: "protected"
|
|
55902
|
+
}),
|
|
55903
|
+
setExtraDry: method(object({
|
|
55904
|
+
deviceId: number().int().nonnegative(),
|
|
55905
|
+
on: boolean()
|
|
55906
|
+
}), _void(), {
|
|
55907
|
+
kind: "mutation",
|
|
55908
|
+
auth: "protected"
|
|
55909
|
+
}),
|
|
55910
|
+
setIntensiveZone: method(object({
|
|
55911
|
+
deviceId: number().int().nonnegative(),
|
|
55912
|
+
on: boolean()
|
|
55913
|
+
}), _void(), {
|
|
55914
|
+
kind: "mutation",
|
|
55915
|
+
auth: "protected"
|
|
55916
|
+
}),
|
|
55917
|
+
setVarioSpeedPlus: method(object({
|
|
55918
|
+
deviceId: number().int().nonnegative(),
|
|
55919
|
+
on: boolean()
|
|
55920
|
+
}), _void(), {
|
|
55921
|
+
kind: "mutation",
|
|
55922
|
+
auth: "protected"
|
|
55923
|
+
}),
|
|
55924
|
+
setChildLock: method(object({
|
|
55925
|
+
deviceId: number().int().nonnegative(),
|
|
55926
|
+
on: boolean()
|
|
55927
|
+
}), _void(), {
|
|
55928
|
+
kind: "mutation",
|
|
55929
|
+
auth: "protected"
|
|
55930
|
+
}),
|
|
55931
|
+
setOption: method(object({
|
|
55932
|
+
deviceId: number().int().nonnegative(),
|
|
55933
|
+
key: string().min(1),
|
|
55934
|
+
value: union([
|
|
55935
|
+
boolean(),
|
|
55936
|
+
string(),
|
|
55937
|
+
number()
|
|
55938
|
+
])
|
|
55939
|
+
}), _void(), {
|
|
55940
|
+
kind: "mutation",
|
|
55941
|
+
auth: "protected"
|
|
55942
|
+
})
|
|
55943
|
+
},
|
|
55944
|
+
status: {
|
|
55945
|
+
schema: DishwasherStatusSchema,
|
|
55946
|
+
kind: "poll"
|
|
55947
|
+
},
|
|
55948
|
+
runtimeState: DishwasherStatusSchema,
|
|
55949
|
+
durability: "session",
|
|
55950
|
+
history: { fields: { progressPercent: {
|
|
55951
|
+
kind: "gauge",
|
|
55952
|
+
unit: "%",
|
|
55953
|
+
deadband: 2
|
|
55954
|
+
} } }
|
|
55955
|
+
};
|
|
55786
55956
|
var DoorbellStatusSchema = object({
|
|
55787
55957
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
55788
55958
|
lastPressedAt: number().nullable(),
|
|
@@ -56585,6 +56755,32 @@ var gasCapability = {
|
|
|
56585
56755
|
* whether persisting is worth a SQLite commit. */
|
|
56586
56756
|
volatileStateFields: ["lastChangedAt"]
|
|
56587
56757
|
};
|
|
56758
|
+
var HeatingValveStatusSchema = object({
|
|
56759
|
+
/** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
|
|
56760
|
+
position: number().min(0).max(100).nullable(),
|
|
56761
|
+
/** Ms epoch when the slice was last updated (push or poll). */
|
|
56762
|
+
lastFetchedAt: number()
|
|
56763
|
+
});
|
|
56764
|
+
var heatingValveCapability = {
|
|
56765
|
+
name: "heating-valve",
|
|
56766
|
+
scope: "device",
|
|
56767
|
+
deviceNative: true,
|
|
56768
|
+
mode: "singleton",
|
|
56769
|
+
deviceTypes: [DeviceType.Thermostat],
|
|
56770
|
+
methods: {},
|
|
56771
|
+
status: {
|
|
56772
|
+
schema: HeatingValveStatusSchema,
|
|
56773
|
+
kind: "push"
|
|
56774
|
+
},
|
|
56775
|
+
runtimeState: HeatingValveStatusSchema,
|
|
56776
|
+
durability: "session",
|
|
56777
|
+
history: { fields: { position: {
|
|
56778
|
+
kind: "gauge",
|
|
56779
|
+
unit: "%",
|
|
56780
|
+
deadband: 1
|
|
56781
|
+
} } },
|
|
56782
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
56783
|
+
};
|
|
56588
56784
|
/**
|
|
56589
56785
|
* Humidifier / dehumidifier cap. Models HA `humidifier.*` entities —
|
|
56590
56786
|
* an on/off actuator with an optional target-humidity setpoint and an
|
|
@@ -66005,6 +66201,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
66005
66201
|
dayNight: dayNightCapability,
|
|
66006
66202
|
deviceDiscovery: deviceDiscoveryCapability,
|
|
66007
66203
|
deviceStatus: deviceStatusCapability,
|
|
66204
|
+
dishwasher: dishwasherCapability,
|
|
66008
66205
|
doorbell: doorbellCapability,
|
|
66009
66206
|
enumSensor: enumSensorCapability,
|
|
66010
66207
|
eventEmitter: eventEmitterCapability,
|
|
@@ -66012,6 +66209,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
66012
66209
|
featureProbe: featureProbeCapability,
|
|
66013
66210
|
flood: floodCapability,
|
|
66014
66211
|
gas: gasCapability,
|
|
66212
|
+
heatingValve: heatingValveCapability,
|
|
66015
66213
|
humidifier: humidifierCapability,
|
|
66016
66214
|
humiditySensor: humiditySensorCapability,
|
|
66017
66215
|
image: imageCapability,
|
|
@@ -66737,6 +66935,12 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
66737
66935
|
provider: this
|
|
66738
66936
|
}];
|
|
66739
66937
|
}
|
|
66938
|
+
/** Flatten `super.onInitialize()` whether it returned an array or an envelope. */
|
|
66939
|
+
providerRegistrationsFromSuper(result) {
|
|
66940
|
+
if (Array.isArray(result)) return result;
|
|
66941
|
+
if (result !== void 0 && result.providers !== void 0) return [...result.providers];
|
|
66942
|
+
return [];
|
|
66943
|
+
}
|
|
66740
66944
|
async onShutdown() {
|
|
66741
66945
|
this._restoreShuttingDown = true;
|
|
66742
66946
|
this.cancelRestoreRetries();
|
|
@@ -67263,7 +67467,7 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
67263
67467
|
return toDeviceSummary(device, this.addonId);
|
|
67264
67468
|
}
|
|
67265
67469
|
};
|
|
67266
|
-
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;
|
|
67470
|
+
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;
|
|
67267
67471
|
new Set(Object.values(DeviceType));
|
|
67268
67472
|
Object.freeze({
|
|
67269
67473
|
"accessories.getStatus": {
|
|
@@ -69684,6 +69888,84 @@ Object.freeze({
|
|
|
69684
69888
|
addonId: null,
|
|
69685
69889
|
access: "view"
|
|
69686
69890
|
},
|
|
69891
|
+
"dishwasher.getStatus": {
|
|
69892
|
+
capName: "dishwasher",
|
|
69893
|
+
capScope: "device",
|
|
69894
|
+
addonId: null,
|
|
69895
|
+
access: "view"
|
|
69896
|
+
},
|
|
69897
|
+
"dishwasher.pause": {
|
|
69898
|
+
capName: "dishwasher",
|
|
69899
|
+
capScope: "device",
|
|
69900
|
+
addonId: null,
|
|
69901
|
+
access: "create"
|
|
69902
|
+
},
|
|
69903
|
+
"dishwasher.setChildLock": {
|
|
69904
|
+
capName: "dishwasher",
|
|
69905
|
+
capScope: "device",
|
|
69906
|
+
addonId: null,
|
|
69907
|
+
access: "create"
|
|
69908
|
+
},
|
|
69909
|
+
"dishwasher.setExtraDry": {
|
|
69910
|
+
capName: "dishwasher",
|
|
69911
|
+
capScope: "device",
|
|
69912
|
+
addonId: null,
|
|
69913
|
+
access: "create"
|
|
69914
|
+
},
|
|
69915
|
+
"dishwasher.setHalfLoad": {
|
|
69916
|
+
capName: "dishwasher",
|
|
69917
|
+
capScope: "device",
|
|
69918
|
+
addonId: null,
|
|
69919
|
+
access: "create"
|
|
69920
|
+
},
|
|
69921
|
+
"dishwasher.setHygienePlus": {
|
|
69922
|
+
capName: "dishwasher",
|
|
69923
|
+
capScope: "device",
|
|
69924
|
+
addonId: null,
|
|
69925
|
+
access: "create"
|
|
69926
|
+
},
|
|
69927
|
+
"dishwasher.setIntensiveZone": {
|
|
69928
|
+
capName: "dishwasher",
|
|
69929
|
+
capScope: "device",
|
|
69930
|
+
addonId: null,
|
|
69931
|
+
access: "create"
|
|
69932
|
+
},
|
|
69933
|
+
"dishwasher.setOption": {
|
|
69934
|
+
capName: "dishwasher",
|
|
69935
|
+
capScope: "device",
|
|
69936
|
+
addonId: null,
|
|
69937
|
+
access: "create"
|
|
69938
|
+
},
|
|
69939
|
+
"dishwasher.setPower": {
|
|
69940
|
+
capName: "dishwasher",
|
|
69941
|
+
capScope: "device",
|
|
69942
|
+
addonId: null,
|
|
69943
|
+
access: "create"
|
|
69944
|
+
},
|
|
69945
|
+
"dishwasher.setProgram": {
|
|
69946
|
+
capName: "dishwasher",
|
|
69947
|
+
capScope: "device",
|
|
69948
|
+
addonId: null,
|
|
69949
|
+
access: "create"
|
|
69950
|
+
},
|
|
69951
|
+
"dishwasher.setVarioSpeedPlus": {
|
|
69952
|
+
capName: "dishwasher",
|
|
69953
|
+
capScope: "device",
|
|
69954
|
+
addonId: null,
|
|
69955
|
+
access: "create"
|
|
69956
|
+
},
|
|
69957
|
+
"dishwasher.start": {
|
|
69958
|
+
capName: "dishwasher",
|
|
69959
|
+
capScope: "device",
|
|
69960
|
+
addonId: null,
|
|
69961
|
+
access: "create"
|
|
69962
|
+
},
|
|
69963
|
+
"dishwasher.stop": {
|
|
69964
|
+
capName: "dishwasher",
|
|
69965
|
+
capScope: "device",
|
|
69966
|
+
addonId: null,
|
|
69967
|
+
access: "create"
|
|
69968
|
+
},
|
|
69687
69969
|
"doorbell.getStatus": {
|
|
69688
69970
|
capName: "doorbell",
|
|
69689
69971
|
capScope: "device",
|
|
@@ -69894,6 +70176,12 @@ Object.freeze({
|
|
|
69894
70176
|
addonId: null,
|
|
69895
70177
|
access: "view"
|
|
69896
70178
|
},
|
|
70179
|
+
"heatingValve.getStatus": {
|
|
70180
|
+
capName: "heating-valve",
|
|
70181
|
+
capScope: "device",
|
|
70182
|
+
addonId: null,
|
|
70183
|
+
access: "view"
|
|
70184
|
+
},
|
|
69897
70185
|
"humidifier.getStatus": {
|
|
69898
70186
|
capName: "humidifier",
|
|
69899
70187
|
capScope: "device",
|
|
@@ -75481,7 +75769,7 @@ Object.freeze({
|
|
|
75481
75769
|
access: "create"
|
|
75482
75770
|
}
|
|
75483
75771
|
});
|
|
75484
|
-
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;
|
|
75772
|
+
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;
|
|
75485
75773
|
DeviceFeature.BatteryOperated;
|
|
75486
75774
|
Object.freeze({
|
|
75487
75775
|
"accessories.getStatus": [{
|
|
@@ -76305,6 +76593,71 @@ Object.freeze({
|
|
|
76305
76593
|
form: "single",
|
|
76306
76594
|
optional: false
|
|
76307
76595
|
}],
|
|
76596
|
+
"dishwasher.getStatus": [{
|
|
76597
|
+
name: "deviceId",
|
|
76598
|
+
form: "single",
|
|
76599
|
+
optional: false
|
|
76600
|
+
}],
|
|
76601
|
+
"dishwasher.pause": [{
|
|
76602
|
+
name: "deviceId",
|
|
76603
|
+
form: "single",
|
|
76604
|
+
optional: false
|
|
76605
|
+
}],
|
|
76606
|
+
"dishwasher.setChildLock": [{
|
|
76607
|
+
name: "deviceId",
|
|
76608
|
+
form: "single",
|
|
76609
|
+
optional: false
|
|
76610
|
+
}],
|
|
76611
|
+
"dishwasher.setExtraDry": [{
|
|
76612
|
+
name: "deviceId",
|
|
76613
|
+
form: "single",
|
|
76614
|
+
optional: false
|
|
76615
|
+
}],
|
|
76616
|
+
"dishwasher.setHalfLoad": [{
|
|
76617
|
+
name: "deviceId",
|
|
76618
|
+
form: "single",
|
|
76619
|
+
optional: false
|
|
76620
|
+
}],
|
|
76621
|
+
"dishwasher.setHygienePlus": [{
|
|
76622
|
+
name: "deviceId",
|
|
76623
|
+
form: "single",
|
|
76624
|
+
optional: false
|
|
76625
|
+
}],
|
|
76626
|
+
"dishwasher.setIntensiveZone": [{
|
|
76627
|
+
name: "deviceId",
|
|
76628
|
+
form: "single",
|
|
76629
|
+
optional: false
|
|
76630
|
+
}],
|
|
76631
|
+
"dishwasher.setOption": [{
|
|
76632
|
+
name: "deviceId",
|
|
76633
|
+
form: "single",
|
|
76634
|
+
optional: false
|
|
76635
|
+
}],
|
|
76636
|
+
"dishwasher.setPower": [{
|
|
76637
|
+
name: "deviceId",
|
|
76638
|
+
form: "single",
|
|
76639
|
+
optional: false
|
|
76640
|
+
}],
|
|
76641
|
+
"dishwasher.setProgram": [{
|
|
76642
|
+
name: "deviceId",
|
|
76643
|
+
form: "single",
|
|
76644
|
+
optional: false
|
|
76645
|
+
}],
|
|
76646
|
+
"dishwasher.setVarioSpeedPlus": [{
|
|
76647
|
+
name: "deviceId",
|
|
76648
|
+
form: "single",
|
|
76649
|
+
optional: false
|
|
76650
|
+
}],
|
|
76651
|
+
"dishwasher.start": [{
|
|
76652
|
+
name: "deviceId",
|
|
76653
|
+
form: "single",
|
|
76654
|
+
optional: false
|
|
76655
|
+
}],
|
|
76656
|
+
"dishwasher.stop": [{
|
|
76657
|
+
name: "deviceId",
|
|
76658
|
+
form: "single",
|
|
76659
|
+
optional: false
|
|
76660
|
+
}],
|
|
76308
76661
|
"doorbell.getStatus": [{
|
|
76309
76662
|
name: "deviceId",
|
|
76310
76663
|
form: "single",
|
|
@@ -76374,6 +76727,11 @@ Object.freeze({
|
|
|
76374
76727
|
form: "single",
|
|
76375
76728
|
optional: false
|
|
76376
76729
|
}],
|
|
76730
|
+
"heatingValve.getStatus": [{
|
|
76731
|
+
name: "deviceId",
|
|
76732
|
+
form: "single",
|
|
76733
|
+
optional: false
|
|
76734
|
+
}],
|
|
76377
76735
|
"humidifier.getStatus": [{
|
|
76378
76736
|
name: "deviceId",
|
|
76379
76737
|
form: "single",
|
|
@@ -122872,7 +123230,7 @@ var AlexaImportAddon = class extends BaseDeviceProvider {
|
|
|
122872
123230
|
super({ ...DEFAULTS });
|
|
122873
123231
|
}
|
|
122874
123232
|
async onInitialize() {
|
|
122875
|
-
const regs = await super.onInitialize();
|
|
123233
|
+
const regs = this.providerRegistrationsFromSuper(await super.onInitialize());
|
|
122876
123234
|
const records = this.ctx.records;
|
|
122877
123235
|
if (records === void 0) throw new Error("import-alexa: ctx.records is required (hub-only addon)");
|
|
122878
123236
|
await records.declare({ brokers: alexaBrokersEntryKind });
|
package/dist/addon.mjs
CHANGED
|
@@ -5577,7 +5577,7 @@ var ZodIssueCode = {
|
|
|
5577
5577
|
var ZodFirstPartyTypeKind;
|
|
5578
5578
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5579
5579
|
//#endregion
|
|
5580
|
-
//#region ../types/dist/sleep-
|
|
5580
|
+
//#region ../types/dist/sleep-BegKjwUu.mjs
|
|
5581
5581
|
/**
|
|
5582
5582
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5583
5583
|
* window to float samples (D455).
|
|
@@ -8796,7 +8796,7 @@ object({
|
|
|
8796
8796
|
params: record(string(), union([string(), number()])).optional()
|
|
8797
8797
|
});
|
|
8798
8798
|
//#endregion
|
|
8799
|
-
//#region ../types/dist/err-msg
|
|
8799
|
+
//#region ../types/dist/err-msg-BXKzRBwg.mjs
|
|
8800
8800
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8801
8801
|
DeviceType["Camera"] = "camera";
|
|
8802
8802
|
DeviceType["Hub"] = "hub";
|
|
@@ -8888,6 +8888,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
|
8888
8888
|
* native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
|
|
8889
8889
|
* integrations sharing the same food/desiccant/hopper surface. */
|
|
8890
8890
|
DeviceType["PetFeeder"] = "pet-feeder";
|
|
8891
|
+
/** Built-in dishwasher — program lifecycle, door / remote-start gates,
|
|
8892
|
+
* salt and rinse-aid levels. Installed with the `dishwasher` cap.
|
|
8893
|
+
* Sources: native Bosch Home Connect, reusable by similar integrations. */
|
|
8894
|
+
DeviceType["Dishwasher"] = "dishwasher";
|
|
8891
8895
|
return DeviceType;
|
|
8892
8896
|
}({});
|
|
8893
8897
|
var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
|
|
@@ -9145,7 +9149,7 @@ function errMsg(err) {
|
|
|
9145
9149
|
return String(err);
|
|
9146
9150
|
}
|
|
9147
9151
|
//#endregion
|
|
9148
|
-
//#region ../types/dist/composition-
|
|
9152
|
+
//#region ../types/dist/composition-CB6PMT9p.mjs
|
|
9149
9153
|
/**
|
|
9150
9154
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
9151
9155
|
*
|
|
@@ -13667,8 +13671,13 @@ var AlertSeveritySchema = _enum([
|
|
|
13667
13671
|
"info",
|
|
13668
13672
|
"success",
|
|
13669
13673
|
"warning",
|
|
13670
|
-
"error"
|
|
13674
|
+
"error",
|
|
13675
|
+
"critical"
|
|
13671
13676
|
]);
|
|
13677
|
+
var AlertActionSchema = object({
|
|
13678
|
+
label: string(),
|
|
13679
|
+
href: string().optional()
|
|
13680
|
+
});
|
|
13672
13681
|
var AlertStatusSchema = _enum([
|
|
13673
13682
|
"active",
|
|
13674
13683
|
"in-progress",
|
|
@@ -13686,6 +13695,7 @@ var AlertSchema = object({
|
|
|
13686
13695
|
severity: AlertSeveritySchema,
|
|
13687
13696
|
title: string(),
|
|
13688
13697
|
message: string(),
|
|
13698
|
+
action: AlertActionSchema.optional(),
|
|
13689
13699
|
status: AlertStatusSchema,
|
|
13690
13700
|
progress: number().optional(),
|
|
13691
13701
|
read: boolean(),
|
|
@@ -18096,7 +18106,11 @@ var deviceDiscoveryCapability = {
|
|
|
18096
18106
|
};
|
|
18097
18107
|
/**
|
|
18098
18108
|
* `device-adoption` — generic discovery + adoption surface,
|
|
18099
|
-
* system-scoped
|
|
18109
|
+
* system-scoped collection (one provider per integration addon), routed
|
|
18110
|
+
* by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
|
|
18111
|
+
* pin model as `connection-test`. The admin UI keeps using
|
|
18112
|
+
* `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
|
|
18113
|
+
* successor to `ha-discovery`:
|
|
18100
18114
|
* keyed by `integrationId` (the addon resolves integrationId → broker
|
|
18101
18115
|
* internally) rather than a connection-specific `brokerId`, and it
|
|
18102
18116
|
* REUSES the shared `DiscoveredChildDevice` candidate type from
|
|
@@ -18261,7 +18275,7 @@ var ResyncResultSchema = object({
|
|
|
18261
18275
|
var deviceAdoptionCapability = {
|
|
18262
18276
|
name: "device-adoption",
|
|
18263
18277
|
scope: "system",
|
|
18264
|
-
mode: "
|
|
18278
|
+
mode: "collection",
|
|
18265
18279
|
status: {
|
|
18266
18280
|
schema: AdoptionStatusSchema,
|
|
18267
18281
|
kind: "poll"
|
|
@@ -54293,7 +54307,8 @@ var batteryCapability = {
|
|
|
54293
54307
|
DeviceType.Button,
|
|
54294
54308
|
DeviceType.Switch,
|
|
54295
54309
|
DeviceType.PetFeeder,
|
|
54296
|
-
DeviceType.Container
|
|
54310
|
+
DeviceType.Container,
|
|
54311
|
+
DeviceType.Thermostat
|
|
54297
54312
|
],
|
|
54298
54313
|
methods: {
|
|
54299
54314
|
/**
|
|
@@ -55783,6 +55798,161 @@ onStatusChanged: { data: object({
|
|
|
55783
55798
|
* whether persisting is worth a SQLite commit. */
|
|
55784
55799
|
volatileStateFields: ["lastChangedAt"]
|
|
55785
55800
|
};
|
|
55801
|
+
/**
|
|
55802
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates,
|
|
55803
|
+
* consumable levels (salt, rinse aid) and common program options.
|
|
55804
|
+
*
|
|
55805
|
+
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
55806
|
+
* by any integration that exposes the same program / option surface.
|
|
55807
|
+
*
|
|
55808
|
+
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
55809
|
+
* provider refreshes the slice on an interval and eagerly after commands.
|
|
55810
|
+
*/
|
|
55811
|
+
var DishwasherStateSchema = _enum([
|
|
55812
|
+
"idle",
|
|
55813
|
+
"running",
|
|
55814
|
+
"paused",
|
|
55815
|
+
"finished",
|
|
55816
|
+
"error",
|
|
55817
|
+
"unavailable"
|
|
55818
|
+
]);
|
|
55819
|
+
var DishwasherConsumableLevelSchema = _enum([
|
|
55820
|
+
"ok",
|
|
55821
|
+
"low",
|
|
55822
|
+
"empty"
|
|
55823
|
+
]);
|
|
55824
|
+
var DishwasherStatusSchema = object({
|
|
55825
|
+
state: DishwasherStateSchema,
|
|
55826
|
+
/** Active program id/name, or null when none selected / unknown. */
|
|
55827
|
+
program: string().nullable(),
|
|
55828
|
+
/** Program tokens the hardware accepts — drives the UI selector. */
|
|
55829
|
+
availablePrograms: array(string()),
|
|
55830
|
+
/** Minutes remaining on the active cycle, or null when not running. */
|
|
55831
|
+
remainingMinutes: number().int().nonnegative().nullable(),
|
|
55832
|
+
/** Cycle completion 0..100, or null when not applicable. */
|
|
55833
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
55834
|
+
/** True when the door is reported open. */
|
|
55835
|
+
doorOpen: boolean(),
|
|
55836
|
+
/** True when remote start is allowed (door closed, power on, etc.). */
|
|
55837
|
+
remoteStartAllowed: boolean(),
|
|
55838
|
+
/** Main power / switched-on state. */
|
|
55839
|
+
powerOn: boolean(),
|
|
55840
|
+
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55841
|
+
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55842
|
+
halfLoad: boolean(),
|
|
55843
|
+
hygienePlus: boolean(),
|
|
55844
|
+
/** Extra dry option when the appliance exposes it. */
|
|
55845
|
+
extraDry: boolean(),
|
|
55846
|
+
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
55847
|
+
intensiveZone: boolean(),
|
|
55848
|
+
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
55849
|
+
varioSpeedPlus: boolean(),
|
|
55850
|
+
/** Child lock (controls disabled on the appliance). */
|
|
55851
|
+
childLock: boolean(),
|
|
55852
|
+
errorCode: number().nullable(),
|
|
55853
|
+
errorLabel: string().nullable(),
|
|
55854
|
+
lastFetchedAt: number()
|
|
55855
|
+
});
|
|
55856
|
+
var dishwasherCapability = {
|
|
55857
|
+
name: "dishwasher",
|
|
55858
|
+
scope: "device",
|
|
55859
|
+
deviceNative: true,
|
|
55860
|
+
mode: "singleton",
|
|
55861
|
+
deviceTypes: [DeviceType.Dishwasher],
|
|
55862
|
+
methods: {
|
|
55863
|
+
start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
55864
|
+
kind: "mutation",
|
|
55865
|
+
auth: "protected"
|
|
55866
|
+
}),
|
|
55867
|
+
pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
55868
|
+
kind: "mutation",
|
|
55869
|
+
auth: "protected"
|
|
55870
|
+
}),
|
|
55871
|
+
stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
55872
|
+
kind: "mutation",
|
|
55873
|
+
auth: "protected"
|
|
55874
|
+
}),
|
|
55875
|
+
setProgram: method(object({
|
|
55876
|
+
deviceId: number().int().nonnegative(),
|
|
55877
|
+
program: string().min(1)
|
|
55878
|
+
}), _void(), {
|
|
55879
|
+
kind: "mutation",
|
|
55880
|
+
auth: "protected"
|
|
55881
|
+
}),
|
|
55882
|
+
setPower: method(object({
|
|
55883
|
+
deviceId: number().int().nonnegative(),
|
|
55884
|
+
on: boolean()
|
|
55885
|
+
}), _void(), {
|
|
55886
|
+
kind: "mutation",
|
|
55887
|
+
auth: "protected"
|
|
55888
|
+
}),
|
|
55889
|
+
setHalfLoad: method(object({
|
|
55890
|
+
deviceId: number().int().nonnegative(),
|
|
55891
|
+
on: boolean()
|
|
55892
|
+
}), _void(), {
|
|
55893
|
+
kind: "mutation",
|
|
55894
|
+
auth: "protected"
|
|
55895
|
+
}),
|
|
55896
|
+
setHygienePlus: method(object({
|
|
55897
|
+
deviceId: number().int().nonnegative(),
|
|
55898
|
+
on: boolean()
|
|
55899
|
+
}), _void(), {
|
|
55900
|
+
kind: "mutation",
|
|
55901
|
+
auth: "protected"
|
|
55902
|
+
}),
|
|
55903
|
+
setExtraDry: method(object({
|
|
55904
|
+
deviceId: number().int().nonnegative(),
|
|
55905
|
+
on: boolean()
|
|
55906
|
+
}), _void(), {
|
|
55907
|
+
kind: "mutation",
|
|
55908
|
+
auth: "protected"
|
|
55909
|
+
}),
|
|
55910
|
+
setIntensiveZone: method(object({
|
|
55911
|
+
deviceId: number().int().nonnegative(),
|
|
55912
|
+
on: boolean()
|
|
55913
|
+
}), _void(), {
|
|
55914
|
+
kind: "mutation",
|
|
55915
|
+
auth: "protected"
|
|
55916
|
+
}),
|
|
55917
|
+
setVarioSpeedPlus: method(object({
|
|
55918
|
+
deviceId: number().int().nonnegative(),
|
|
55919
|
+
on: boolean()
|
|
55920
|
+
}), _void(), {
|
|
55921
|
+
kind: "mutation",
|
|
55922
|
+
auth: "protected"
|
|
55923
|
+
}),
|
|
55924
|
+
setChildLock: method(object({
|
|
55925
|
+
deviceId: number().int().nonnegative(),
|
|
55926
|
+
on: boolean()
|
|
55927
|
+
}), _void(), {
|
|
55928
|
+
kind: "mutation",
|
|
55929
|
+
auth: "protected"
|
|
55930
|
+
}),
|
|
55931
|
+
setOption: method(object({
|
|
55932
|
+
deviceId: number().int().nonnegative(),
|
|
55933
|
+
key: string().min(1),
|
|
55934
|
+
value: union([
|
|
55935
|
+
boolean(),
|
|
55936
|
+
string(),
|
|
55937
|
+
number()
|
|
55938
|
+
])
|
|
55939
|
+
}), _void(), {
|
|
55940
|
+
kind: "mutation",
|
|
55941
|
+
auth: "protected"
|
|
55942
|
+
})
|
|
55943
|
+
},
|
|
55944
|
+
status: {
|
|
55945
|
+
schema: DishwasherStatusSchema,
|
|
55946
|
+
kind: "poll"
|
|
55947
|
+
},
|
|
55948
|
+
runtimeState: DishwasherStatusSchema,
|
|
55949
|
+
durability: "session",
|
|
55950
|
+
history: { fields: { progressPercent: {
|
|
55951
|
+
kind: "gauge",
|
|
55952
|
+
unit: "%",
|
|
55953
|
+
deadband: 2
|
|
55954
|
+
} } }
|
|
55955
|
+
};
|
|
55786
55956
|
var DoorbellStatusSchema = object({
|
|
55787
55957
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
55788
55958
|
lastPressedAt: number().nullable(),
|
|
@@ -56585,6 +56755,32 @@ var gasCapability = {
|
|
|
56585
56755
|
* whether persisting is worth a SQLite commit. */
|
|
56586
56756
|
volatileStateFields: ["lastChangedAt"]
|
|
56587
56757
|
};
|
|
56758
|
+
var HeatingValveStatusSchema = object({
|
|
56759
|
+
/** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
|
|
56760
|
+
position: number().min(0).max(100).nullable(),
|
|
56761
|
+
/** Ms epoch when the slice was last updated (push or poll). */
|
|
56762
|
+
lastFetchedAt: number()
|
|
56763
|
+
});
|
|
56764
|
+
var heatingValveCapability = {
|
|
56765
|
+
name: "heating-valve",
|
|
56766
|
+
scope: "device",
|
|
56767
|
+
deviceNative: true,
|
|
56768
|
+
mode: "singleton",
|
|
56769
|
+
deviceTypes: [DeviceType.Thermostat],
|
|
56770
|
+
methods: {},
|
|
56771
|
+
status: {
|
|
56772
|
+
schema: HeatingValveStatusSchema,
|
|
56773
|
+
kind: "push"
|
|
56774
|
+
},
|
|
56775
|
+
runtimeState: HeatingValveStatusSchema,
|
|
56776
|
+
durability: "session",
|
|
56777
|
+
history: { fields: { position: {
|
|
56778
|
+
kind: "gauge",
|
|
56779
|
+
unit: "%",
|
|
56780
|
+
deadband: 1
|
|
56781
|
+
} } },
|
|
56782
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
56783
|
+
};
|
|
56588
56784
|
/**
|
|
56589
56785
|
* Humidifier / dehumidifier cap. Models HA `humidifier.*` entities —
|
|
56590
56786
|
* an on/off actuator with an optional target-humidity setpoint and an
|
|
@@ -66005,6 +66201,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
66005
66201
|
dayNight: dayNightCapability,
|
|
66006
66202
|
deviceDiscovery: deviceDiscoveryCapability,
|
|
66007
66203
|
deviceStatus: deviceStatusCapability,
|
|
66204
|
+
dishwasher: dishwasherCapability,
|
|
66008
66205
|
doorbell: doorbellCapability,
|
|
66009
66206
|
enumSensor: enumSensorCapability,
|
|
66010
66207
|
eventEmitter: eventEmitterCapability,
|
|
@@ -66012,6 +66209,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
66012
66209
|
featureProbe: featureProbeCapability,
|
|
66013
66210
|
flood: floodCapability,
|
|
66014
66211
|
gas: gasCapability,
|
|
66212
|
+
heatingValve: heatingValveCapability,
|
|
66015
66213
|
humidifier: humidifierCapability,
|
|
66016
66214
|
humiditySensor: humiditySensorCapability,
|
|
66017
66215
|
image: imageCapability,
|
|
@@ -66737,6 +66935,12 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
66737
66935
|
provider: this
|
|
66738
66936
|
}];
|
|
66739
66937
|
}
|
|
66938
|
+
/** Flatten `super.onInitialize()` whether it returned an array or an envelope. */
|
|
66939
|
+
providerRegistrationsFromSuper(result) {
|
|
66940
|
+
if (Array.isArray(result)) return result;
|
|
66941
|
+
if (result !== void 0 && result.providers !== void 0) return [...result.providers];
|
|
66942
|
+
return [];
|
|
66943
|
+
}
|
|
66740
66944
|
async onShutdown() {
|
|
66741
66945
|
this._restoreShuttingDown = true;
|
|
66742
66946
|
this.cancelRestoreRetries();
|
|
@@ -67263,7 +67467,7 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
67263
67467
|
return toDeviceSummary(device, this.addonId);
|
|
67264
67468
|
}
|
|
67265
67469
|
};
|
|
67266
|
-
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;
|
|
67470
|
+
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;
|
|
67267
67471
|
new Set(Object.values(DeviceType));
|
|
67268
67472
|
Object.freeze({
|
|
67269
67473
|
"accessories.getStatus": {
|
|
@@ -69684,6 +69888,84 @@ Object.freeze({
|
|
|
69684
69888
|
addonId: null,
|
|
69685
69889
|
access: "view"
|
|
69686
69890
|
},
|
|
69891
|
+
"dishwasher.getStatus": {
|
|
69892
|
+
capName: "dishwasher",
|
|
69893
|
+
capScope: "device",
|
|
69894
|
+
addonId: null,
|
|
69895
|
+
access: "view"
|
|
69896
|
+
},
|
|
69897
|
+
"dishwasher.pause": {
|
|
69898
|
+
capName: "dishwasher",
|
|
69899
|
+
capScope: "device",
|
|
69900
|
+
addonId: null,
|
|
69901
|
+
access: "create"
|
|
69902
|
+
},
|
|
69903
|
+
"dishwasher.setChildLock": {
|
|
69904
|
+
capName: "dishwasher",
|
|
69905
|
+
capScope: "device",
|
|
69906
|
+
addonId: null,
|
|
69907
|
+
access: "create"
|
|
69908
|
+
},
|
|
69909
|
+
"dishwasher.setExtraDry": {
|
|
69910
|
+
capName: "dishwasher",
|
|
69911
|
+
capScope: "device",
|
|
69912
|
+
addonId: null,
|
|
69913
|
+
access: "create"
|
|
69914
|
+
},
|
|
69915
|
+
"dishwasher.setHalfLoad": {
|
|
69916
|
+
capName: "dishwasher",
|
|
69917
|
+
capScope: "device",
|
|
69918
|
+
addonId: null,
|
|
69919
|
+
access: "create"
|
|
69920
|
+
},
|
|
69921
|
+
"dishwasher.setHygienePlus": {
|
|
69922
|
+
capName: "dishwasher",
|
|
69923
|
+
capScope: "device",
|
|
69924
|
+
addonId: null,
|
|
69925
|
+
access: "create"
|
|
69926
|
+
},
|
|
69927
|
+
"dishwasher.setIntensiveZone": {
|
|
69928
|
+
capName: "dishwasher",
|
|
69929
|
+
capScope: "device",
|
|
69930
|
+
addonId: null,
|
|
69931
|
+
access: "create"
|
|
69932
|
+
},
|
|
69933
|
+
"dishwasher.setOption": {
|
|
69934
|
+
capName: "dishwasher",
|
|
69935
|
+
capScope: "device",
|
|
69936
|
+
addonId: null,
|
|
69937
|
+
access: "create"
|
|
69938
|
+
},
|
|
69939
|
+
"dishwasher.setPower": {
|
|
69940
|
+
capName: "dishwasher",
|
|
69941
|
+
capScope: "device",
|
|
69942
|
+
addonId: null,
|
|
69943
|
+
access: "create"
|
|
69944
|
+
},
|
|
69945
|
+
"dishwasher.setProgram": {
|
|
69946
|
+
capName: "dishwasher",
|
|
69947
|
+
capScope: "device",
|
|
69948
|
+
addonId: null,
|
|
69949
|
+
access: "create"
|
|
69950
|
+
},
|
|
69951
|
+
"dishwasher.setVarioSpeedPlus": {
|
|
69952
|
+
capName: "dishwasher",
|
|
69953
|
+
capScope: "device",
|
|
69954
|
+
addonId: null,
|
|
69955
|
+
access: "create"
|
|
69956
|
+
},
|
|
69957
|
+
"dishwasher.start": {
|
|
69958
|
+
capName: "dishwasher",
|
|
69959
|
+
capScope: "device",
|
|
69960
|
+
addonId: null,
|
|
69961
|
+
access: "create"
|
|
69962
|
+
},
|
|
69963
|
+
"dishwasher.stop": {
|
|
69964
|
+
capName: "dishwasher",
|
|
69965
|
+
capScope: "device",
|
|
69966
|
+
addonId: null,
|
|
69967
|
+
access: "create"
|
|
69968
|
+
},
|
|
69687
69969
|
"doorbell.getStatus": {
|
|
69688
69970
|
capName: "doorbell",
|
|
69689
69971
|
capScope: "device",
|
|
@@ -69894,6 +70176,12 @@ Object.freeze({
|
|
|
69894
70176
|
addonId: null,
|
|
69895
70177
|
access: "view"
|
|
69896
70178
|
},
|
|
70179
|
+
"heatingValve.getStatus": {
|
|
70180
|
+
capName: "heating-valve",
|
|
70181
|
+
capScope: "device",
|
|
70182
|
+
addonId: null,
|
|
70183
|
+
access: "view"
|
|
70184
|
+
},
|
|
69897
70185
|
"humidifier.getStatus": {
|
|
69898
70186
|
capName: "humidifier",
|
|
69899
70187
|
capScope: "device",
|
|
@@ -75481,7 +75769,7 @@ Object.freeze({
|
|
|
75481
75769
|
access: "create"
|
|
75482
75770
|
}
|
|
75483
75771
|
});
|
|
75484
|
-
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;
|
|
75772
|
+
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;
|
|
75485
75773
|
DeviceFeature.BatteryOperated;
|
|
75486
75774
|
Object.freeze({
|
|
75487
75775
|
"accessories.getStatus": [{
|
|
@@ -76305,6 +76593,71 @@ Object.freeze({
|
|
|
76305
76593
|
form: "single",
|
|
76306
76594
|
optional: false
|
|
76307
76595
|
}],
|
|
76596
|
+
"dishwasher.getStatus": [{
|
|
76597
|
+
name: "deviceId",
|
|
76598
|
+
form: "single",
|
|
76599
|
+
optional: false
|
|
76600
|
+
}],
|
|
76601
|
+
"dishwasher.pause": [{
|
|
76602
|
+
name: "deviceId",
|
|
76603
|
+
form: "single",
|
|
76604
|
+
optional: false
|
|
76605
|
+
}],
|
|
76606
|
+
"dishwasher.setChildLock": [{
|
|
76607
|
+
name: "deviceId",
|
|
76608
|
+
form: "single",
|
|
76609
|
+
optional: false
|
|
76610
|
+
}],
|
|
76611
|
+
"dishwasher.setExtraDry": [{
|
|
76612
|
+
name: "deviceId",
|
|
76613
|
+
form: "single",
|
|
76614
|
+
optional: false
|
|
76615
|
+
}],
|
|
76616
|
+
"dishwasher.setHalfLoad": [{
|
|
76617
|
+
name: "deviceId",
|
|
76618
|
+
form: "single",
|
|
76619
|
+
optional: false
|
|
76620
|
+
}],
|
|
76621
|
+
"dishwasher.setHygienePlus": [{
|
|
76622
|
+
name: "deviceId",
|
|
76623
|
+
form: "single",
|
|
76624
|
+
optional: false
|
|
76625
|
+
}],
|
|
76626
|
+
"dishwasher.setIntensiveZone": [{
|
|
76627
|
+
name: "deviceId",
|
|
76628
|
+
form: "single",
|
|
76629
|
+
optional: false
|
|
76630
|
+
}],
|
|
76631
|
+
"dishwasher.setOption": [{
|
|
76632
|
+
name: "deviceId",
|
|
76633
|
+
form: "single",
|
|
76634
|
+
optional: false
|
|
76635
|
+
}],
|
|
76636
|
+
"dishwasher.setPower": [{
|
|
76637
|
+
name: "deviceId",
|
|
76638
|
+
form: "single",
|
|
76639
|
+
optional: false
|
|
76640
|
+
}],
|
|
76641
|
+
"dishwasher.setProgram": [{
|
|
76642
|
+
name: "deviceId",
|
|
76643
|
+
form: "single",
|
|
76644
|
+
optional: false
|
|
76645
|
+
}],
|
|
76646
|
+
"dishwasher.setVarioSpeedPlus": [{
|
|
76647
|
+
name: "deviceId",
|
|
76648
|
+
form: "single",
|
|
76649
|
+
optional: false
|
|
76650
|
+
}],
|
|
76651
|
+
"dishwasher.start": [{
|
|
76652
|
+
name: "deviceId",
|
|
76653
|
+
form: "single",
|
|
76654
|
+
optional: false
|
|
76655
|
+
}],
|
|
76656
|
+
"dishwasher.stop": [{
|
|
76657
|
+
name: "deviceId",
|
|
76658
|
+
form: "single",
|
|
76659
|
+
optional: false
|
|
76660
|
+
}],
|
|
76308
76661
|
"doorbell.getStatus": [{
|
|
76309
76662
|
name: "deviceId",
|
|
76310
76663
|
form: "single",
|
|
@@ -76374,6 +76727,11 @@ Object.freeze({
|
|
|
76374
76727
|
form: "single",
|
|
76375
76728
|
optional: false
|
|
76376
76729
|
}],
|
|
76730
|
+
"heatingValve.getStatus": [{
|
|
76731
|
+
name: "deviceId",
|
|
76732
|
+
form: "single",
|
|
76733
|
+
optional: false
|
|
76734
|
+
}],
|
|
76377
76735
|
"humidifier.getStatus": [{
|
|
76378
76736
|
name: "deviceId",
|
|
76379
76737
|
form: "single",
|
|
@@ -122872,7 +123230,7 @@ var AlexaImportAddon = class extends BaseDeviceProvider {
|
|
|
122872
123230
|
super({ ...DEFAULTS });
|
|
122873
123231
|
}
|
|
122874
123232
|
async onInitialize() {
|
|
122875
|
-
const regs = await super.onInitialize();
|
|
123233
|
+
const regs = this.providerRegistrationsFromSuper(await super.onInitialize());
|
|
122876
123234
|
const records = this.ctx.records;
|
|
122877
123235
|
if (records === void 0) throw new Error("import-alexa: ctx.records is required (hub-only addon)");
|
|
122878
123236
|
await records.declare({ brokers: alexaBrokersEntryKind });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-import-alexa",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.129",
|
|
4
4
|
"description": "Alexa device-import provider for CamStack — imports the smart-home devices in a user's Alexa account via the unofficial alexa-remote2 cookie/token client (the inverse of the Alexa exporter)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|