homebridge 2.0.0-alpha.60 → 2.0.0-alpha.62
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/api.d.ts +16 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +9 -8
- package/dist/api.js.map +1 -1
- package/dist/childBridgeFork.d.ts.map +1 -1
- package/dist/childBridgeFork.js +9 -1
- package/dist/childBridgeFork.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -21
- package/dist/index.js.map +1 -1
- package/dist/matter/matterBehaviors.d.ts +14 -6
- package/dist/matter/matterBehaviors.d.ts.map +1 -1
- package/dist/matter/matterBehaviors.js +72 -105
- package/dist/matter/matterBehaviors.js.map +1 -1
- package/dist/matter/matterServer.d.ts +5 -4
- package/dist/matter/matterServer.d.ts.map +1 -1
- package/dist/matter/matterServer.js +15 -192
- package/dist/matter/matterServer.js.map +1 -1
- package/dist/matter/matterServerHelpers.d.ts +70 -0
- package/dist/matter/matterServerHelpers.d.ts.map +1 -0
- package/dist/matter/matterServerHelpers.js +298 -0
- package/dist/matter/matterServerHelpers.js.map +1 -0
- package/dist/matter/matterTypes.d.ts +54 -0
- package/dist/matter/matterTypes.d.ts.map +1 -1
- package/dist/matter/matterTypes.js +23 -0
- package/dist/matter/matterTypes.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper functions for MatterServer.registerAccessory()
|
|
3
|
+
* Extracted from the monolithic 521-line function for better maintainability
|
|
4
|
+
*/
|
|
5
|
+
import { WindowCoveringServer } from '@matter/main/behaviors';
|
|
6
|
+
import * as clusters from '@matter/main/clusters';
|
|
7
|
+
import * as devices from '@matter/main/devices';
|
|
8
|
+
import { Logger } from '../logger.js';
|
|
9
|
+
import { HomebridgeColorControlServer, HomebridgeDoorLockServer, HomebridgeIdentifyServer, HomebridgeLevelControlServer, HomebridgeOnOffServer, HomebridgeRvcCleanModeServer, HomebridgeRvcOperationalStateServer, HomebridgeRvcRunModeServer, HomebridgeServiceAreaServer, HomebridgeThermostatServer, HomebridgeWindowCoveringServer, } from './matterBehaviors.js';
|
|
10
|
+
import { MatterDeviceError } from './matterTypes.js';
|
|
11
|
+
const log = Logger.withPrefix('Matter/Server');
|
|
12
|
+
/**
|
|
13
|
+
* Cluster IDs from Matter specification
|
|
14
|
+
* Using Matter.js Cluster references instead of magic numbers
|
|
15
|
+
*/
|
|
16
|
+
export const CLUSTER_IDS = {
|
|
17
|
+
COLOR_CONTROL: clusters.ColorControl.Cluster.id,
|
|
18
|
+
THERMOSTAT: clusters.Thermostat.Cluster.id,
|
|
19
|
+
WINDOW_COVERING: clusters.WindowCovering.Cluster.id,
|
|
20
|
+
DOOR_LOCK: clusters.DoorLock.Cluster.id,
|
|
21
|
+
ON_OFF: clusters.OnOff.Cluster.id,
|
|
22
|
+
LEVEL_CONTROL: clusters.LevelControl.Cluster.id,
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Validates required fields on a Matter accessory
|
|
26
|
+
* @throws MatterDeviceError if validation fails
|
|
27
|
+
*/
|
|
28
|
+
export function validateAccessoryRequiredFields(accessory) {
|
|
29
|
+
if (!accessory.deviceType) {
|
|
30
|
+
throw new MatterDeviceError(`Matter accessory "${accessory.displayName || 'unknown'}" is missing required field 'deviceType'. `
|
|
31
|
+
+ 'Example: deviceType: api.matter.deviceTypes.OnOffLight\n'
|
|
32
|
+
+ 'Available device types: OnOffLight, DimmableLight, TemperatureSensor, etc.\n'
|
|
33
|
+
+ 'See the Matter types documentation for the full list.');
|
|
34
|
+
}
|
|
35
|
+
if (!accessory.uuid) {
|
|
36
|
+
throw new MatterDeviceError('Matter accessory is missing required field \'uuid\'.\n'
|
|
37
|
+
+ 'Generate a unique UUID for your accessory:\n'
|
|
38
|
+
+ ' const uuid = api.hap.uuid.generate(\'my-unique-id\')');
|
|
39
|
+
}
|
|
40
|
+
if (!accessory.displayName) {
|
|
41
|
+
throw new MatterDeviceError(`Matter accessory (${accessory.uuid}) is missing required field 'displayName'.\n`
|
|
42
|
+
+ 'Example: displayName: \'Living Room Light\'');
|
|
43
|
+
}
|
|
44
|
+
if (!accessory.serialNumber) {
|
|
45
|
+
throw new MatterDeviceError(`Matter accessory "${accessory.displayName}" is missing required field 'serialNumber'.\n`
|
|
46
|
+
+ 'Example: serialNumber: \'ABC123\' or serialNumber: accessory.UUID');
|
|
47
|
+
}
|
|
48
|
+
if (!accessory.manufacturer) {
|
|
49
|
+
throw new MatterDeviceError(`Matter accessory "${accessory.displayName}" is missing required field 'manufacturer'.\n`
|
|
50
|
+
+ 'Example: manufacturer: \'Homebridge\' or manufacturer: \'My Plugin Name\'');
|
|
51
|
+
}
|
|
52
|
+
if (!accessory.model) {
|
|
53
|
+
throw new MatterDeviceError(`Matter accessory "${accessory.displayName}" is missing required field 'model'.\n`
|
|
54
|
+
+ 'Example: model: \'v1.0\' or model: \'Smart Light\'');
|
|
55
|
+
}
|
|
56
|
+
if (!accessory.clusters || typeof accessory.clusters !== 'object') {
|
|
57
|
+
throw new MatterDeviceError(`Matter accessory "${accessory.displayName}" is missing or has invalid 'clusters' field.\n`
|
|
58
|
+
+ 'Clusters define the functionality of your device. Example:\n'
|
|
59
|
+
+ ' clusters: {\n'
|
|
60
|
+
+ ' onOff: { onOff: false },\n'
|
|
61
|
+
+ ' levelControl: { currentLevel: 0, minLevel: 0, maxLevel: 254 }\n'
|
|
62
|
+
+ ' }');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Convert device type behaviors to array
|
|
67
|
+
* Handles array, Set, object, or iterable formats
|
|
68
|
+
*/
|
|
69
|
+
function convertBehaviorsToArray(behaviors) {
|
|
70
|
+
if (Array.isArray(behaviors)) {
|
|
71
|
+
return behaviors;
|
|
72
|
+
}
|
|
73
|
+
if (typeof behaviors === 'object' && behaviors !== null) {
|
|
74
|
+
const values = Object.values(behaviors);
|
|
75
|
+
if (values.length > 0) {
|
|
76
|
+
return values;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
return Array.from(behaviors);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Find a specific behavior by cluster ID or name
|
|
88
|
+
*/
|
|
89
|
+
function findBehaviorByCluster(behaviors, clusterIdOrName) {
|
|
90
|
+
return behaviors.find((behavior) => {
|
|
91
|
+
if (typeof clusterIdOrName === 'number') {
|
|
92
|
+
return behavior.cluster?.id === clusterIdOrName;
|
|
93
|
+
}
|
|
94
|
+
return behavior.id === clusterIdOrName;
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Generic feature detection from device type behaviors
|
|
99
|
+
*
|
|
100
|
+
* @param deviceType - The Matter device type
|
|
101
|
+
* @param clusterIdOrName - Cluster ID (number) or name (string)
|
|
102
|
+
* @param featureExtractor - Function to extract feature names from supportedFeatures
|
|
103
|
+
* @returns Array of detected features or null if cluster not found
|
|
104
|
+
*/
|
|
105
|
+
export function detectBehaviorFeatures(deviceType, clusterIdOrName, featureExtractor) {
|
|
106
|
+
const deviceTypeDef = deviceType;
|
|
107
|
+
const existingBehaviors = deviceTypeDef.behaviors;
|
|
108
|
+
if (!existingBehaviors) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
const behaviorsArray = convertBehaviorsToArray(existingBehaviors);
|
|
112
|
+
const behavior = findBehaviorByCluster(behaviorsArray, clusterIdOrName);
|
|
113
|
+
if (!behavior?.cluster?.supportedFeatures) {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
return featureExtractor(behavior.cluster.supportedFeatures);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Extract ColorControl features from supportedFeatures
|
|
120
|
+
*/
|
|
121
|
+
export function extractColorControlFeatures(supportedFeatures) {
|
|
122
|
+
const features = [];
|
|
123
|
+
if (supportedFeatures.hueSaturation) {
|
|
124
|
+
features.push('HueSaturation');
|
|
125
|
+
}
|
|
126
|
+
if (supportedFeatures.xy) {
|
|
127
|
+
features.push('Xy');
|
|
128
|
+
}
|
|
129
|
+
if (supportedFeatures.colorTemperature) {
|
|
130
|
+
features.push('ColorTemperature');
|
|
131
|
+
}
|
|
132
|
+
return features;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Extract Thermostat features from supportedFeatures
|
|
136
|
+
*/
|
|
137
|
+
export function extractThermostatFeatures(supportedFeatures) {
|
|
138
|
+
const features = [];
|
|
139
|
+
if (supportedFeatures.heating) {
|
|
140
|
+
features.push('Heating');
|
|
141
|
+
}
|
|
142
|
+
if (supportedFeatures.cooling) {
|
|
143
|
+
features.push('Cooling');
|
|
144
|
+
}
|
|
145
|
+
if (supportedFeatures.occupancy) {
|
|
146
|
+
features.push('Occupancy');
|
|
147
|
+
}
|
|
148
|
+
if (supportedFeatures.autoMode) {
|
|
149
|
+
features.push('AutoMode');
|
|
150
|
+
}
|
|
151
|
+
return features;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Determine ColorControl features based on handlers
|
|
155
|
+
* Only includes features that have corresponding handler methods
|
|
156
|
+
*/
|
|
157
|
+
export function determineColorControlFeaturesFromHandlers(handlers) {
|
|
158
|
+
const features = [];
|
|
159
|
+
if ('moveToHueAndSaturationLogic' in handlers) {
|
|
160
|
+
features.push('HueSaturation');
|
|
161
|
+
}
|
|
162
|
+
if ('moveToColorLogic' in handlers) {
|
|
163
|
+
features.push('Xy');
|
|
164
|
+
}
|
|
165
|
+
if ('moveToColorTemperatureLogic' in handlers) {
|
|
166
|
+
features.push('ColorTemperature');
|
|
167
|
+
}
|
|
168
|
+
return features;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Detect WindowCovering features from accessory attributes
|
|
172
|
+
*/
|
|
173
|
+
export function detectWindowCoveringFeatures(accessory) {
|
|
174
|
+
const features = [];
|
|
175
|
+
const wcCluster = accessory.clusters.windowCovering;
|
|
176
|
+
if (!wcCluster) {
|
|
177
|
+
return features;
|
|
178
|
+
}
|
|
179
|
+
const hasLiftAttrs = 'targetPositionLiftPercent100ths' in wcCluster
|
|
180
|
+
|| 'currentPositionLiftPercent100ths' in wcCluster;
|
|
181
|
+
const configStatus = wcCluster.configStatus;
|
|
182
|
+
const hasConfigLift = configStatus?.liftPositionAware === true;
|
|
183
|
+
const hasTiltAttrs = 'targetPositionTiltPercent100ths' in wcCluster
|
|
184
|
+
|| 'currentPositionTiltPercent100ths' in wcCluster;
|
|
185
|
+
const hasConfigTilt = configStatus?.tiltPositionAware === true;
|
|
186
|
+
log.debug(`[${accessory.displayName}] WindowCovering detection: `
|
|
187
|
+
+ `hasLiftAttrs=${hasLiftAttrs}, hasConfigLift=${hasConfigLift}, `
|
|
188
|
+
+ `hasTiltAttrs=${hasTiltAttrs}, hasConfigTilt=${hasConfigTilt}`);
|
|
189
|
+
if (hasLiftAttrs) {
|
|
190
|
+
features.push('Lift');
|
|
191
|
+
if (hasConfigLift) {
|
|
192
|
+
features.push('PositionAwareLift');
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (hasTiltAttrs) {
|
|
196
|
+
features.push('Tilt');
|
|
197
|
+
if (hasConfigTilt) {
|
|
198
|
+
features.push('PositionAwareTilt');
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return features;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Detect ServiceArea features from cluster attributes
|
|
205
|
+
*/
|
|
206
|
+
export function detectServiceAreaFeatures(serviceAreaCluster) {
|
|
207
|
+
const features = [];
|
|
208
|
+
if (!serviceAreaCluster) {
|
|
209
|
+
return features;
|
|
210
|
+
}
|
|
211
|
+
if ('supportedMaps' in serviceAreaCluster) {
|
|
212
|
+
features.push('Maps');
|
|
213
|
+
}
|
|
214
|
+
if ('progress' in serviceAreaCluster) {
|
|
215
|
+
features.push('ProgressReporting');
|
|
216
|
+
}
|
|
217
|
+
return features;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Apply WindowCovering features to device type
|
|
221
|
+
*/
|
|
222
|
+
export function applyWindowCoveringFeatures(deviceType, accessory, features) {
|
|
223
|
+
if (features.length === 0) {
|
|
224
|
+
log.warn(`⚠️ No WindowCovering features detected for ${accessory.displayName}!`);
|
|
225
|
+
return deviceType;
|
|
226
|
+
}
|
|
227
|
+
log.info(`Auto-detected WindowCovering features for ${accessory.displayName}: ${features.join(', ')}`);
|
|
228
|
+
const modifiedDeviceType = deviceType.with(WindowCoveringServer.with(...features));
|
|
229
|
+
const hasTiltFeatures = features.includes('Tilt');
|
|
230
|
+
if (hasTiltFeatures) {
|
|
231
|
+
const wcCluster = accessory.clusters.windowCovering;
|
|
232
|
+
wcCluster.type = 8; // TiltBlindLift
|
|
233
|
+
log.debug('Set WindowCovering type to 8 (TiltBlindLift) for tilt-capable device');
|
|
234
|
+
}
|
|
235
|
+
if (!accessory.context) {
|
|
236
|
+
accessory.context = {};
|
|
237
|
+
}
|
|
238
|
+
accessory.context._skipWindowCoveringBehavior = true;
|
|
239
|
+
return modifiedDeviceType;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Get the behavior map for custom cluster handlers
|
|
243
|
+
*/
|
|
244
|
+
export function getBehaviorMap() {
|
|
245
|
+
return {
|
|
246
|
+
onOff: HomebridgeOnOffServer,
|
|
247
|
+
levelControl: HomebridgeLevelControlServer,
|
|
248
|
+
colorControl: HomebridgeColorControlServer,
|
|
249
|
+
windowCovering: HomebridgeWindowCoveringServer,
|
|
250
|
+
doorLock: HomebridgeDoorLockServer,
|
|
251
|
+
thermostat: HomebridgeThermostatServer,
|
|
252
|
+
rvcOperationalState: HomebridgeRvcOperationalStateServer,
|
|
253
|
+
rvcRunMode: HomebridgeRvcRunModeServer,
|
|
254
|
+
rvcCleanMode: HomebridgeRvcCleanModeServer,
|
|
255
|
+
serviceArea: HomebridgeServiceAreaServer,
|
|
256
|
+
identify: HomebridgeIdentifyServer,
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Build custom behaviors for RoboticVacuumCleaner devices
|
|
261
|
+
*/
|
|
262
|
+
export function buildRvcCustomBehaviors(accessory, serviceAreaFeatures) {
|
|
263
|
+
const customBehaviors = [];
|
|
264
|
+
const { RvcCleanModeServer, ServiceAreaServer } = devices.RoboticVacuumCleanerRequirements;
|
|
265
|
+
if (accessory.clusters?.rvcCleanMode) {
|
|
266
|
+
if (accessory.handlers?.rvcCleanMode) {
|
|
267
|
+
customBehaviors.push(HomebridgeRvcCleanModeServer);
|
|
268
|
+
log.info('Adding custom RvcCleanMode behavior with handlers');
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
customBehaviors.push(RvcCleanModeServer);
|
|
272
|
+
log.info('Adding base RvcCleanMode server');
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
if (accessory.clusters?.serviceArea) {
|
|
276
|
+
let behaviorClass = accessory.handlers?.serviceArea
|
|
277
|
+
? HomebridgeServiceAreaServer
|
|
278
|
+
: ServiceAreaServer;
|
|
279
|
+
if (serviceAreaFeatures && serviceAreaFeatures.length > 0) {
|
|
280
|
+
behaviorClass = behaviorClass.with(...serviceAreaFeatures);
|
|
281
|
+
log.info(`ServiceArea ${accessory.handlers?.serviceArea ? 'custom behavior' : 'base server'} will have features: ${serviceAreaFeatures.join(', ')}`);
|
|
282
|
+
}
|
|
283
|
+
customBehaviors.push(behaviorClass);
|
|
284
|
+
}
|
|
285
|
+
return customBehaviors;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Apply detected features to a behavior class
|
|
289
|
+
*/
|
|
290
|
+
export function applyFeaturesToBehavior(behaviorClass, features, clusterName) {
|
|
291
|
+
if (!features || features.length === 0) {
|
|
292
|
+
return behaviorClass;
|
|
293
|
+
}
|
|
294
|
+
const modifiedBehavior = behaviorClass.with(...features);
|
|
295
|
+
log.info(`${clusterName} custom behavior will preserve features: ${features.join(', ')}`);
|
|
296
|
+
return modifiedBehavior;
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=matterServerHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matterServerHelpers.js","sourceRoot":"","sources":["../../src/matter/matterServerHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -609,4 +609,58 @@ export declare const clusterNames: {
|
|
|
609
609
|
* Provides type safety for cluster name strings
|
|
610
610
|
*/
|
|
611
611
|
export type MatterClusterName = typeof clusterNames[keyof typeof clusterNames];
|
|
612
|
+
/**
|
|
613
|
+
* Internal Matter accessory with endpoint reference
|
|
614
|
+
* Used in MatterServer to track registered accessories
|
|
615
|
+
*/
|
|
616
|
+
export interface InternalMatterAccessory extends MatterAccessory {
|
|
617
|
+
/** Plugin identifier that registered this accessory */
|
|
618
|
+
_associatedPlugin?: string;
|
|
619
|
+
/** Platform name that registered this accessory */
|
|
620
|
+
_associatedPlatform?: string;
|
|
621
|
+
/** Matter.js endpoint instance */
|
|
622
|
+
endpoint?: Endpoint;
|
|
623
|
+
/** Whether this accessory is currently registered */
|
|
624
|
+
registered: boolean;
|
|
625
|
+
}
|
|
626
|
+
/**
|
|
627
|
+
* Type-safe accessory map for MatterServer
|
|
628
|
+
*/
|
|
629
|
+
export type MatterAccessoryMap = Map<string, InternalMatterAccessory>;
|
|
630
|
+
/**
|
|
631
|
+
* Check if endpoint has state property (runtime check)
|
|
632
|
+
*/
|
|
633
|
+
export declare function hasEndpointState(endpoint: Endpoint): boolean;
|
|
634
|
+
/**
|
|
635
|
+
* Safely update endpoint state
|
|
636
|
+
* Uses the Endpoint's set method to update cluster attributes
|
|
637
|
+
*/
|
|
638
|
+
export declare function updateEndpointState(endpoint: Endpoint, cluster: string, attributes: Record<string, unknown>): Promise<void>;
|
|
639
|
+
/**
|
|
640
|
+
* Device type with behaviors (internal Matter.js structure)
|
|
641
|
+
*/
|
|
642
|
+
export interface DeviceTypeWithBehaviors extends EndpointType {
|
|
643
|
+
with: (...behaviors: any[]) => DeviceTypeWithBehaviors;
|
|
644
|
+
}
|
|
645
|
+
/**
|
|
646
|
+
* WindowCovering cluster with dynamic attributes
|
|
647
|
+
*/
|
|
648
|
+
export interface WindowCoveringCluster {
|
|
649
|
+
type?: number;
|
|
650
|
+
configStatus?: {
|
|
651
|
+
liftPositionAware?: boolean;
|
|
652
|
+
tiltPositionAware?: boolean;
|
|
653
|
+
liftEncoderControlled?: boolean;
|
|
654
|
+
tiltEncoderControlled?: boolean;
|
|
655
|
+
};
|
|
656
|
+
targetPositionLiftPercent100ths?: number;
|
|
657
|
+
currentPositionLiftPercent100ths?: number;
|
|
658
|
+
targetPositionTiltPercent100ths?: number;
|
|
659
|
+
currentPositionTiltPercent100ths?: number;
|
|
660
|
+
operationalStatus?: number;
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* Type-safe cluster access for WindowCovering
|
|
664
|
+
*/
|
|
665
|
+
export declare function getWindowCoveringCluster(accessory: MatterAccessory): WindowCoveringCluster | undefined;
|
|
612
666
|
//# sourceMappingURL=matterTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matterTypes.d.ts","sourceRoot":"","sources":["../../src/matter/matterTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"matterTypes.d.ts","sourceRoot":"","sources":["../../src/matter/matterTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -147,4 +147,27 @@ export const clusterNames = {
|
|
|
147
147
|
BasicInformation: 'basicInformation',
|
|
148
148
|
BridgedDeviceBasicInformation: 'bridgedDeviceBasicInformation',
|
|
149
149
|
};
|
|
150
|
+
/**
|
|
151
|
+
* Check if endpoint has state property (runtime check)
|
|
152
|
+
*/
|
|
153
|
+
export function hasEndpointState(endpoint) {
|
|
154
|
+
return 'state' in endpoint && typeof endpoint.state === 'object';
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Safely update endpoint state
|
|
158
|
+
* Uses the Endpoint's set method to update cluster attributes
|
|
159
|
+
*/
|
|
160
|
+
export async function updateEndpointState(endpoint, cluster, attributes) {
|
|
161
|
+
if (!hasEndpointState(endpoint)) {
|
|
162
|
+
throw new Error('Endpoint does not support state updates');
|
|
163
|
+
}
|
|
164
|
+
const updateObject = { [cluster]: attributes };
|
|
165
|
+
await endpoint.set(updateObject);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Type-safe cluster access for WindowCovering
|
|
169
|
+
*/
|
|
170
|
+
export function getWindowCoveringCluster(accessory) {
|
|
171
|
+
return accessory.clusters.windowCovering;
|
|
172
|
+
}
|
|
150
173
|
//# sourceMappingURL=matterTypes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matterTypes.js","sourceRoot":"","sources":["../../src/matter/matterTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"matterTypes.js","sourceRoot":"","sources":["../../src/matter/matterTypes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.0.0-alpha.
|
|
4
|
+
"version": "2.0.0-alpha.62",
|
|
5
5
|
"description": "HomeKit support for the impatient",
|
|
6
6
|
"author": "Nick Farina",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -65,13 +65,13 @@
|
|
|
65
65
|
"@types/node": "^24.9.1",
|
|
66
66
|
"@types/semver": "^7.7.1",
|
|
67
67
|
"@types/source-map-support": "^0.5.10",
|
|
68
|
-
"@vitest/coverage-v8": "^
|
|
68
|
+
"@vitest/coverage-v8": "^4.0.1",
|
|
69
69
|
"eslint-plugin-format": "^1.0.2",
|
|
70
70
|
"nodemon": "^3.1.10",
|
|
71
71
|
"rimraf": "^6.0.1",
|
|
72
72
|
"ts-node": "^10.9.2",
|
|
73
73
|
"typedoc": "^0.28.14",
|
|
74
74
|
"typescript": "^5.9.3",
|
|
75
|
-
"vitest": "^
|
|
75
|
+
"vitest": "^4.0.1"
|
|
76
76
|
}
|
|
77
77
|
}
|