@camstack/addon-matter-broker 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
|
@@ -5552,7 +5552,7 @@ var ZodIssueCode = {
|
|
|
5552
5552
|
var ZodFirstPartyTypeKind;
|
|
5553
5553
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5554
5554
|
//#endregion
|
|
5555
|
-
//#region ../types/dist/sleep-
|
|
5555
|
+
//#region ../types/dist/sleep-BegKjwUu.mjs
|
|
5556
5556
|
/**
|
|
5557
5557
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5558
5558
|
* window to float samples (D455).
|
|
@@ -8771,7 +8771,7 @@ object({
|
|
|
8771
8771
|
params: record(string$2(), union([string$2(), number()])).optional()
|
|
8772
8772
|
});
|
|
8773
8773
|
//#endregion
|
|
8774
|
-
//#region ../types/dist/err-msg
|
|
8774
|
+
//#region ../types/dist/err-msg-BXKzRBwg.mjs
|
|
8775
8775
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8776
8776
|
DeviceType["Camera"] = "camera";
|
|
8777
8777
|
DeviceType["Hub"] = "hub";
|
|
@@ -8863,6 +8863,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
|
8863
8863
|
* native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
|
|
8864
8864
|
* integrations sharing the same food/desiccant/hopper surface. */
|
|
8865
8865
|
DeviceType["PetFeeder"] = "pet-feeder";
|
|
8866
|
+
/** Built-in dishwasher — program lifecycle, door / remote-start gates,
|
|
8867
|
+
* salt and rinse-aid levels. Installed with the `dishwasher` cap.
|
|
8868
|
+
* Sources: native Bosch Home Connect, reusable by similar integrations. */
|
|
8869
|
+
DeviceType["Dishwasher"] = "dishwasher";
|
|
8866
8870
|
return DeviceType;
|
|
8867
8871
|
}({});
|
|
8868
8872
|
var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
|
|
@@ -9120,7 +9124,7 @@ function errMsg(err) {
|
|
|
9120
9124
|
return String(err);
|
|
9121
9125
|
}
|
|
9122
9126
|
//#endregion
|
|
9123
|
-
//#region ../types/dist/composition-
|
|
9127
|
+
//#region ../types/dist/composition-CB6PMT9p.mjs
|
|
9124
9128
|
/**
|
|
9125
9129
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
9126
9130
|
*
|
|
@@ -13506,8 +13510,13 @@ var AlertSeveritySchema = _enum([
|
|
|
13506
13510
|
"info",
|
|
13507
13511
|
"success",
|
|
13508
13512
|
"warning",
|
|
13509
|
-
"error"
|
|
13513
|
+
"error",
|
|
13514
|
+
"critical"
|
|
13510
13515
|
]);
|
|
13516
|
+
var AlertActionSchema = object({
|
|
13517
|
+
label: string$2(),
|
|
13518
|
+
href: string$2().optional()
|
|
13519
|
+
});
|
|
13511
13520
|
var AlertStatusSchema = _enum([
|
|
13512
13521
|
"active",
|
|
13513
13522
|
"in-progress",
|
|
@@ -13525,6 +13534,7 @@ var AlertSchema = object({
|
|
|
13525
13534
|
severity: AlertSeveritySchema,
|
|
13526
13535
|
title: string$2(),
|
|
13527
13536
|
message: string$2(),
|
|
13537
|
+
action: AlertActionSchema.optional(),
|
|
13528
13538
|
status: AlertStatusSchema,
|
|
13529
13539
|
progress: number().optional(),
|
|
13530
13540
|
read: boolean(),
|
|
@@ -17935,7 +17945,11 @@ var deviceDiscoveryCapability = {
|
|
|
17935
17945
|
};
|
|
17936
17946
|
/**
|
|
17937
17947
|
* `device-adoption` — generic discovery + adoption surface,
|
|
17938
|
-
* system-scoped
|
|
17948
|
+
* system-scoped collection (one provider per integration addon), routed
|
|
17949
|
+
* by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
|
|
17950
|
+
* pin model as `connection-test`. The admin UI keeps using
|
|
17951
|
+
* `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
|
|
17952
|
+
* successor to `ha-discovery`:
|
|
17939
17953
|
* keyed by `integrationId` (the addon resolves integrationId → broker
|
|
17940
17954
|
* internally) rather than a connection-specific `brokerId`, and it
|
|
17941
17955
|
* REUSES the shared `DiscoveredChildDevice` candidate type from
|
|
@@ -18100,7 +18114,7 @@ var ResyncResultSchema = object({
|
|
|
18100
18114
|
var deviceAdoptionCapability = {
|
|
18101
18115
|
name: "device-adoption",
|
|
18102
18116
|
scope: "system",
|
|
18103
|
-
mode: "
|
|
18117
|
+
mode: "collection",
|
|
18104
18118
|
status: {
|
|
18105
18119
|
schema: AdoptionStatusSchema,
|
|
18106
18120
|
kind: "poll"
|
|
@@ -54132,7 +54146,8 @@ var batteryCapability = {
|
|
|
54132
54146
|
DeviceType.Button,
|
|
54133
54147
|
DeviceType.Switch,
|
|
54134
54148
|
DeviceType.PetFeeder,
|
|
54135
|
-
DeviceType.Container
|
|
54149
|
+
DeviceType.Container,
|
|
54150
|
+
DeviceType.Thermostat
|
|
54136
54151
|
],
|
|
54137
54152
|
methods: {
|
|
54138
54153
|
/**
|
|
@@ -55622,6 +55637,161 @@ onStatusChanged: { data: object({
|
|
|
55622
55637
|
* whether persisting is worth a SQLite commit. */
|
|
55623
55638
|
volatileStateFields: ["lastChangedAt"]
|
|
55624
55639
|
};
|
|
55640
|
+
/**
|
|
55641
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates,
|
|
55642
|
+
* consumable levels (salt, rinse aid) and common program options.
|
|
55643
|
+
*
|
|
55644
|
+
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
55645
|
+
* by any integration that exposes the same program / option surface.
|
|
55646
|
+
*
|
|
55647
|
+
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
55648
|
+
* provider refreshes the slice on an interval and eagerly after commands.
|
|
55649
|
+
*/
|
|
55650
|
+
var DishwasherStateSchema = _enum([
|
|
55651
|
+
"idle",
|
|
55652
|
+
"running",
|
|
55653
|
+
"paused",
|
|
55654
|
+
"finished",
|
|
55655
|
+
"error",
|
|
55656
|
+
"unavailable"
|
|
55657
|
+
]);
|
|
55658
|
+
var DishwasherConsumableLevelSchema = _enum([
|
|
55659
|
+
"ok",
|
|
55660
|
+
"low",
|
|
55661
|
+
"empty"
|
|
55662
|
+
]);
|
|
55663
|
+
var DishwasherStatusSchema = object({
|
|
55664
|
+
state: DishwasherStateSchema,
|
|
55665
|
+
/** Active program id/name, or null when none selected / unknown. */
|
|
55666
|
+
program: string$2().nullable(),
|
|
55667
|
+
/** Program tokens the hardware accepts — drives the UI selector. */
|
|
55668
|
+
availablePrograms: array(string$2()),
|
|
55669
|
+
/** Minutes remaining on the active cycle, or null when not running. */
|
|
55670
|
+
remainingMinutes: number().int().nonnegative().nullable(),
|
|
55671
|
+
/** Cycle completion 0..100, or null when not applicable. */
|
|
55672
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
55673
|
+
/** True when the door is reported open. */
|
|
55674
|
+
doorOpen: boolean(),
|
|
55675
|
+
/** True when remote start is allowed (door closed, power on, etc.). */
|
|
55676
|
+
remoteStartAllowed: boolean(),
|
|
55677
|
+
/** Main power / switched-on state. */
|
|
55678
|
+
powerOn: boolean(),
|
|
55679
|
+
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55680
|
+
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55681
|
+
halfLoad: boolean(),
|
|
55682
|
+
hygienePlus: boolean(),
|
|
55683
|
+
/** Extra dry option when the appliance exposes it. */
|
|
55684
|
+
extraDry: boolean(),
|
|
55685
|
+
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
55686
|
+
intensiveZone: boolean(),
|
|
55687
|
+
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
55688
|
+
varioSpeedPlus: boolean(),
|
|
55689
|
+
/** Child lock (controls disabled on the appliance). */
|
|
55690
|
+
childLock: boolean(),
|
|
55691
|
+
errorCode: number().nullable(),
|
|
55692
|
+
errorLabel: string$2().nullable(),
|
|
55693
|
+
lastFetchedAt: number()
|
|
55694
|
+
});
|
|
55695
|
+
var dishwasherCapability = {
|
|
55696
|
+
name: "dishwasher",
|
|
55697
|
+
scope: "device",
|
|
55698
|
+
deviceNative: true,
|
|
55699
|
+
mode: "singleton",
|
|
55700
|
+
deviceTypes: [DeviceType.Dishwasher],
|
|
55701
|
+
methods: {
|
|
55702
|
+
start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
55703
|
+
kind: "mutation",
|
|
55704
|
+
auth: "protected"
|
|
55705
|
+
}),
|
|
55706
|
+
pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
55707
|
+
kind: "mutation",
|
|
55708
|
+
auth: "protected"
|
|
55709
|
+
}),
|
|
55710
|
+
stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
55711
|
+
kind: "mutation",
|
|
55712
|
+
auth: "protected"
|
|
55713
|
+
}),
|
|
55714
|
+
setProgram: method(object({
|
|
55715
|
+
deviceId: number().int().nonnegative(),
|
|
55716
|
+
program: string$2().min(1)
|
|
55717
|
+
}), _void(), {
|
|
55718
|
+
kind: "mutation",
|
|
55719
|
+
auth: "protected"
|
|
55720
|
+
}),
|
|
55721
|
+
setPower: method(object({
|
|
55722
|
+
deviceId: number().int().nonnegative(),
|
|
55723
|
+
on: boolean()
|
|
55724
|
+
}), _void(), {
|
|
55725
|
+
kind: "mutation",
|
|
55726
|
+
auth: "protected"
|
|
55727
|
+
}),
|
|
55728
|
+
setHalfLoad: method(object({
|
|
55729
|
+
deviceId: number().int().nonnegative(),
|
|
55730
|
+
on: boolean()
|
|
55731
|
+
}), _void(), {
|
|
55732
|
+
kind: "mutation",
|
|
55733
|
+
auth: "protected"
|
|
55734
|
+
}),
|
|
55735
|
+
setHygienePlus: method(object({
|
|
55736
|
+
deviceId: number().int().nonnegative(),
|
|
55737
|
+
on: boolean()
|
|
55738
|
+
}), _void(), {
|
|
55739
|
+
kind: "mutation",
|
|
55740
|
+
auth: "protected"
|
|
55741
|
+
}),
|
|
55742
|
+
setExtraDry: method(object({
|
|
55743
|
+
deviceId: number().int().nonnegative(),
|
|
55744
|
+
on: boolean()
|
|
55745
|
+
}), _void(), {
|
|
55746
|
+
kind: "mutation",
|
|
55747
|
+
auth: "protected"
|
|
55748
|
+
}),
|
|
55749
|
+
setIntensiveZone: method(object({
|
|
55750
|
+
deviceId: number().int().nonnegative(),
|
|
55751
|
+
on: boolean()
|
|
55752
|
+
}), _void(), {
|
|
55753
|
+
kind: "mutation",
|
|
55754
|
+
auth: "protected"
|
|
55755
|
+
}),
|
|
55756
|
+
setVarioSpeedPlus: method(object({
|
|
55757
|
+
deviceId: number().int().nonnegative(),
|
|
55758
|
+
on: boolean()
|
|
55759
|
+
}), _void(), {
|
|
55760
|
+
kind: "mutation",
|
|
55761
|
+
auth: "protected"
|
|
55762
|
+
}),
|
|
55763
|
+
setChildLock: method(object({
|
|
55764
|
+
deviceId: number().int().nonnegative(),
|
|
55765
|
+
on: boolean()
|
|
55766
|
+
}), _void(), {
|
|
55767
|
+
kind: "mutation",
|
|
55768
|
+
auth: "protected"
|
|
55769
|
+
}),
|
|
55770
|
+
setOption: method(object({
|
|
55771
|
+
deviceId: number().int().nonnegative(),
|
|
55772
|
+
key: string$2().min(1),
|
|
55773
|
+
value: union([
|
|
55774
|
+
boolean(),
|
|
55775
|
+
string$2(),
|
|
55776
|
+
number()
|
|
55777
|
+
])
|
|
55778
|
+
}), _void(), {
|
|
55779
|
+
kind: "mutation",
|
|
55780
|
+
auth: "protected"
|
|
55781
|
+
})
|
|
55782
|
+
},
|
|
55783
|
+
status: {
|
|
55784
|
+
schema: DishwasherStatusSchema,
|
|
55785
|
+
kind: "poll"
|
|
55786
|
+
},
|
|
55787
|
+
runtimeState: DishwasherStatusSchema,
|
|
55788
|
+
durability: "session",
|
|
55789
|
+
history: { fields: { progressPercent: {
|
|
55790
|
+
kind: "gauge",
|
|
55791
|
+
unit: "%",
|
|
55792
|
+
deadband: 2
|
|
55793
|
+
} } }
|
|
55794
|
+
};
|
|
55625
55795
|
var DoorbellStatusSchema = object({
|
|
55626
55796
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
55627
55797
|
lastPressedAt: number().nullable(),
|
|
@@ -56424,6 +56594,32 @@ var gasCapability = {
|
|
|
56424
56594
|
* whether persisting is worth a SQLite commit. */
|
|
56425
56595
|
volatileStateFields: ["lastChangedAt"]
|
|
56426
56596
|
};
|
|
56597
|
+
var HeatingValveStatusSchema = object({
|
|
56598
|
+
/** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
|
|
56599
|
+
position: number().min(0).max(100).nullable(),
|
|
56600
|
+
/** Ms epoch when the slice was last updated (push or poll). */
|
|
56601
|
+
lastFetchedAt: number()
|
|
56602
|
+
});
|
|
56603
|
+
var heatingValveCapability = {
|
|
56604
|
+
name: "heating-valve",
|
|
56605
|
+
scope: "device",
|
|
56606
|
+
deviceNative: true,
|
|
56607
|
+
mode: "singleton",
|
|
56608
|
+
deviceTypes: [DeviceType.Thermostat],
|
|
56609
|
+
methods: {},
|
|
56610
|
+
status: {
|
|
56611
|
+
schema: HeatingValveStatusSchema,
|
|
56612
|
+
kind: "push"
|
|
56613
|
+
},
|
|
56614
|
+
runtimeState: HeatingValveStatusSchema,
|
|
56615
|
+
durability: "session",
|
|
56616
|
+
history: { fields: { position: {
|
|
56617
|
+
kind: "gauge",
|
|
56618
|
+
unit: "%",
|
|
56619
|
+
deadband: 1
|
|
56620
|
+
} } },
|
|
56621
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
56622
|
+
};
|
|
56427
56623
|
/**
|
|
56428
56624
|
* Humidifier / dehumidifier cap. Models HA `humidifier.*` entities —
|
|
56429
56625
|
* an on/off actuator with an optional target-humidity setpoint and an
|
|
@@ -65844,6 +66040,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
65844
66040
|
dayNight: dayNightCapability,
|
|
65845
66041
|
deviceDiscovery: deviceDiscoveryCapability,
|
|
65846
66042
|
deviceStatus: deviceStatusCapability,
|
|
66043
|
+
dishwasher: dishwasherCapability,
|
|
65847
66044
|
doorbell: doorbellCapability,
|
|
65848
66045
|
enumSensor: enumSensorCapability,
|
|
65849
66046
|
eventEmitter: eventEmitterCapability,
|
|
@@ -65851,6 +66048,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
65851
66048
|
featureProbe: featureProbeCapability,
|
|
65852
66049
|
flood: floodCapability,
|
|
65853
66050
|
gas: gasCapability,
|
|
66051
|
+
heatingValve: heatingValveCapability,
|
|
65854
66052
|
humidifier: humidifierCapability,
|
|
65855
66053
|
humiditySensor: humiditySensorCapability,
|
|
65856
66054
|
image: imageCapability,
|
|
@@ -66576,6 +66774,12 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
66576
66774
|
provider: this
|
|
66577
66775
|
}];
|
|
66578
66776
|
}
|
|
66777
|
+
/** Flatten `super.onInitialize()` whether it returned an array or an envelope. */
|
|
66778
|
+
providerRegistrationsFromSuper(result) {
|
|
66779
|
+
if (Array.isArray(result)) return result;
|
|
66780
|
+
if (result !== void 0 && result.providers !== void 0) return [...result.providers];
|
|
66781
|
+
return [];
|
|
66782
|
+
}
|
|
66579
66783
|
async onShutdown() {
|
|
66580
66784
|
this._restoreShuttingDown = true;
|
|
66581
66785
|
this.cancelRestoreRetries();
|
|
@@ -67102,7 +67306,7 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
67102
67306
|
return toDeviceSummary(device, this.addonId);
|
|
67103
67307
|
}
|
|
67104
67308
|
};
|
|
67105
|
-
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;
|
|
67309
|
+
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;
|
|
67106
67310
|
new Set(Object.values(DeviceType));
|
|
67107
67311
|
Object.freeze({
|
|
67108
67312
|
"accessories.getStatus": {
|
|
@@ -69523,6 +69727,84 @@ Object.freeze({
|
|
|
69523
69727
|
addonId: null,
|
|
69524
69728
|
access: "view"
|
|
69525
69729
|
},
|
|
69730
|
+
"dishwasher.getStatus": {
|
|
69731
|
+
capName: "dishwasher",
|
|
69732
|
+
capScope: "device",
|
|
69733
|
+
addonId: null,
|
|
69734
|
+
access: "view"
|
|
69735
|
+
},
|
|
69736
|
+
"dishwasher.pause": {
|
|
69737
|
+
capName: "dishwasher",
|
|
69738
|
+
capScope: "device",
|
|
69739
|
+
addonId: null,
|
|
69740
|
+
access: "create"
|
|
69741
|
+
},
|
|
69742
|
+
"dishwasher.setChildLock": {
|
|
69743
|
+
capName: "dishwasher",
|
|
69744
|
+
capScope: "device",
|
|
69745
|
+
addonId: null,
|
|
69746
|
+
access: "create"
|
|
69747
|
+
},
|
|
69748
|
+
"dishwasher.setExtraDry": {
|
|
69749
|
+
capName: "dishwasher",
|
|
69750
|
+
capScope: "device",
|
|
69751
|
+
addonId: null,
|
|
69752
|
+
access: "create"
|
|
69753
|
+
},
|
|
69754
|
+
"dishwasher.setHalfLoad": {
|
|
69755
|
+
capName: "dishwasher",
|
|
69756
|
+
capScope: "device",
|
|
69757
|
+
addonId: null,
|
|
69758
|
+
access: "create"
|
|
69759
|
+
},
|
|
69760
|
+
"dishwasher.setHygienePlus": {
|
|
69761
|
+
capName: "dishwasher",
|
|
69762
|
+
capScope: "device",
|
|
69763
|
+
addonId: null,
|
|
69764
|
+
access: "create"
|
|
69765
|
+
},
|
|
69766
|
+
"dishwasher.setIntensiveZone": {
|
|
69767
|
+
capName: "dishwasher",
|
|
69768
|
+
capScope: "device",
|
|
69769
|
+
addonId: null,
|
|
69770
|
+
access: "create"
|
|
69771
|
+
},
|
|
69772
|
+
"dishwasher.setOption": {
|
|
69773
|
+
capName: "dishwasher",
|
|
69774
|
+
capScope: "device",
|
|
69775
|
+
addonId: null,
|
|
69776
|
+
access: "create"
|
|
69777
|
+
},
|
|
69778
|
+
"dishwasher.setPower": {
|
|
69779
|
+
capName: "dishwasher",
|
|
69780
|
+
capScope: "device",
|
|
69781
|
+
addonId: null,
|
|
69782
|
+
access: "create"
|
|
69783
|
+
},
|
|
69784
|
+
"dishwasher.setProgram": {
|
|
69785
|
+
capName: "dishwasher",
|
|
69786
|
+
capScope: "device",
|
|
69787
|
+
addonId: null,
|
|
69788
|
+
access: "create"
|
|
69789
|
+
},
|
|
69790
|
+
"dishwasher.setVarioSpeedPlus": {
|
|
69791
|
+
capName: "dishwasher",
|
|
69792
|
+
capScope: "device",
|
|
69793
|
+
addonId: null,
|
|
69794
|
+
access: "create"
|
|
69795
|
+
},
|
|
69796
|
+
"dishwasher.start": {
|
|
69797
|
+
capName: "dishwasher",
|
|
69798
|
+
capScope: "device",
|
|
69799
|
+
addonId: null,
|
|
69800
|
+
access: "create"
|
|
69801
|
+
},
|
|
69802
|
+
"dishwasher.stop": {
|
|
69803
|
+
capName: "dishwasher",
|
|
69804
|
+
capScope: "device",
|
|
69805
|
+
addonId: null,
|
|
69806
|
+
access: "create"
|
|
69807
|
+
},
|
|
69526
69808
|
"doorbell.getStatus": {
|
|
69527
69809
|
capName: "doorbell",
|
|
69528
69810
|
capScope: "device",
|
|
@@ -69733,6 +70015,12 @@ Object.freeze({
|
|
|
69733
70015
|
addonId: null,
|
|
69734
70016
|
access: "view"
|
|
69735
70017
|
},
|
|
70018
|
+
"heatingValve.getStatus": {
|
|
70019
|
+
capName: "heating-valve",
|
|
70020
|
+
capScope: "device",
|
|
70021
|
+
addonId: null,
|
|
70022
|
+
access: "view"
|
|
70023
|
+
},
|
|
69736
70024
|
"humidifier.getStatus": {
|
|
69737
70025
|
capName: "humidifier",
|
|
69738
70026
|
capScope: "device",
|
|
@@ -75320,7 +75608,7 @@ Object.freeze({
|
|
|
75320
75608
|
access: "create"
|
|
75321
75609
|
}
|
|
75322
75610
|
});
|
|
75323
|
-
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;
|
|
75611
|
+
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;
|
|
75324
75612
|
DeviceFeature.BatteryOperated;
|
|
75325
75613
|
Object.freeze({
|
|
75326
75614
|
"accessories.getStatus": [{
|
|
@@ -76144,6 +76432,71 @@ Object.freeze({
|
|
|
76144
76432
|
form: "single",
|
|
76145
76433
|
optional: false
|
|
76146
76434
|
}],
|
|
76435
|
+
"dishwasher.getStatus": [{
|
|
76436
|
+
name: "deviceId",
|
|
76437
|
+
form: "single",
|
|
76438
|
+
optional: false
|
|
76439
|
+
}],
|
|
76440
|
+
"dishwasher.pause": [{
|
|
76441
|
+
name: "deviceId",
|
|
76442
|
+
form: "single",
|
|
76443
|
+
optional: false
|
|
76444
|
+
}],
|
|
76445
|
+
"dishwasher.setChildLock": [{
|
|
76446
|
+
name: "deviceId",
|
|
76447
|
+
form: "single",
|
|
76448
|
+
optional: false
|
|
76449
|
+
}],
|
|
76450
|
+
"dishwasher.setExtraDry": [{
|
|
76451
|
+
name: "deviceId",
|
|
76452
|
+
form: "single",
|
|
76453
|
+
optional: false
|
|
76454
|
+
}],
|
|
76455
|
+
"dishwasher.setHalfLoad": [{
|
|
76456
|
+
name: "deviceId",
|
|
76457
|
+
form: "single",
|
|
76458
|
+
optional: false
|
|
76459
|
+
}],
|
|
76460
|
+
"dishwasher.setHygienePlus": [{
|
|
76461
|
+
name: "deviceId",
|
|
76462
|
+
form: "single",
|
|
76463
|
+
optional: false
|
|
76464
|
+
}],
|
|
76465
|
+
"dishwasher.setIntensiveZone": [{
|
|
76466
|
+
name: "deviceId",
|
|
76467
|
+
form: "single",
|
|
76468
|
+
optional: false
|
|
76469
|
+
}],
|
|
76470
|
+
"dishwasher.setOption": [{
|
|
76471
|
+
name: "deviceId",
|
|
76472
|
+
form: "single",
|
|
76473
|
+
optional: false
|
|
76474
|
+
}],
|
|
76475
|
+
"dishwasher.setPower": [{
|
|
76476
|
+
name: "deviceId",
|
|
76477
|
+
form: "single",
|
|
76478
|
+
optional: false
|
|
76479
|
+
}],
|
|
76480
|
+
"dishwasher.setProgram": [{
|
|
76481
|
+
name: "deviceId",
|
|
76482
|
+
form: "single",
|
|
76483
|
+
optional: false
|
|
76484
|
+
}],
|
|
76485
|
+
"dishwasher.setVarioSpeedPlus": [{
|
|
76486
|
+
name: "deviceId",
|
|
76487
|
+
form: "single",
|
|
76488
|
+
optional: false
|
|
76489
|
+
}],
|
|
76490
|
+
"dishwasher.start": [{
|
|
76491
|
+
name: "deviceId",
|
|
76492
|
+
form: "single",
|
|
76493
|
+
optional: false
|
|
76494
|
+
}],
|
|
76495
|
+
"dishwasher.stop": [{
|
|
76496
|
+
name: "deviceId",
|
|
76497
|
+
form: "single",
|
|
76498
|
+
optional: false
|
|
76499
|
+
}],
|
|
76147
76500
|
"doorbell.getStatus": [{
|
|
76148
76501
|
name: "deviceId",
|
|
76149
76502
|
form: "single",
|
|
@@ -76213,6 +76566,11 @@ Object.freeze({
|
|
|
76213
76566
|
form: "single",
|
|
76214
76567
|
optional: false
|
|
76215
76568
|
}],
|
|
76569
|
+
"heatingValve.getStatus": [{
|
|
76570
|
+
name: "deviceId",
|
|
76571
|
+
form: "single",
|
|
76572
|
+
optional: false
|
|
76573
|
+
}],
|
|
76216
76574
|
"humidifier.getStatus": [{
|
|
76217
76575
|
name: "deviceId",
|
|
76218
76576
|
form: "single",
|
|
@@ -190137,7 +190495,7 @@ var MatterBrokerAddon = class extends BaseDeviceProvider {
|
|
|
190137
190495
|
super({ ...DEFAULTS });
|
|
190138
190496
|
}
|
|
190139
190497
|
async onInitialize() {
|
|
190140
|
-
const regs = await super.onInitialize();
|
|
190498
|
+
const regs = this.providerRegistrationsFromSuper(await super.onInitialize());
|
|
190141
190499
|
const records = this.ctx.records;
|
|
190142
190500
|
if (records === void 0) throw new Error("matter-broker: ctx.records is required (hub-only addon)");
|
|
190143
190501
|
await records.declare({ brokers: matterBrokersEntryKind });
|
package/dist/addon.mjs
CHANGED
|
@@ -5550,7 +5550,7 @@ var ZodIssueCode = {
|
|
|
5550
5550
|
var ZodFirstPartyTypeKind;
|
|
5551
5551
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5552
5552
|
//#endregion
|
|
5553
|
-
//#region ../types/dist/sleep-
|
|
5553
|
+
//#region ../types/dist/sleep-BegKjwUu.mjs
|
|
5554
5554
|
/**
|
|
5555
5555
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5556
5556
|
* window to float samples (D455).
|
|
@@ -8769,7 +8769,7 @@ object({
|
|
|
8769
8769
|
params: record(string$2(), union([string$2(), number()])).optional()
|
|
8770
8770
|
});
|
|
8771
8771
|
//#endregion
|
|
8772
|
-
//#region ../types/dist/err-msg
|
|
8772
|
+
//#region ../types/dist/err-msg-BXKzRBwg.mjs
|
|
8773
8773
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8774
8774
|
DeviceType["Camera"] = "camera";
|
|
8775
8775
|
DeviceType["Hub"] = "hub";
|
|
@@ -8861,6 +8861,10 @@ var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
|
8861
8861
|
* native PetKit (`nodepetkit` `FeederDevice`), reusable by other feeder
|
|
8862
8862
|
* integrations sharing the same food/desiccant/hopper surface. */
|
|
8863
8863
|
DeviceType["PetFeeder"] = "pet-feeder";
|
|
8864
|
+
/** Built-in dishwasher — program lifecycle, door / remote-start gates,
|
|
8865
|
+
* salt and rinse-aid levels. Installed with the `dishwasher` cap.
|
|
8866
|
+
* Sources: native Bosch Home Connect, reusable by similar integrations. */
|
|
8867
|
+
DeviceType["Dishwasher"] = "dishwasher";
|
|
8864
8868
|
return DeviceType;
|
|
8865
8869
|
}({});
|
|
8866
8870
|
var DeviceFeature = /* @__PURE__ */ function(DeviceFeature) {
|
|
@@ -9118,7 +9122,7 @@ function errMsg(err) {
|
|
|
9118
9122
|
return String(err);
|
|
9119
9123
|
}
|
|
9120
9124
|
//#endregion
|
|
9121
|
-
//#region ../types/dist/composition-
|
|
9125
|
+
//#region ../types/dist/composition-CB6PMT9p.mjs
|
|
9122
9126
|
/**
|
|
9123
9127
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
9124
9128
|
*
|
|
@@ -13504,8 +13508,13 @@ var AlertSeveritySchema = _enum([
|
|
|
13504
13508
|
"info",
|
|
13505
13509
|
"success",
|
|
13506
13510
|
"warning",
|
|
13507
|
-
"error"
|
|
13511
|
+
"error",
|
|
13512
|
+
"critical"
|
|
13508
13513
|
]);
|
|
13514
|
+
var AlertActionSchema = object({
|
|
13515
|
+
label: string$2(),
|
|
13516
|
+
href: string$2().optional()
|
|
13517
|
+
});
|
|
13509
13518
|
var AlertStatusSchema = _enum([
|
|
13510
13519
|
"active",
|
|
13511
13520
|
"in-progress",
|
|
@@ -13523,6 +13532,7 @@ var AlertSchema = object({
|
|
|
13523
13532
|
severity: AlertSeveritySchema,
|
|
13524
13533
|
title: string$2(),
|
|
13525
13534
|
message: string$2(),
|
|
13535
|
+
action: AlertActionSchema.optional(),
|
|
13526
13536
|
status: AlertStatusSchema,
|
|
13527
13537
|
progress: number().optional(),
|
|
13528
13538
|
read: boolean(),
|
|
@@ -17933,7 +17943,11 @@ var deviceDiscoveryCapability = {
|
|
|
17933
17943
|
};
|
|
17934
17944
|
/**
|
|
17935
17945
|
* `device-adoption` — generic discovery + adoption surface,
|
|
17936
|
-
* system-scoped
|
|
17946
|
+
* system-scoped collection (one provider per integration addon), routed
|
|
17947
|
+
* by explicit `{ addonId }` on direct `deviceAdoption.*` calls — the same
|
|
17948
|
+
* pin model as `connection-test`. The admin UI keeps using
|
|
17949
|
+
* `deviceManager.adoption*` (which already threads `addonId`). The de-HA-ified
|
|
17950
|
+
* successor to `ha-discovery`:
|
|
17937
17951
|
* keyed by `integrationId` (the addon resolves integrationId → broker
|
|
17938
17952
|
* internally) rather than a connection-specific `brokerId`, and it
|
|
17939
17953
|
* REUSES the shared `DiscoveredChildDevice` candidate type from
|
|
@@ -18098,7 +18112,7 @@ var ResyncResultSchema = object({
|
|
|
18098
18112
|
var deviceAdoptionCapability = {
|
|
18099
18113
|
name: "device-adoption",
|
|
18100
18114
|
scope: "system",
|
|
18101
|
-
mode: "
|
|
18115
|
+
mode: "collection",
|
|
18102
18116
|
status: {
|
|
18103
18117
|
schema: AdoptionStatusSchema,
|
|
18104
18118
|
kind: "poll"
|
|
@@ -54130,7 +54144,8 @@ var batteryCapability = {
|
|
|
54130
54144
|
DeviceType.Button,
|
|
54131
54145
|
DeviceType.Switch,
|
|
54132
54146
|
DeviceType.PetFeeder,
|
|
54133
|
-
DeviceType.Container
|
|
54147
|
+
DeviceType.Container,
|
|
54148
|
+
DeviceType.Thermostat
|
|
54134
54149
|
],
|
|
54135
54150
|
methods: {
|
|
54136
54151
|
/**
|
|
@@ -55620,6 +55635,161 @@ onStatusChanged: { data: object({
|
|
|
55620
55635
|
* whether persisting is worth a SQLite commit. */
|
|
55621
55636
|
volatileStateFields: ["lastChangedAt"]
|
|
55622
55637
|
};
|
|
55638
|
+
/**
|
|
55639
|
+
* Smart-dishwasher cap — program lifecycle, door / remote-start gates,
|
|
55640
|
+
* consumable levels (salt, rinse aid) and common program options.
|
|
55641
|
+
*
|
|
55642
|
+
* Sources: native Bosch Home Connect (`dishwasher` device type). Reusable
|
|
55643
|
+
* by any integration that exposes the same program / option surface.
|
|
55644
|
+
*
|
|
55645
|
+
* `kind: 'poll'` — cloud REST APIs typically have no push channel; the
|
|
55646
|
+
* provider refreshes the slice on an interval and eagerly after commands.
|
|
55647
|
+
*/
|
|
55648
|
+
var DishwasherStateSchema = _enum([
|
|
55649
|
+
"idle",
|
|
55650
|
+
"running",
|
|
55651
|
+
"paused",
|
|
55652
|
+
"finished",
|
|
55653
|
+
"error",
|
|
55654
|
+
"unavailable"
|
|
55655
|
+
]);
|
|
55656
|
+
var DishwasherConsumableLevelSchema = _enum([
|
|
55657
|
+
"ok",
|
|
55658
|
+
"low",
|
|
55659
|
+
"empty"
|
|
55660
|
+
]);
|
|
55661
|
+
var DishwasherStatusSchema = object({
|
|
55662
|
+
state: DishwasherStateSchema,
|
|
55663
|
+
/** Active program id/name, or null when none selected / unknown. */
|
|
55664
|
+
program: string$2().nullable(),
|
|
55665
|
+
/** Program tokens the hardware accepts — drives the UI selector. */
|
|
55666
|
+
availablePrograms: array(string$2()),
|
|
55667
|
+
/** Minutes remaining on the active cycle, or null when not running. */
|
|
55668
|
+
remainingMinutes: number().int().nonnegative().nullable(),
|
|
55669
|
+
/** Cycle completion 0..100, or null when not applicable. */
|
|
55670
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
55671
|
+
/** True when the door is reported open. */
|
|
55672
|
+
doorOpen: boolean(),
|
|
55673
|
+
/** True when remote start is allowed (door closed, power on, etc.). */
|
|
55674
|
+
remoteStartAllowed: boolean(),
|
|
55675
|
+
/** Main power / switched-on state. */
|
|
55676
|
+
powerOn: boolean(),
|
|
55677
|
+
saltLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55678
|
+
rinseAidLevel: DishwasherConsumableLevelSchema.nullable(),
|
|
55679
|
+
halfLoad: boolean(),
|
|
55680
|
+
hygienePlus: boolean(),
|
|
55681
|
+
/** Extra dry option when the appliance exposes it. */
|
|
55682
|
+
extraDry: boolean(),
|
|
55683
|
+
/** Intensive zone (lower basket) when the appliance exposes it. */
|
|
55684
|
+
intensiveZone: boolean(),
|
|
55685
|
+
/** VarioSpeed / VarioSpeed+ when the appliance exposes it. */
|
|
55686
|
+
varioSpeedPlus: boolean(),
|
|
55687
|
+
/** Child lock (controls disabled on the appliance). */
|
|
55688
|
+
childLock: boolean(),
|
|
55689
|
+
errorCode: number().nullable(),
|
|
55690
|
+
errorLabel: string$2().nullable(),
|
|
55691
|
+
lastFetchedAt: number()
|
|
55692
|
+
});
|
|
55693
|
+
var dishwasherCapability = {
|
|
55694
|
+
name: "dishwasher",
|
|
55695
|
+
scope: "device",
|
|
55696
|
+
deviceNative: true,
|
|
55697
|
+
mode: "singleton",
|
|
55698
|
+
deviceTypes: [DeviceType.Dishwasher],
|
|
55699
|
+
methods: {
|
|
55700
|
+
start: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
55701
|
+
kind: "mutation",
|
|
55702
|
+
auth: "protected"
|
|
55703
|
+
}),
|
|
55704
|
+
pause: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
55705
|
+
kind: "mutation",
|
|
55706
|
+
auth: "protected"
|
|
55707
|
+
}),
|
|
55708
|
+
stop: method(object({ deviceId: number().int().nonnegative() }), _void(), {
|
|
55709
|
+
kind: "mutation",
|
|
55710
|
+
auth: "protected"
|
|
55711
|
+
}),
|
|
55712
|
+
setProgram: method(object({
|
|
55713
|
+
deviceId: number().int().nonnegative(),
|
|
55714
|
+
program: string$2().min(1)
|
|
55715
|
+
}), _void(), {
|
|
55716
|
+
kind: "mutation",
|
|
55717
|
+
auth: "protected"
|
|
55718
|
+
}),
|
|
55719
|
+
setPower: method(object({
|
|
55720
|
+
deviceId: number().int().nonnegative(),
|
|
55721
|
+
on: boolean()
|
|
55722
|
+
}), _void(), {
|
|
55723
|
+
kind: "mutation",
|
|
55724
|
+
auth: "protected"
|
|
55725
|
+
}),
|
|
55726
|
+
setHalfLoad: method(object({
|
|
55727
|
+
deviceId: number().int().nonnegative(),
|
|
55728
|
+
on: boolean()
|
|
55729
|
+
}), _void(), {
|
|
55730
|
+
kind: "mutation",
|
|
55731
|
+
auth: "protected"
|
|
55732
|
+
}),
|
|
55733
|
+
setHygienePlus: method(object({
|
|
55734
|
+
deviceId: number().int().nonnegative(),
|
|
55735
|
+
on: boolean()
|
|
55736
|
+
}), _void(), {
|
|
55737
|
+
kind: "mutation",
|
|
55738
|
+
auth: "protected"
|
|
55739
|
+
}),
|
|
55740
|
+
setExtraDry: method(object({
|
|
55741
|
+
deviceId: number().int().nonnegative(),
|
|
55742
|
+
on: boolean()
|
|
55743
|
+
}), _void(), {
|
|
55744
|
+
kind: "mutation",
|
|
55745
|
+
auth: "protected"
|
|
55746
|
+
}),
|
|
55747
|
+
setIntensiveZone: method(object({
|
|
55748
|
+
deviceId: number().int().nonnegative(),
|
|
55749
|
+
on: boolean()
|
|
55750
|
+
}), _void(), {
|
|
55751
|
+
kind: "mutation",
|
|
55752
|
+
auth: "protected"
|
|
55753
|
+
}),
|
|
55754
|
+
setVarioSpeedPlus: method(object({
|
|
55755
|
+
deviceId: number().int().nonnegative(),
|
|
55756
|
+
on: boolean()
|
|
55757
|
+
}), _void(), {
|
|
55758
|
+
kind: "mutation",
|
|
55759
|
+
auth: "protected"
|
|
55760
|
+
}),
|
|
55761
|
+
setChildLock: method(object({
|
|
55762
|
+
deviceId: number().int().nonnegative(),
|
|
55763
|
+
on: boolean()
|
|
55764
|
+
}), _void(), {
|
|
55765
|
+
kind: "mutation",
|
|
55766
|
+
auth: "protected"
|
|
55767
|
+
}),
|
|
55768
|
+
setOption: method(object({
|
|
55769
|
+
deviceId: number().int().nonnegative(),
|
|
55770
|
+
key: string$2().min(1),
|
|
55771
|
+
value: union([
|
|
55772
|
+
boolean(),
|
|
55773
|
+
string$2(),
|
|
55774
|
+
number()
|
|
55775
|
+
])
|
|
55776
|
+
}), _void(), {
|
|
55777
|
+
kind: "mutation",
|
|
55778
|
+
auth: "protected"
|
|
55779
|
+
})
|
|
55780
|
+
},
|
|
55781
|
+
status: {
|
|
55782
|
+
schema: DishwasherStatusSchema,
|
|
55783
|
+
kind: "poll"
|
|
55784
|
+
},
|
|
55785
|
+
runtimeState: DishwasherStatusSchema,
|
|
55786
|
+
durability: "session",
|
|
55787
|
+
history: { fields: { progressPercent: {
|
|
55788
|
+
kind: "gauge",
|
|
55789
|
+
unit: "%",
|
|
55790
|
+
deadband: 2
|
|
55791
|
+
} } }
|
|
55792
|
+
};
|
|
55623
55793
|
var DoorbellStatusSchema = object({
|
|
55624
55794
|
/** Ms epoch of the last press. null = never observed since this provider started. */
|
|
55625
55795
|
lastPressedAt: number().nullable(),
|
|
@@ -56422,6 +56592,32 @@ var gasCapability = {
|
|
|
56422
56592
|
* whether persisting is worth a SQLite commit. */
|
|
56423
56593
|
volatileStateFields: ["lastChangedAt"]
|
|
56424
56594
|
};
|
|
56595
|
+
var HeatingValveStatusSchema = object({
|
|
56596
|
+
/** Radiator valve opening 0 (closed) .. 100 (open). Null = not yet known. */
|
|
56597
|
+
position: number().min(0).max(100).nullable(),
|
|
56598
|
+
/** Ms epoch when the slice was last updated (push or poll). */
|
|
56599
|
+
lastFetchedAt: number()
|
|
56600
|
+
});
|
|
56601
|
+
var heatingValveCapability = {
|
|
56602
|
+
name: "heating-valve",
|
|
56603
|
+
scope: "device",
|
|
56604
|
+
deviceNative: true,
|
|
56605
|
+
mode: "singleton",
|
|
56606
|
+
deviceTypes: [DeviceType.Thermostat],
|
|
56607
|
+
methods: {},
|
|
56608
|
+
status: {
|
|
56609
|
+
schema: HeatingValveStatusSchema,
|
|
56610
|
+
kind: "push"
|
|
56611
|
+
},
|
|
56612
|
+
runtimeState: HeatingValveStatusSchema,
|
|
56613
|
+
durability: "session",
|
|
56614
|
+
history: { fields: { position: {
|
|
56615
|
+
kind: "gauge",
|
|
56616
|
+
unit: "%",
|
|
56617
|
+
deadband: 1
|
|
56618
|
+
} } },
|
|
56619
|
+
volatileStateFields: ["lastFetchedAt"]
|
|
56620
|
+
};
|
|
56425
56621
|
/**
|
|
56426
56622
|
* Humidifier / dehumidifier cap. Models HA `humidifier.*` entities —
|
|
56427
56623
|
* an on/off actuator with an optional target-humidity setpoint and an
|
|
@@ -65842,6 +66038,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
65842
66038
|
dayNight: dayNightCapability,
|
|
65843
66039
|
deviceDiscovery: deviceDiscoveryCapability,
|
|
65844
66040
|
deviceStatus: deviceStatusCapability,
|
|
66041
|
+
dishwasher: dishwasherCapability,
|
|
65845
66042
|
doorbell: doorbellCapability,
|
|
65846
66043
|
enumSensor: enumSensorCapability,
|
|
65847
66044
|
eventEmitter: eventEmitterCapability,
|
|
@@ -65849,6 +66046,7 @@ var DEVICE_LOCAL_STATE_CAPS = {
|
|
|
65849
66046
|
featureProbe: featureProbeCapability,
|
|
65850
66047
|
flood: floodCapability,
|
|
65851
66048
|
gas: gasCapability,
|
|
66049
|
+
heatingValve: heatingValveCapability,
|
|
65852
66050
|
humidifier: humidifierCapability,
|
|
65853
66051
|
humiditySensor: humiditySensorCapability,
|
|
65854
66052
|
image: imageCapability,
|
|
@@ -66574,6 +66772,12 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
66574
66772
|
provider: this
|
|
66575
66773
|
}];
|
|
66576
66774
|
}
|
|
66775
|
+
/** Flatten `super.onInitialize()` whether it returned an array or an envelope. */
|
|
66776
|
+
providerRegistrationsFromSuper(result) {
|
|
66777
|
+
if (Array.isArray(result)) return result;
|
|
66778
|
+
if (result !== void 0 && result.providers !== void 0) return [...result.providers];
|
|
66779
|
+
return [];
|
|
66780
|
+
}
|
|
66577
66781
|
async onShutdown() {
|
|
66578
66782
|
this._restoreShuttingDown = true;
|
|
66579
66783
|
this.cancelRestoreRetries();
|
|
@@ -67100,7 +67304,7 @@ var BaseDeviceProvider = class extends BaseAddon {
|
|
|
67100
67304
|
return toDeviceSummary(device, this.addonId);
|
|
67101
67305
|
}
|
|
67102
67306
|
};
|
|
67103
|
-
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;
|
|
67307
|
+
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;
|
|
67104
67308
|
new Set(Object.values(DeviceType));
|
|
67105
67309
|
Object.freeze({
|
|
67106
67310
|
"accessories.getStatus": {
|
|
@@ -69521,6 +69725,84 @@ Object.freeze({
|
|
|
69521
69725
|
addonId: null,
|
|
69522
69726
|
access: "view"
|
|
69523
69727
|
},
|
|
69728
|
+
"dishwasher.getStatus": {
|
|
69729
|
+
capName: "dishwasher",
|
|
69730
|
+
capScope: "device",
|
|
69731
|
+
addonId: null,
|
|
69732
|
+
access: "view"
|
|
69733
|
+
},
|
|
69734
|
+
"dishwasher.pause": {
|
|
69735
|
+
capName: "dishwasher",
|
|
69736
|
+
capScope: "device",
|
|
69737
|
+
addonId: null,
|
|
69738
|
+
access: "create"
|
|
69739
|
+
},
|
|
69740
|
+
"dishwasher.setChildLock": {
|
|
69741
|
+
capName: "dishwasher",
|
|
69742
|
+
capScope: "device",
|
|
69743
|
+
addonId: null,
|
|
69744
|
+
access: "create"
|
|
69745
|
+
},
|
|
69746
|
+
"dishwasher.setExtraDry": {
|
|
69747
|
+
capName: "dishwasher",
|
|
69748
|
+
capScope: "device",
|
|
69749
|
+
addonId: null,
|
|
69750
|
+
access: "create"
|
|
69751
|
+
},
|
|
69752
|
+
"dishwasher.setHalfLoad": {
|
|
69753
|
+
capName: "dishwasher",
|
|
69754
|
+
capScope: "device",
|
|
69755
|
+
addonId: null,
|
|
69756
|
+
access: "create"
|
|
69757
|
+
},
|
|
69758
|
+
"dishwasher.setHygienePlus": {
|
|
69759
|
+
capName: "dishwasher",
|
|
69760
|
+
capScope: "device",
|
|
69761
|
+
addonId: null,
|
|
69762
|
+
access: "create"
|
|
69763
|
+
},
|
|
69764
|
+
"dishwasher.setIntensiveZone": {
|
|
69765
|
+
capName: "dishwasher",
|
|
69766
|
+
capScope: "device",
|
|
69767
|
+
addonId: null,
|
|
69768
|
+
access: "create"
|
|
69769
|
+
},
|
|
69770
|
+
"dishwasher.setOption": {
|
|
69771
|
+
capName: "dishwasher",
|
|
69772
|
+
capScope: "device",
|
|
69773
|
+
addonId: null,
|
|
69774
|
+
access: "create"
|
|
69775
|
+
},
|
|
69776
|
+
"dishwasher.setPower": {
|
|
69777
|
+
capName: "dishwasher",
|
|
69778
|
+
capScope: "device",
|
|
69779
|
+
addonId: null,
|
|
69780
|
+
access: "create"
|
|
69781
|
+
},
|
|
69782
|
+
"dishwasher.setProgram": {
|
|
69783
|
+
capName: "dishwasher",
|
|
69784
|
+
capScope: "device",
|
|
69785
|
+
addonId: null,
|
|
69786
|
+
access: "create"
|
|
69787
|
+
},
|
|
69788
|
+
"dishwasher.setVarioSpeedPlus": {
|
|
69789
|
+
capName: "dishwasher",
|
|
69790
|
+
capScope: "device",
|
|
69791
|
+
addonId: null,
|
|
69792
|
+
access: "create"
|
|
69793
|
+
},
|
|
69794
|
+
"dishwasher.start": {
|
|
69795
|
+
capName: "dishwasher",
|
|
69796
|
+
capScope: "device",
|
|
69797
|
+
addonId: null,
|
|
69798
|
+
access: "create"
|
|
69799
|
+
},
|
|
69800
|
+
"dishwasher.stop": {
|
|
69801
|
+
capName: "dishwasher",
|
|
69802
|
+
capScope: "device",
|
|
69803
|
+
addonId: null,
|
|
69804
|
+
access: "create"
|
|
69805
|
+
},
|
|
69524
69806
|
"doorbell.getStatus": {
|
|
69525
69807
|
capName: "doorbell",
|
|
69526
69808
|
capScope: "device",
|
|
@@ -69731,6 +70013,12 @@ Object.freeze({
|
|
|
69731
70013
|
addonId: null,
|
|
69732
70014
|
access: "view"
|
|
69733
70015
|
},
|
|
70016
|
+
"heatingValve.getStatus": {
|
|
70017
|
+
capName: "heating-valve",
|
|
70018
|
+
capScope: "device",
|
|
70019
|
+
addonId: null,
|
|
70020
|
+
access: "view"
|
|
70021
|
+
},
|
|
69734
70022
|
"humidifier.getStatus": {
|
|
69735
70023
|
capName: "humidifier",
|
|
69736
70024
|
capScope: "device",
|
|
@@ -75318,7 +75606,7 @@ Object.freeze({
|
|
|
75318
75606
|
access: "create"
|
|
75319
75607
|
}
|
|
75320
75608
|
});
|
|
75321
|
-
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;
|
|
75609
|
+
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;
|
|
75322
75610
|
DeviceFeature.BatteryOperated;
|
|
75323
75611
|
Object.freeze({
|
|
75324
75612
|
"accessories.getStatus": [{
|
|
@@ -76142,6 +76430,71 @@ Object.freeze({
|
|
|
76142
76430
|
form: "single",
|
|
76143
76431
|
optional: false
|
|
76144
76432
|
}],
|
|
76433
|
+
"dishwasher.getStatus": [{
|
|
76434
|
+
name: "deviceId",
|
|
76435
|
+
form: "single",
|
|
76436
|
+
optional: false
|
|
76437
|
+
}],
|
|
76438
|
+
"dishwasher.pause": [{
|
|
76439
|
+
name: "deviceId",
|
|
76440
|
+
form: "single",
|
|
76441
|
+
optional: false
|
|
76442
|
+
}],
|
|
76443
|
+
"dishwasher.setChildLock": [{
|
|
76444
|
+
name: "deviceId",
|
|
76445
|
+
form: "single",
|
|
76446
|
+
optional: false
|
|
76447
|
+
}],
|
|
76448
|
+
"dishwasher.setExtraDry": [{
|
|
76449
|
+
name: "deviceId",
|
|
76450
|
+
form: "single",
|
|
76451
|
+
optional: false
|
|
76452
|
+
}],
|
|
76453
|
+
"dishwasher.setHalfLoad": [{
|
|
76454
|
+
name: "deviceId",
|
|
76455
|
+
form: "single",
|
|
76456
|
+
optional: false
|
|
76457
|
+
}],
|
|
76458
|
+
"dishwasher.setHygienePlus": [{
|
|
76459
|
+
name: "deviceId",
|
|
76460
|
+
form: "single",
|
|
76461
|
+
optional: false
|
|
76462
|
+
}],
|
|
76463
|
+
"dishwasher.setIntensiveZone": [{
|
|
76464
|
+
name: "deviceId",
|
|
76465
|
+
form: "single",
|
|
76466
|
+
optional: false
|
|
76467
|
+
}],
|
|
76468
|
+
"dishwasher.setOption": [{
|
|
76469
|
+
name: "deviceId",
|
|
76470
|
+
form: "single",
|
|
76471
|
+
optional: false
|
|
76472
|
+
}],
|
|
76473
|
+
"dishwasher.setPower": [{
|
|
76474
|
+
name: "deviceId",
|
|
76475
|
+
form: "single",
|
|
76476
|
+
optional: false
|
|
76477
|
+
}],
|
|
76478
|
+
"dishwasher.setProgram": [{
|
|
76479
|
+
name: "deviceId",
|
|
76480
|
+
form: "single",
|
|
76481
|
+
optional: false
|
|
76482
|
+
}],
|
|
76483
|
+
"dishwasher.setVarioSpeedPlus": [{
|
|
76484
|
+
name: "deviceId",
|
|
76485
|
+
form: "single",
|
|
76486
|
+
optional: false
|
|
76487
|
+
}],
|
|
76488
|
+
"dishwasher.start": [{
|
|
76489
|
+
name: "deviceId",
|
|
76490
|
+
form: "single",
|
|
76491
|
+
optional: false
|
|
76492
|
+
}],
|
|
76493
|
+
"dishwasher.stop": [{
|
|
76494
|
+
name: "deviceId",
|
|
76495
|
+
form: "single",
|
|
76496
|
+
optional: false
|
|
76497
|
+
}],
|
|
76145
76498
|
"doorbell.getStatus": [{
|
|
76146
76499
|
name: "deviceId",
|
|
76147
76500
|
form: "single",
|
|
@@ -76211,6 +76564,11 @@ Object.freeze({
|
|
|
76211
76564
|
form: "single",
|
|
76212
76565
|
optional: false
|
|
76213
76566
|
}],
|
|
76567
|
+
"heatingValve.getStatus": [{
|
|
76568
|
+
name: "deviceId",
|
|
76569
|
+
form: "single",
|
|
76570
|
+
optional: false
|
|
76571
|
+
}],
|
|
76214
76572
|
"humidifier.getStatus": [{
|
|
76215
76573
|
name: "deviceId",
|
|
76216
76574
|
form: "single",
|
|
@@ -190135,7 +190493,7 @@ var MatterBrokerAddon = class extends BaseDeviceProvider {
|
|
|
190135
190493
|
super({ ...DEFAULTS });
|
|
190136
190494
|
}
|
|
190137
190495
|
async onInitialize() {
|
|
190138
|
-
const regs = await super.onInitialize();
|
|
190496
|
+
const regs = this.providerRegistrationsFromSuper(await super.onInitialize());
|
|
190139
190497
|
const records = this.ctx.records;
|
|
190140
190498
|
if (records === void 0) throw new Error("matter-broker: ctx.records is required (hub-only addon)");
|
|
190141
190499
|
await records.declare({ brokers: matterBrokersEntryKind });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-matter-broker",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.129",
|
|
4
4
|
"description": "Matter broker addon for CamStack — owns a Matter fabric (commissioning + the long-lived controller) via the matter.js controller and brokers commissioned Matter nodes into CamStack",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|