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.
Files changed (37) hide show
  1. package/dist/bridgeService.d.ts.map +1 -1
  2. package/dist/bridgeService.js +28 -5
  3. package/dist/bridgeService.js.map +1 -1
  4. package/dist/matter/ClusterCommandMapper.d.ts.map +1 -1
  5. package/dist/matter/ClusterCommandMapper.js +22 -0
  6. package/dist/matter/ClusterCommandMapper.js.map +1 -1
  7. package/dist/matter/MatterAPIImpl.d.ts +124 -9
  8. package/dist/matter/MatterAPIImpl.d.ts.map +1 -1
  9. package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.d.ts +15 -1
  10. package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.d.ts.map +1 -1
  11. package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.js +25 -1
  12. package/dist/matter/behaviors/ValveConfigurationAndControlBehavior.js.map +1 -1
  13. package/dist/matter/behaviors/index.d.ts +1 -1
  14. package/dist/matter/behaviors/index.d.ts.map +1 -1
  15. package/dist/matter/behaviors/index.js +1 -1
  16. package/dist/matter/behaviors/index.js.map +1 -1
  17. package/dist/matter/clusterStateMap.d.ts +3 -1
  18. package/dist/matter/clusterStateMap.d.ts.map +1 -1
  19. package/dist/matter/clusterTypes.d.ts +72 -0
  20. package/dist/matter/clusterTypes.d.ts.map +1 -1
  21. package/dist/matter/server/AccessoryManager.d.ts +9 -0
  22. package/dist/matter/server/AccessoryManager.d.ts.map +1 -1
  23. package/dist/matter/server/AccessoryManager.js +70 -4
  24. package/dist/matter/server/AccessoryManager.js.map +1 -1
  25. package/dist/matter/server/StateManager.d.ts +8 -0
  26. package/dist/matter/server/StateManager.d.ts.map +1 -1
  27. package/dist/matter/server/StateManager.js +87 -3
  28. package/dist/matter/server/StateManager.js.map +1 -1
  29. package/dist/matter/serverHelpers.d.ts +59 -0
  30. package/dist/matter/serverHelpers.d.ts.map +1 -1
  31. package/dist/matter/serverHelpers.js +167 -0
  32. package/dist/matter/serverHelpers.js.map +1 -1
  33. package/dist/matter/types.d.ts +138 -14
  34. package/dist/matter/types.d.ts.map +1 -1
  35. package/dist/matter/types.js +57 -10
  36. package/dist/matter/types.js.map +1 -1
  37. 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;AA8CvC,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;IAmFhB;;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;IAsElC;;OAEG;YACW,6BAA6B;IAuC3C;;OAEG;YACW,sBAAsB;CA6BrC"}
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?.supported?.bridgedDeviceBasicInformation;
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;AAOpB,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;IA6DhB;;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"}
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
- const updateObject = { [cluster]: attributes };
52
- await targetEndpoint.set(updateObject);
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":"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"}
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