homebridge 2.1.2-beta.0 → 2.1.2-beta.10
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/bridgeService.d.ts.map +1 -1
- package/dist/bridgeService.js +28 -5
- package/dist/bridgeService.js.map +1 -1
- package/dist/matter/ClusterCommandMapper.d.ts.map +1 -1
- package/dist/matter/ClusterCommandMapper.js +22 -0
- package/dist/matter/ClusterCommandMapper.js.map +1 -1
- package/dist/matter/MatterAPIImpl.d.ts +124 -9
- package/dist/matter/MatterAPIImpl.d.ts.map +1 -1
- package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.d.ts +15 -1
- package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.js +25 -1
- package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/index.d.ts +1 -1
- package/dist/matter/behaviors/index.d.ts.map +1 -1
- package/dist/matter/behaviors/index.js +1 -1
- package/dist/matter/behaviors/index.js.map +1 -1
- package/dist/matter/clusterStateMap.d.ts +3 -1
- package/dist/matter/clusterStateMap.d.ts.map +1 -1
- package/dist/matter/clusterTypes.d.ts +72 -0
- package/dist/matter/clusterTypes.d.ts.map +1 -1
- package/dist/matter/server/AccessoryManager.d.ts +9 -0
- package/dist/matter/server/AccessoryManager.d.ts.map +1 -1
- package/dist/matter/server/AccessoryManager.js +70 -4
- package/dist/matter/server/AccessoryManager.js.map +1 -1
- package/dist/matter/server/StateManager.d.ts +8 -0
- package/dist/matter/server/StateManager.d.ts.map +1 -1
- package/dist/matter/server/StateManager.js +87 -3
- package/dist/matter/server/StateManager.js.map +1 -1
- package/dist/matter/serverHelpers.d.ts +59 -0
- package/dist/matter/serverHelpers.d.ts.map +1 -1
- package/dist/matter/serverHelpers.js +167 -0
- package/dist/matter/serverHelpers.js.map +1 -1
- package/dist/matter/types.d.ts +138 -14
- package/dist/matter/types.d.ts.map +1 -1
- package/dist/matter/types.js +57 -10
- package/dist/matter/types.js.map +1 -1
- package/package.json +3 -3
|
@@ -301,4 +301,76 @@ export interface PowerSourceState {
|
|
|
301
301
|
batChargingCurrent?: number | null;
|
|
302
302
|
activeBatChargeFaults?: number[];
|
|
303
303
|
}
|
|
304
|
+
/**
|
|
305
|
+
* One accuracy range within a MeasurementAccuracyStruct.
|
|
306
|
+
* At least one of the percent or fixed fields must be present.
|
|
307
|
+
* Percent fields are in hundredths of a percent (e.g. 100 = 1%),
|
|
308
|
+
* fixed fields are in the measurement's base unit (mV/mA/mW/mWh).
|
|
309
|
+
*/
|
|
310
|
+
export interface MeasurementAccuracyRangeStruct {
|
|
311
|
+
rangeMin: number;
|
|
312
|
+
rangeMax: number;
|
|
313
|
+
percentMax?: number;
|
|
314
|
+
percentMin?: number;
|
|
315
|
+
percentTypical?: number;
|
|
316
|
+
fixedMax?: number;
|
|
317
|
+
fixedMin?: number;
|
|
318
|
+
fixedTypical?: number;
|
|
319
|
+
}
|
|
320
|
+
/**
|
|
321
|
+
* Accuracy declaration for one measurement type (MeasurementAccuracyStruct).
|
|
322
|
+
* measurementType uses the Matter MeasurementType enum
|
|
323
|
+
* (1 = Voltage, 2 = ActiveCurrent, 5 = ActivePower, 14 = ElectricalEnergy).
|
|
324
|
+
*/
|
|
325
|
+
export interface MeasurementAccuracyStruct {
|
|
326
|
+
measurementType: number;
|
|
327
|
+
measured: boolean;
|
|
328
|
+
minMeasuredValue: number;
|
|
329
|
+
maxMeasuredValue: number;
|
|
330
|
+
accuracyRanges: MeasurementAccuracyRangeStruct[];
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* An energy reading (EnergyMeasurementStruct). energy is in milliwatt-hours.
|
|
334
|
+
* Timestamps are epoch seconds; systimes are milliseconds since boot.
|
|
335
|
+
*/
|
|
336
|
+
export interface EnergyMeasurementStruct {
|
|
337
|
+
energy: number;
|
|
338
|
+
startTimestamp?: number;
|
|
339
|
+
endTimestamp?: number;
|
|
340
|
+
startSystime?: number;
|
|
341
|
+
endSystime?: number;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* ElectricalPowerMeasurement cluster state.
|
|
345
|
+
* Units are the raw Matter units: voltage in millivolts, current in
|
|
346
|
+
* milliamps, power in milliwatts. All measurement values are nullable
|
|
347
|
+
* (null = no measurement currently available).
|
|
348
|
+
*
|
|
349
|
+
* powerMode, numberOfMeasurementTypes and accuracy are mandatory in Matter
|
|
350
|
+
* but are synthesized with sensible defaults at registration when omitted
|
|
351
|
+
* (powerMode defaults to AC; accuracy is derived from the declared
|
|
352
|
+
* measurement attributes).
|
|
353
|
+
*/
|
|
354
|
+
export interface ElectricalPowerMeasurementState {
|
|
355
|
+
powerMode?: number;
|
|
356
|
+
numberOfMeasurementTypes?: number;
|
|
357
|
+
accuracy?: MeasurementAccuracyStruct[];
|
|
358
|
+
voltage?: number | null;
|
|
359
|
+
activeCurrent?: number | null;
|
|
360
|
+
activePower?: number | null;
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* ElectricalEnergyMeasurement cluster state.
|
|
364
|
+
* Cluster features (Imported/Exported x Cumulative/Periodic) are detected at
|
|
365
|
+
* registration from which of these attributes the accessory declares.
|
|
366
|
+
* accuracy is mandatory in Matter but synthesized with a sensible default
|
|
367
|
+
* when omitted.
|
|
368
|
+
*/
|
|
369
|
+
export interface ElectricalEnergyMeasurementState {
|
|
370
|
+
accuracy?: MeasurementAccuracyStruct;
|
|
371
|
+
cumulativeEnergyImported?: EnergyMeasurementStruct | null;
|
|
372
|
+
cumulativeEnergyExported?: EnergyMeasurementStruct | null;
|
|
373
|
+
periodicEnergyImported?: EnergyMeasurementStruct | null;
|
|
374
|
+
periodicEnergyExported?: EnergyMeasurementStruct | null;
|
|
375
|
+
}
|
|
304
376
|
//# sourceMappingURL=clusterTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clusterTypes.d.ts","sourceRoot":"","sources":["../../src/matter/clusterTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clusterTypes.d.ts","sourceRoot":"","sources":["../../src/matter/clusterTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,15 @@ export declare class AccessoryManager {
|
|
|
62
62
|
* See: https://github.com/matter-js/matter.js/blob/main/docs/MIGRATION_GUIDE_08.md
|
|
63
63
|
*/
|
|
64
64
|
private createAccessoryParts;
|
|
65
|
+
/**
|
|
66
|
+
* Advertise the ElectricalSensor utility device type (0x0510) in the
|
|
67
|
+
* endpoint's descriptor. Controllers discover power/energy metering through
|
|
68
|
+
* the device type list, not just the clusters, so an outlet that carries
|
|
69
|
+
* the measurement clusters must also list ElectricalSensor. matter.js
|
|
70
|
+
* dedupes the entry, so this is safe when the base device type already is
|
|
71
|
+
* an ElectricalSensor.
|
|
72
|
+
*/
|
|
73
|
+
private advertiseElectricalSensorDeviceType;
|
|
65
74
|
/**
|
|
66
75
|
* Finalize accessory registration (store, emit events, save cache)
|
|
67
76
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessoryManager.d.ts","sourceRoot":"","sources":["../../../src/matter/server/AccessoryManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAA;AAG5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EACV,uBAAuB,EAEvB,eAAe,EAEhB,MAAM,aAAa,CAAA;AAKpB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"AccessoryManager.d.ts","sourceRoot":"","sources":["../../../src/matter/server/AccessoryManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAA;AAG5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EACV,uBAAuB,EAEvB,eAAe,EAEhB,MAAM,aAAa,CAAA;AAKpB,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAmDvC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;IACjD,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,eAAe,EAAE,eAAe,CAAA;IAChC,cAAc,EAAE,oBAAoB,GAAG,IAAI,CAAA;IAC3C,aAAa,EAAE,MAAM,UAAU,GAAG,IAAI,CAAA;IACtC,aAAa,EAAE,MAAM,QAAQ,CAAC,cAAc,wBAAwB,EAAE,kBAAkB,CAAC,GAAG,IAAI,CAAA;IAChG,YAAY,EAAE,MAAM,OAAO,CAAA;IAC3B,oBAAoB,EAAE,MAAM,OAAO,CAAA;IACnC,cAAc,EAAE,MAAM,OAAO,CAAA;CAC9B;AAED,qBAAa,gBAAgB;IAC3B;;;OAGG;IACG,iBAAiB,CACrB,iBAAiB,EAAE,MAAM,EACzB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC;IAiHhB;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDlF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkC1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqF7B;;OAEG;YACW,oBAAoB;IAgIlC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC;;;;;;;OAOG;YACW,oBAAoB;IAoFlC;;;;;;;OAOG;YACW,mCAAmC;IAWjD;;OAEG;YACW,6BAA6B;IAuC3C;;OAEG;YACW,sBAAsB;CAuCrC"}
|
|
@@ -8,12 +8,12 @@
|
|
|
8
8
|
import { EventEmitter } from 'node:events';
|
|
9
9
|
import process from 'node:process';
|
|
10
10
|
import { Endpoint } from '@matter/main';
|
|
11
|
-
import { BridgedDeviceBasicInformationServer } from '@matter/main/behaviors';
|
|
11
|
+
import { BasicInformationServer, BridgedDeviceBasicInformationServer, DescriptorServer } from '@matter/main/behaviors';
|
|
12
12
|
import { PowerSourceServer } from '@matter/node/behaviors';
|
|
13
13
|
import { Logger } from '../../logger.js';
|
|
14
14
|
import { setRegistryManager } from '../behaviors/EndpointContext.js';
|
|
15
15
|
import { HomebridgeRvcCleanModeServer, HomebridgeServiceAreaServer } from '../behaviors/index.js';
|
|
16
|
-
import { applyWindowCoveringFeatures, CLUSTER_IDS, detectBehaviorFeatures, detectWindowCoveringFeatures, determineColorControlFeaturesFromHandlers, extractColorControlFeatures, extractLevelControlFeatures, extractThermostatFeatures, validateAccessoryRequiredFields, } from '../serverHelpers.js';
|
|
16
|
+
import { applyElectricalMeasurementClusters, applyElectricalMeasurementDefaults, applySmokeCoAlarmFeatures, applyWindowCoveringFeatures, CLUSTER_IDS, detectBehaviorFeatures, detectElectricalMeasurementClusters, detectSmokeCoAlarmFeatures, detectWindowCoveringFeatures, determineColorControlFeaturesFromHandlers, extractColorControlFeatures, extractLevelControlFeatures, extractThermostatFeatures, validateAccessoryRequiredFields, } from '../serverHelpers.js';
|
|
17
17
|
import { devices, MatterDeviceError, } from '../types.js';
|
|
18
18
|
import { stripVendorFromLabel } from '../utils.js';
|
|
19
19
|
import { CORE_CLUSTER_BEHAVIOR_MAP } from './BehaviorMap.js';
|
|
@@ -49,6 +49,29 @@ export class AccessoryManager {
|
|
|
49
49
|
if (windowCoveringFeatures.length > 0) {
|
|
50
50
|
deviceType = applyWindowCoveringFeatures(deviceType, accessory, windowCoveringFeatures);
|
|
51
51
|
}
|
|
52
|
+
// SmokeCoAlarm is feature-gated in matter.js, so the base SmokeCoAlarmDevice
|
|
53
|
+
// carries no SmokeCoAlarm cluster. Add it with features detected from the
|
|
54
|
+
// accessory's declared attributes — unless the plugin already composed a
|
|
55
|
+
// device type that includes it.
|
|
56
|
+
const hasSmokeCoAlarm = deviceType.behaviors?.smokeCoAlarm !== undefined;
|
|
57
|
+
if (deviceType.deviceType === devices.SmokeCoAlarmDevice.deviceType && !hasSmokeCoAlarm) {
|
|
58
|
+
deviceType = applySmokeCoAlarmFeatures(deviceType, accessory, detectSmokeCoAlarmFeatures(accessory));
|
|
59
|
+
}
|
|
60
|
+
// Electrical measurement clusters (power/energy metering) are feature-gated
|
|
61
|
+
// in matter.js and not part of any base device type. Detect them from the
|
|
62
|
+
// accessory's declared cluster state so any device type - outlets included -
|
|
63
|
+
// can report power/energy (surfaced by e.g. the iOS 27+ Home app energy view).
|
|
64
|
+
const electricalDetection = detectElectricalMeasurementClusters(accessory);
|
|
65
|
+
const hasElectrical = electricalDetection.hasPowerMeasurement || electricalDetection.energyFeatures.length > 0;
|
|
66
|
+
if (hasElectrical) {
|
|
67
|
+
applyElectricalMeasurementDefaults(accessory, electricalDetection);
|
|
68
|
+
deviceType = applyElectricalMeasurementClusters(deviceType, accessory, electricalDetection);
|
|
69
|
+
}
|
|
70
|
+
else if (deviceType.deviceType === devices.ElectricalSensorEndpoint?.deviceType) {
|
|
71
|
+
log.warn(`${accessory.displayName} uses the ElectricalSensor device type but declares no `
|
|
72
|
+
+ 'electricalPowerMeasurement or electricalEnergyMeasurement cluster state - '
|
|
73
|
+
+ 'the endpoint will expose no measurement clusters.');
|
|
74
|
+
}
|
|
52
75
|
const features = this.detectClusterFeatures(accessory, deviceType);
|
|
53
76
|
const customBehaviors = await this.buildCustomBehaviors(accessory, deviceType, features);
|
|
54
77
|
if (customBehaviors.length > 0) {
|
|
@@ -58,11 +81,11 @@ export class AccessoryManager {
|
|
|
58
81
|
if (!deps.config.externalAccessory) {
|
|
59
82
|
// Skip if device type already includes BridgedDeviceBasicInformation
|
|
60
83
|
// (e.g., BridgedNodeEndpoint used as a composed device container)
|
|
61
|
-
const hasBridgedInfo = deviceType.behaviors?.
|
|
84
|
+
const hasBridgedInfo = deviceType.behaviors?.bridgedDeviceBasicInformation !== undefined;
|
|
62
85
|
if (!hasBridgedInfo) {
|
|
63
86
|
deviceType = deviceType.with(BridgedDeviceBasicInformationServer);
|
|
87
|
+
log.debug(`Added BridgedDeviceBasicInformationServer to ${accessory.displayName}`);
|
|
64
88
|
}
|
|
65
|
-
log.debug(`Added BridgedDeviceBasicInformationServer to ${accessory.displayName}`);
|
|
66
89
|
}
|
|
67
90
|
const endpointOptions = this.createEndpointOptions(accessory, deps.config);
|
|
68
91
|
const endpoint = new Endpoint(deviceType, endpointOptions);
|
|
@@ -80,6 +103,9 @@ export class AccessoryManager {
|
|
|
80
103
|
log.debug(`Added endpoint for ${accessory.displayName} to aggregator`);
|
|
81
104
|
}
|
|
82
105
|
}
|
|
106
|
+
if (hasElectrical) {
|
|
107
|
+
await this.advertiseElectricalSensorDeviceType(endpoint, accessory.displayName);
|
|
108
|
+
}
|
|
83
109
|
this.registerAccessoryHandlers(accessory, deps);
|
|
84
110
|
const internalParts = await this.createAccessoryParts(accessory, endpoint, deps);
|
|
85
111
|
await this.finalizeAccessoryRegistration(accessory, endpoint, internalParts, deps);
|
|
@@ -431,6 +457,15 @@ export class AccessoryManager {
|
|
|
431
457
|
log.info(` Applied ${partCustomBehaviors.length} custom behavior(s) to part ${part.id}`);
|
|
432
458
|
}
|
|
433
459
|
}
|
|
460
|
+
// Electrical measurement detection runs for parts too, so composed
|
|
461
|
+
// devices (e.g. a power strip with metered outlets, or a solar setup
|
|
462
|
+
// exposing separate meters) can report power/energy per part.
|
|
463
|
+
const partElectrical = detectElectricalMeasurementClusters(part);
|
|
464
|
+
const partHasElectrical = partElectrical.hasPowerMeasurement || partElectrical.energyFeatures.length > 0;
|
|
465
|
+
if (partHasElectrical) {
|
|
466
|
+
applyElectricalMeasurementDefaults(part, partElectrical);
|
|
467
|
+
partDeviceType = applyElectricalMeasurementClusters(partDeviceType, part, partElectrical);
|
|
468
|
+
}
|
|
434
469
|
const partEndpointOptions = {
|
|
435
470
|
id: partEndpointId,
|
|
436
471
|
...part.clusters,
|
|
@@ -438,6 +473,9 @@ export class AccessoryManager {
|
|
|
438
473
|
const partEndpoint = new Endpoint(partDeviceType, partEndpointOptions);
|
|
439
474
|
setRegistryManager(partEndpoint, deps.registryManager);
|
|
440
475
|
await parentEndpoint.add(partEndpoint);
|
|
476
|
+
if (partHasElectrical) {
|
|
477
|
+
await this.advertiseElectricalSensorDeviceType(partEndpoint, part.displayName || part.id);
|
|
478
|
+
}
|
|
441
479
|
log.info(` Created part endpoint: ${part.displayName || part.id} (${partEndpointId}) as child of ${accessory.displayName}`);
|
|
442
480
|
if (part.handlers) {
|
|
443
481
|
deps.registryManager.registerEndpoint(partEndpointId, deps.behaviorRegistry);
|
|
@@ -455,6 +493,25 @@ export class AccessoryManager {
|
|
|
455
493
|
}
|
|
456
494
|
return internalParts;
|
|
457
495
|
}
|
|
496
|
+
/**
|
|
497
|
+
* Advertise the ElectricalSensor utility device type (0x0510) in the
|
|
498
|
+
* endpoint's descriptor. Controllers discover power/energy metering through
|
|
499
|
+
* the device type list, not just the clusters, so an outlet that carries
|
|
500
|
+
* the measurement clusters must also list ElectricalSensor. matter.js
|
|
501
|
+
* dedupes the entry, so this is safe when the base device type already is
|
|
502
|
+
* an ElectricalSensor.
|
|
503
|
+
*/
|
|
504
|
+
async advertiseElectricalSensorDeviceType(endpoint, displayName) {
|
|
505
|
+
try {
|
|
506
|
+
await endpoint.act((agent) => {
|
|
507
|
+
agent.get(DescriptorServer).addDeviceTypes('ElectricalSensor');
|
|
508
|
+
});
|
|
509
|
+
log.debug(`Advertised ElectricalSensor device type for ${displayName}`);
|
|
510
|
+
}
|
|
511
|
+
catch (error) {
|
|
512
|
+
log.warn(`Could not advertise ElectricalSensor device type for ${displayName}:`, error);
|
|
513
|
+
}
|
|
514
|
+
}
|
|
458
515
|
/**
|
|
459
516
|
* Finalize accessory registration (store, emit events, save cache)
|
|
460
517
|
*/
|
|
@@ -508,6 +565,15 @@ export class AccessoryManager {
|
|
|
508
565
|
});
|
|
509
566
|
log.info(`Notified controllers of parts list change (${deps.accessories.size} devices)`);
|
|
510
567
|
}
|
|
568
|
+
// Matter 1.6 signals bridge structure changes to controllers via
|
|
569
|
+
// BasicInformation's ConfigurationVersion. matter.js seeds the attribute
|
|
570
|
+
// but does not bump it when endpoints are added or removed — that is the
|
|
571
|
+
// bridge's job.
|
|
572
|
+
const serverNode = deps.getServerNode();
|
|
573
|
+
if (serverNode) {
|
|
574
|
+
await serverNode.act(agent => agent.get(BasicInformationServer).increaseConfigurationVersion());
|
|
575
|
+
log.debug('Increased bridge configuration version');
|
|
576
|
+
}
|
|
511
577
|
}
|
|
512
578
|
catch (error) {
|
|
513
579
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessoryManager.js","sourceRoot":"","sources":["../../../src/matter/server/AccessoryManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AccessoryManager.js","sourceRoot":"","sources":["../../../src/matter/server/AccessoryManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,14 @@ export declare class StateManager {
|
|
|
15
15
|
* Update the state of a Matter accessory (Plugin API)
|
|
16
16
|
*/
|
|
17
17
|
updateAccessoryState(uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Apply an ElectricalEnergyMeasurement update. Non-null energy readings are
|
|
20
|
+
* routed through the matter.js setMeasurement() helper, which updates the
|
|
21
|
+
* attributes and also emits the CumulativeEnergyMeasured /
|
|
22
|
+
* PeriodicEnergyMeasured events the spec requires. Everything else (accuracy,
|
|
23
|
+
* null clears) goes through a plain state set.
|
|
24
|
+
*/
|
|
25
|
+
private applyEnergyMeasurementUpdate;
|
|
18
26
|
/**
|
|
19
27
|
* Get a Matter accessory's current state
|
|
20
28
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateManager.d.ts","sourceRoot":"","sources":["../../../src/matter/server/StateManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"StateManager.d.ts","sourceRoot":"","sources":["../../../src/matter/server/StateManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,KAAK,EACV,uBAAuB,EAExB,MAAM,aAAa,CAAA;AAkDpB,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,oBAAoB;gBAFpB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,EACjD,OAAO,EAAE,YAAY,EACrB,oBAAoB,EAAE,MAAM,OAAO;IAGtD;;OAEG;IACG,oBAAoB,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAoEhB;;;;;;OAMG;YACW,4BAA4B;IAgC1C;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IA0EtG;;OAEG;IACG,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAoDhB;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;CAOxG"}
|
|
@@ -7,6 +7,47 @@
|
|
|
7
7
|
import { Logger } from '../../logger.js';
|
|
8
8
|
import { MatterDeviceError } from '../types.js';
|
|
9
9
|
const log = Logger.withPrefix('Matter/Server');
|
|
10
|
+
/**
|
|
11
|
+
* Recursively convert bigint values to numbers. matter.js can surface int64
|
|
12
|
+
* attributes (e.g. ElectricalPowerMeasurement.activePower, energy readings)
|
|
13
|
+
* as bigint, which JSON.stringify cannot serialize - and state read results
|
|
14
|
+
* cross the child-bridge IPC boundary as JSON. Energy values stay far below
|
|
15
|
+
* Number.MAX_SAFE_INTEGER (2^53 mWh is around nine billion kWh), so the
|
|
16
|
+
* conversion is lossless in practice.
|
|
17
|
+
*/
|
|
18
|
+
function coerceBigintsToNumbers(value) {
|
|
19
|
+
if (typeof value === 'bigint') {
|
|
20
|
+
return Number(value);
|
|
21
|
+
}
|
|
22
|
+
if (Array.isArray(value)) {
|
|
23
|
+
return value.map(coerceBigintsToNumbers);
|
|
24
|
+
}
|
|
25
|
+
// Only recurse into plain data objects (cluster structs). Anything with a
|
|
26
|
+
// prototype - Uint8Array byte strings, Dates, class instances - must pass
|
|
27
|
+
// through untouched or the copy would mangle it.
|
|
28
|
+
if (value && typeof value === 'object') {
|
|
29
|
+
const proto = Object.getPrototypeOf(value);
|
|
30
|
+
if (proto !== Object.prototype && proto !== null) {
|
|
31
|
+
return value;
|
|
32
|
+
}
|
|
33
|
+
const result = {};
|
|
34
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
35
|
+
result[key] = coerceBigintsToNumbers(entry);
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Maps the four ElectricalEnergyMeasurement reading attributes to the shape
|
|
43
|
+
* matter.js setMeasurement() expects.
|
|
44
|
+
*/
|
|
45
|
+
const ENERGY_ATTRIBUTE_MAP = {
|
|
46
|
+
cumulativeEnergyImported: { period: 'cumulativeEnergy', direction: 'imported' },
|
|
47
|
+
cumulativeEnergyExported: { period: 'cumulativeEnergy', direction: 'exported' },
|
|
48
|
+
periodicEnergyImported: { period: 'periodicEnergy', direction: 'imported' },
|
|
49
|
+
periodicEnergyExported: { period: 'periodicEnergy', direction: 'exported' },
|
|
50
|
+
};
|
|
10
51
|
export class StateManager {
|
|
11
52
|
accessories;
|
|
12
53
|
emitter;
|
|
@@ -48,8 +89,16 @@ export class StateManager {
|
|
|
48
89
|
return new Promise((resolve, reject) => {
|
|
49
90
|
setImmediate(async () => {
|
|
50
91
|
try {
|
|
51
|
-
|
|
52
|
-
|
|
92
|
+
if (cluster === 'electricalEnergyMeasurement') {
|
|
93
|
+
// Energy readings must go through matter.js setMeasurement() so the
|
|
94
|
+
// spec-required CumulativeEnergyMeasured / PeriodicEnergyMeasured
|
|
95
|
+
// events are emitted alongside the attribute updates.
|
|
96
|
+
await this.applyEnergyMeasurementUpdate(targetEndpoint, attributes);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
const updateObject = { [cluster]: attributes };
|
|
100
|
+
await targetEndpoint.set(updateObject);
|
|
101
|
+
}
|
|
53
102
|
// Update cached clusters object for persistence
|
|
54
103
|
if (!targetClusters) {
|
|
55
104
|
log.warn(`Target clusters undefined for ${displayName}, cannot cache state`);
|
|
@@ -76,6 +125,41 @@ export class StateManager {
|
|
|
76
125
|
});
|
|
77
126
|
});
|
|
78
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Apply an ElectricalEnergyMeasurement update. Non-null energy readings are
|
|
130
|
+
* routed through the matter.js setMeasurement() helper, which updates the
|
|
131
|
+
* attributes and also emits the CumulativeEnergyMeasured /
|
|
132
|
+
* PeriodicEnergyMeasured events the spec requires. Everything else (accuracy,
|
|
133
|
+
* null clears) goes through a plain state set.
|
|
134
|
+
*/
|
|
135
|
+
async applyEnergyMeasurementUpdate(endpoint, attributes) {
|
|
136
|
+
const behaviorClass = endpoint.behaviors?.supported?.electricalEnergyMeasurement;
|
|
137
|
+
if (!behaviorClass) {
|
|
138
|
+
// No EEM behavior on this endpoint - let the plain set produce the
|
|
139
|
+
// same "unsupported cluster" error any other cluster would.
|
|
140
|
+
await endpoint.set({ electricalEnergyMeasurement: attributes });
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const measurement = {};
|
|
144
|
+
const rest = {};
|
|
145
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
146
|
+
const mapping = ENERGY_ATTRIBUTE_MAP[key];
|
|
147
|
+
if (mapping && value !== null && value !== undefined) {
|
|
148
|
+
measurement[mapping.period] = { ...measurement[mapping.period], [mapping.direction]: value };
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
rest[key] = value;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (Object.keys(rest).length > 0) {
|
|
155
|
+
await endpoint.set({ electricalEnergyMeasurement: rest });
|
|
156
|
+
}
|
|
157
|
+
if (Object.keys(measurement).length > 0) {
|
|
158
|
+
await endpoint.act(async (agent) => {
|
|
159
|
+
agent.get(behaviorClass).setMeasurement(measurement);
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
}
|
|
79
163
|
/**
|
|
80
164
|
* Get a Matter accessory's current state
|
|
81
165
|
*/
|
|
@@ -129,7 +213,7 @@ export class StateManager {
|
|
|
129
213
|
if (typeof value === 'function' || value === undefined) {
|
|
130
214
|
continue;
|
|
131
215
|
}
|
|
132
|
-
result[key] = value;
|
|
216
|
+
result[key] = coerceBigintsToNumbers(value);
|
|
133
217
|
}
|
|
134
218
|
catch (propError) {
|
|
135
219
|
log.debug(`Could not read property ${key} from ${cluster}:`, propError);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateManager.js","sourceRoot":"","sources":["../../../src/matter/server/StateManager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;AAE9C,MAAM,OAAO,YAAY;IAEJ;IACA;IACA;IAHnB,YACmB,WAAiD,EACjD,OAAqB,EACrB,oBAAmC;QAFnC,gBAAW,GAAX,WAAW,CAAsC;QACjD,YAAO,GAAP,OAAO,CAAc;QACrB,yBAAoB,GAApB,oBAAoB,CAAe;IACnD,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,oBAAoB,CACxB,IAAY,EACZ,OAAe,EACf,UAAmC,EACnC,MAAe;QAEf,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,iBAAiB,CAAC,aAAa,IAAI,8BAA8B,CAAC,CAAA;QAC9E,CAAC;QAED,IAAI,cAAwB,CAAA;QAC5B,IAAI,cAA6F,CAAA;QACjG,IAAI,WAAmB,CAAA;QAEvB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAA;YACzD,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,iBAAiB,CAAC,QAAQ,MAAM,2BAA2B,IAAI,EAAE,CAAC,CAAA;YAC9E,CAAC;YACD,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAA;YAC9B,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAA;YAC9B,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,GAAG,SAAS,CAAC,WAAW,MAAM,MAAM,EAAE,CAAA;QAC1E,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBACxB,MAAM,IAAI,iBAAiB,CAAC,aAAa,IAAI,qCAAqC,CAAC,CAAA;YACrF,CAAC;YACD,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAA;YACnC,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAA;YACnC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;QACrC,CAAC;QAED,qFAAqF;QACrF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,YAAY,CAAC,KAAK,IAAI,EAAE;gBACtB,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"StateManager.js","sourceRoot":"","sources":["../../../src/matter/server/StateManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,6 +79,20 @@ export declare function determineColorControlFeaturesFromHandlers(handlers: Reco
|
|
|
79
79
|
* @returns Array of detected feature names
|
|
80
80
|
*/
|
|
81
81
|
export declare function detectWindowCoveringFeatures(accessory: MatterAccessory): string[];
|
|
82
|
+
/**
|
|
83
|
+
* Detect SmokeCoAlarm features from accessory attributes.
|
|
84
|
+
* The Matter spec requires at least one of SmokeAlarm/CoAlarm, so an accessory
|
|
85
|
+
* that declares neither state attribute falls back to SmokeAlarm — matching the
|
|
86
|
+
* friendly device type name "SmokeSensor".
|
|
87
|
+
*/
|
|
88
|
+
export declare function detectSmokeCoAlarmFeatures(accessory: MatterAccessory): string[];
|
|
89
|
+
/**
|
|
90
|
+
* Apply SmokeCoAlarm features to device type.
|
|
91
|
+
* SmokeCoAlarm is not part of the base SmokeCoAlarmDevice — matter.js requires
|
|
92
|
+
* the features to be chosen — so without this the endpoint would be created
|
|
93
|
+
* without the cluster and the accessory's smokeCoAlarm state silently dropped.
|
|
94
|
+
*/
|
|
95
|
+
export declare function applySmokeCoAlarmFeatures(deviceType: EndpointType, accessory: MatterAccessory, features: string[]): EndpointType;
|
|
82
96
|
/**
|
|
83
97
|
* Detect ServiceArea features from cluster attributes
|
|
84
98
|
*/
|
|
@@ -95,5 +109,50 @@ export declare function buildRvcCustomBehaviors(accessory: MatterAccessory, serv
|
|
|
95
109
|
* Apply detected features to a behavior class
|
|
96
110
|
*/
|
|
97
111
|
export declare function applyFeaturesToBehavior(behaviorClass: BehaviorType, features: string[] | null, clusterName: string): BehaviorType;
|
|
112
|
+
/**
|
|
113
|
+
* The subset of an accessory (or composed-device part) the electrical
|
|
114
|
+
* measurement helpers need - lets the same detection run for both.
|
|
115
|
+
*/
|
|
116
|
+
export interface ElectricalMeasurementHost {
|
|
117
|
+
clusters?: MatterAccessory['clusters'];
|
|
118
|
+
displayName?: string;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Result of detecting electrical measurement clusters on an accessory
|
|
122
|
+
*/
|
|
123
|
+
export interface ElectricalMeasurementDetection {
|
|
124
|
+
/** Accessory declares electricalPowerMeasurement cluster state */
|
|
125
|
+
hasPowerMeasurement: boolean;
|
|
126
|
+
/**
|
|
127
|
+
* ElectricalEnergyMeasurement features derived from the declared attributes
|
|
128
|
+
* (empty when the cluster is not declared)
|
|
129
|
+
*/
|
|
130
|
+
energyFeatures: string[];
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Detect electrical measurement clusters from the accessory's declared state.
|
|
134
|
+
*
|
|
135
|
+
* ElectricalEnergyMeasurement is feature-gated in matter.js (Imported/Exported
|
|
136
|
+
* x Cumulative/Periodic), so the features are chosen from which energy
|
|
137
|
+
* attributes the accessory declares.
|
|
138
|
+
*/
|
|
139
|
+
export declare function detectElectricalMeasurementClusters(accessory: ElectricalMeasurementHost): ElectricalMeasurementDetection;
|
|
140
|
+
/**
|
|
141
|
+
* Fill in the mandatory ElectricalPowerMeasurement / ElectricalEnergyMeasurement
|
|
142
|
+
* attributes (powerMode, numberOfMeasurementTypes, accuracy) that plugins should
|
|
143
|
+
* not have to write themselves. Mutates the accessory's declared cluster state
|
|
144
|
+
* so the values flow into the endpoint options and the state cache together.
|
|
145
|
+
*/
|
|
146
|
+
export declare function applyElectricalMeasurementDefaults(accessory: ElectricalMeasurementHost, detection: ElectricalMeasurementDetection): void;
|
|
147
|
+
/**
|
|
148
|
+
* Apply the electrical measurement behaviors to a device type.
|
|
149
|
+
*
|
|
150
|
+
* PowerTopology is mandatory on the ElectricalSensor device type and is
|
|
151
|
+
* feature-gated in matter.js; TreeTopology fits a bridged endpoint that
|
|
152
|
+
* measures itself. The EEM server keeps matter.js's setMeasurement() helper,
|
|
153
|
+
* which also emits the CumulativeEnergyMeasured / PeriodicEnergyMeasured
|
|
154
|
+
* events required by the spec.
|
|
155
|
+
*/
|
|
156
|
+
export declare function applyElectricalMeasurementClusters(deviceType: EndpointType, accessory: ElectricalMeasurementHost, detection: ElectricalMeasurementDetection): EndpointType;
|
|
98
157
|
export {};
|
|
99
158
|
//# sourceMappingURL=serverHelpers.d.ts.map
|