@matterbridge/core 3.9.5-dev-20260714-6230956 → 3.10.0-dev-20260716-572b03b

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 (43) hide show
  1. package/dist/behaviors/colorControlServer.d.ts +0 -15
  2. package/dist/behaviors/colorControlServer.js +0 -2
  3. package/dist/behaviors/thermostatServer.d.ts +0 -14
  4. package/dist/behaviors/thermostatServer.js +0 -2
  5. package/dist/behaviors/windowCoveringServer.d.ts +0 -26
  6. package/dist/behaviors/windowCoveringServer.js +0 -4
  7. package/dist/matter/export.d.ts +0 -11
  8. package/dist/matter/export.js +0 -11
  9. package/dist/matterbridgeDeviceTypes.d.ts +0 -14
  10. package/dist/matterbridgeDeviceTypes.js +0 -14
  11. package/dist/matterbridgeEndpoint.d.ts +1 -2
  12. package/dist/matterbridgeEndpoint.js +4 -7
  13. package/dist/matterbridgeEndpointCommandHandler.d.ts +0 -75
  14. package/dist/matterbridgeEndpointHelpers.js +30 -0
  15. package/package.json +6 -10
  16. package/dist/jestutils/export.d.ts +0 -13
  17. package/dist/jestutils/export.js +0 -13
  18. package/dist/jestutils/flushAsync.d.ts +0 -1
  19. package/dist/jestutils/flushAsync.js +0 -8
  20. package/dist/jestutils/jestBroadcastServerSpy.d.ts +0 -13
  21. package/dist/jestutils/jestBroadcastServerSpy.js +0 -14
  22. package/dist/jestutils/jestDeviceManagerSpy.d.ts +0 -14
  23. package/dist/jestutils/jestDeviceManagerSpy.js +0 -15
  24. package/dist/jestutils/jestFrontendSpy.d.ts +0 -7
  25. package/dist/jestutils/jestFrontendSpy.js +0 -8
  26. package/dist/jestutils/jestMatterTest.d.ts +0 -21
  27. package/dist/jestutils/jestMatterTest.js +0 -281
  28. package/dist/jestutils/jestMatterbridgeEndpointSpy.d.ts +0 -7
  29. package/dist/jestutils/jestMatterbridgeEndpointSpy.js +0 -8
  30. package/dist/jestutils/jestMatterbridgePlatformSpy.d.ts +0 -43
  31. package/dist/jestutils/jestMatterbridgePlatformSpy.js +0 -44
  32. package/dist/jestutils/jestMatterbridgeSpy.d.ts +0 -5
  33. package/dist/jestutils/jestMatterbridgeSpy.js +0 -6
  34. package/dist/jestutils/jestMatterbridgeTest.d.ts +0 -21
  35. package/dist/jestutils/jestMatterbridgeTest.js +0 -252
  36. package/dist/jestutils/jestPluginManagerSpy.d.ts +0 -40
  37. package/dist/jestutils/jestPluginManagerSpy.js +0 -41
  38. package/dist/jestutils/jestSetupTest.d.ts +0 -20
  39. package/dist/jestutils/jestSetupTest.js +0 -79
  40. package/dist/jestutils/logKeepAlives.d.ts +0 -2
  41. package/dist/jestutils/logKeepAlives.js +0 -31
  42. package/dist/jestutils/matterRequest.d.ts +0 -10
  43. package/dist/jestutils/matterRequest.js +0 -78
@@ -16,19 +16,4 @@ export declare class MatterbridgeColorControlServer extends MatterbridgeColorCon
16
16
  moveToColor(request: ColorControl.MoveToColorRequest): Promise<void>;
17
17
  moveToColorTemperature(request: ColorControl.MoveToColorTemperatureRequest): Promise<void>;
18
18
  }
19
- declare const MatterbridgeEnhancedColorControlServer_base: import("@matter/node").ClusterBehavior.Type<typeof MatterbridgeColorControlServer, import("@matter/types").ClusterType.WithSupportedFeatures<import("@matter/types").ClusterType.WithSupportedFeatures<ColorControl, {
20
- colorLoop: false;
21
- colorTemperature: true;
22
- enhancedHue: true;
23
- hueSaturation: true;
24
- xy: true;
25
- }>, {
26
- colorLoop: false;
27
- colorTemperature: true;
28
- enhancedHue: true;
29
- hueSaturation: true;
30
- xy: true;
31
- }>, import("@matter/types").ClusterType.Concrete, typeof import("@matter/node/behaviors/color-control").ColorControlBaseServer.Internal, "colorControl">;
32
- export declare class MatterbridgeEnhancedColorControlServer extends MatterbridgeEnhancedColorControlServer_base {
33
- }
34
19
  export {};
@@ -101,5 +101,3 @@ export class MatterbridgeColorControlServer extends ColorControlServer.with(Colo
101
101
  await super.moveToColorTemperature(request);
102
102
  }
103
103
  }
104
- export class MatterbridgeEnhancedColorControlServer extends MatterbridgeColorControlServer.with(ColorControl.Feature.HueSaturation, ColorControl.Feature.EnhancedHue, ColorControl.Feature.Xy, ColorControl.Feature.ColorTemperature) {
105
- }
@@ -17,18 +17,4 @@ export declare class MatterbridgeThermostatServer extends MatterbridgeThermostat
17
17
  setpointRaiseLower(request: Thermostat.SetpointRaiseLowerRequest): Promise<void>;
18
18
  setActivePresetRequest(request: Thermostat.SetActivePresetRequest): Promise<void>;
19
19
  }
20
- declare const MatterbridgePresetThermostatServer_base: import("@matter/node").ClusterBehavior.Type<typeof ThermostatServer, import("@matter/types").ClusterType.WithSupportedFeatures<Thermostat, {
21
- autoMode: true;
22
- cooling: true;
23
- events: false;
24
- heating: true;
25
- localTemperatureNotExposed: false;
26
- matterScheduleConfiguration: false;
27
- occupancy: false;
28
- presets: true;
29
- setback: false;
30
- thermostatSuggestions: false;
31
- }>, import("@matter/types").ClusterType.Concrete, typeof import("@matter/node/behaviors/thermostat").ThermostatBaseServer.Internal, "thermostat">;
32
- export declare class MatterbridgePresetThermostatServer extends MatterbridgePresetThermostatServer_base {
33
- }
34
20
  export {};
@@ -46,5 +46,3 @@ export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermost
46
46
  device.log.debug(`MatterbridgeThermostatServer: setActivePresetRequest completed with activePresetHandle: ${activePresetHandle} occupiedHeatingSetpoint: ${this.state.occupiedHeatingSetpoint} occupiedCoolingSetpoint: ${this.state.occupiedCoolingSetpoint}`);
47
47
  }
48
48
  }
49
- export class MatterbridgePresetThermostatServer extends ThermostatServer.with(Thermostat.Feature.Presets, Thermostat.Feature.Cooling, Thermostat.Feature.Heating, Thermostat.Feature.AutoMode) {
50
- }
@@ -18,30 +18,4 @@ export declare class MatterbridgeWindowCoveringServer extends MatterbridgeWindow
18
18
  goToTiltPercentage(request: WindowCovering.GoToTiltPercentageRequest): Promise<void>;
19
19
  handleMovement(): void;
20
20
  }
21
- declare const MatterbridgeLiftWindowCoveringServer_base: import("@matter/node").ClusterBehavior.Type<typeof MatterbridgeWindowCoveringServer, import("@matter/types").ClusterType.WithSupportedFeatures<import("@matter/types").ClusterType.WithSupportedFeatures<WindowCovering, {
22
- lift: true;
23
- positionAwareLift: true;
24
- positionAwareTilt: true;
25
- tilt: true;
26
- }>, {
27
- lift: true;
28
- positionAwareLift: true;
29
- positionAwareTilt: false;
30
- tilt: false;
31
- }>, import("@matter/types").ClusterType.Concrete, typeof WindowCoveringBaseServer.Internal, "windowCovering">;
32
- export declare class MatterbridgeLiftWindowCoveringServer extends MatterbridgeLiftWindowCoveringServer_base {
33
- }
34
- declare const MatterbridgeLiftTiltWindowCoveringServer_base: import("@matter/node").ClusterBehavior.Type<typeof MatterbridgeWindowCoveringServer, import("@matter/types").ClusterType.WithSupportedFeatures<import("@matter/types").ClusterType.WithSupportedFeatures<WindowCovering, {
35
- lift: true;
36
- positionAwareLift: true;
37
- positionAwareTilt: true;
38
- tilt: true;
39
- }>, {
40
- lift: true;
41
- positionAwareLift: true;
42
- positionAwareTilt: true;
43
- tilt: true;
44
- }>, import("@matter/types").ClusterType.Concrete, typeof WindowCoveringBaseServer.Internal, "windowCovering">;
45
- export declare class MatterbridgeLiftTiltWindowCoveringServer extends MatterbridgeLiftTiltWindowCoveringServer_base {
46
- }
47
21
  export {};
@@ -90,7 +90,3 @@ export class MatterbridgeWindowCoveringServer extends WindowCoveringServer.with(
90
90
  handleMovement() {
91
91
  }
92
92
  }
93
- export class MatterbridgeLiftWindowCoveringServer extends MatterbridgeWindowCoveringServer.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift) {
94
- }
95
- export class MatterbridgeLiftTiltWindowCoveringServer extends MatterbridgeWindowCoveringServer.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift, WindowCovering.Feature.Tilt, WindowCovering.Feature.PositionAwareTilt) {
96
- }
@@ -1,14 +1,3 @@
1
1
  export * from '@matter/main';
2
2
  export { AttributeElement, ClusterElement, ClusterModel, CommandElement, EventElement, FieldElement, MatterDefinition } from '@matter/main/model';
3
3
  export { MdnsService, Val } from '@matter/main/protocol';
4
- export { CommonAreaNamespaceTag as AreaNamespaceTag } from '@matter/main/node';
5
- export { CommonClosureTag as ClosureTag } from '@matter/main/node';
6
- export { CommonCompassDirectionTag as CompassDirectionTag } from '@matter/main/node';
7
- export { CommonCompassLocationTag as CompassLocationTag } from '@matter/main/node';
8
- export { CommonDirectionTag as DirectionTag } from '@matter/main/node';
9
- export { CommonLandmarkNamespaceTag as LandmarkNamespaceTag } from '@matter/main/node';
10
- export { CommonLevelTag as LevelTag } from '@matter/main/node';
11
- export { CommonLocationTag as LocationTag } from '@matter/main/node';
12
- export { CommonNumberTag as NumberTag } from '@matter/main/node';
13
- export { CommonPositionTag as PositionTag } from '@matter/main/node';
14
- export { CommonRelativePositionTag as RelativePositionTag } from '@matter/main/node';
@@ -1,14 +1,3 @@
1
1
  export * from '@matter/main';
2
2
  export { AttributeElement, ClusterElement, ClusterModel, CommandElement, EventElement, FieldElement, MatterDefinition } from '@matter/main/model';
3
3
  export { MdnsService, Val } from '@matter/main/protocol';
4
- export { CommonAreaNamespaceTag as AreaNamespaceTag } from '@matter/main/node';
5
- export { CommonClosureTag as ClosureTag } from '@matter/main/node';
6
- export { CommonCompassDirectionTag as CompassDirectionTag } from '@matter/main/node';
7
- export { CommonCompassLocationTag as CompassLocationTag } from '@matter/main/node';
8
- export { CommonDirectionTag as DirectionTag } from '@matter/main/node';
9
- export { CommonLandmarkNamespaceTag as LandmarkNamespaceTag } from '@matter/main/node';
10
- export { CommonLevelTag as LevelTag } from '@matter/main/node';
11
- export { CommonLocationTag as LocationTag } from '@matter/main/node';
12
- export { CommonNumberTag as NumberTag } from '@matter/main/node';
13
- export { CommonPositionTag as PositionTag } from '@matter/main/node';
14
- export { CommonRelativePositionTag as RelativePositionTag } from '@matter/main/node';
@@ -57,23 +57,15 @@ export declare const dimmableLight: DeviceTypeDefinition;
57
57
  export declare const colorTemperatureLight: DeviceTypeDefinition;
58
58
  export declare const extendedColorLight: DeviceTypeDefinition;
59
59
  export declare const onOffPlugInUnit: DeviceTypeDefinition;
60
- export declare const onOffOutlet: DeviceTypeDefinition;
61
60
  export declare const dimmablePlugInUnit: DeviceTypeDefinition;
62
- export declare const dimmableOutlet: DeviceTypeDefinition;
63
61
  export declare const mountedOnOffControl: DeviceTypeDefinition;
64
- export declare const onOffMountedSwitch: DeviceTypeDefinition;
65
62
  export declare const mountedDimmableLoadControl: DeviceTypeDefinition;
66
- export declare const dimmableMountedSwitch: DeviceTypeDefinition;
67
63
  export declare const pump: DeviceTypeDefinition;
68
- export declare const pumpDevice: DeviceTypeDefinition;
69
64
  export declare const waterValve: DeviceTypeDefinition;
70
65
  export declare const irrigationSystem: DeviceTypeDefinition;
71
66
  export declare const onOffLightSwitch: DeviceTypeDefinition;
72
- export declare const onOffSwitch: DeviceTypeDefinition;
73
67
  export declare const dimmerSwitch: DeviceTypeDefinition;
74
- export declare const dimmableSwitch: DeviceTypeDefinition;
75
68
  export declare const colorDimmerSwitch: DeviceTypeDefinition;
76
- export declare const colorTemperatureSwitch: DeviceTypeDefinition;
77
69
  export declare const controlBridge: DeviceTypeDefinition;
78
70
  export declare const pumpController: DeviceTypeDefinition;
79
71
  export declare const genericSwitch: DeviceTypeDefinition;
@@ -92,24 +84,19 @@ export declare const waterLeakDetector: DeviceTypeDefinition;
92
84
  export declare const rainSensor: DeviceTypeDefinition;
93
85
  export declare const soilSensor: DeviceTypeDefinition;
94
86
  export declare const doorLock: DeviceTypeDefinition;
95
- export declare const doorLockDevice: DeviceTypeDefinition;
96
87
  export declare const doorLockController: DeviceTypeDefinition;
97
88
  export declare const windowCovering: DeviceTypeDefinition;
98
- export declare const coverDevice: DeviceTypeDefinition;
99
89
  export declare const windowCoveringController: DeviceTypeDefinition;
100
90
  export declare const closure: DeviceTypeDefinition;
101
91
  export declare const closurePanel: DeviceTypeDefinition;
102
92
  export declare const closureController: DeviceTypeDefinition;
103
93
  export declare const thermostat: DeviceTypeDefinition;
104
- export declare const thermostatDevice: DeviceTypeDefinition;
105
94
  export declare const fan: DeviceTypeDefinition;
106
- export declare const fanDevice: DeviceTypeDefinition;
107
95
  export declare const airPurifier: DeviceTypeDefinition;
108
96
  export declare const thermostatController: DeviceTypeDefinition;
109
97
  export declare const basicVideoPlayer: DeviceTypeDefinition;
110
98
  export declare const castingVideoPlayer: DeviceTypeDefinition;
111
99
  export declare const speaker: DeviceTypeDefinition;
112
- export declare const speakerDevice: DeviceTypeDefinition;
113
100
  export declare const contentApp: DeviceTypeDefinition;
114
101
  export declare const castingVideoClient: DeviceTypeDefinition;
115
102
  export declare const videoRemoteControl: DeviceTypeDefinition;
@@ -120,7 +107,6 @@ export declare const roboticVacuumCleaner: DeviceTypeDefinition;
120
107
  export declare const laundryWasher: DeviceTypeDefinition;
121
108
  export declare const refrigerator: DeviceTypeDefinition;
122
109
  export declare const roomAirConditioner: DeviceTypeDefinition;
123
- export declare const airConditioner: DeviceTypeDefinition;
124
110
  export declare const temperatureControlledCabinetCooler: DeviceTypeDefinition;
125
111
  export declare const temperatureControlledCabinetHeater: DeviceTypeDefinition;
126
112
  export declare const dishwasher: DeviceTypeDefinition;
@@ -279,7 +279,6 @@ export const onOffPlugInUnit = DeviceTypeDefinition({
279
279
  requiredClientClusters: [],
280
280
  optionalClientClusters: [OccupancySensing.id],
281
281
  });
282
- export const onOffOutlet = onOffPlugInUnit;
283
282
  export const dimmablePlugInUnit = DeviceTypeDefinition({
284
283
  name: 'DimmablePlugInUnit',
285
284
  code: 0x010b,
@@ -291,7 +290,6 @@ export const dimmablePlugInUnit = DeviceTypeDefinition({
291
290
  requiredClientClusters: [],
292
291
  optionalClientClusters: [OccupancySensing.id],
293
292
  });
294
- export const dimmableOutlet = dimmablePlugInUnit;
295
293
  export const mountedOnOffControl = DeviceTypeDefinition({
296
294
  name: 'MountedOnOffControl',
297
295
  code: 0x010f,
@@ -303,7 +301,6 @@ export const mountedOnOffControl = DeviceTypeDefinition({
303
301
  requiredClientClusters: [],
304
302
  optionalClientClusters: [OccupancySensing.id],
305
303
  });
306
- export const onOffMountedSwitch = mountedOnOffControl;
307
304
  export const mountedDimmableLoadControl = DeviceTypeDefinition({
308
305
  name: 'MountedDimmableLoadControl',
309
306
  code: 0x0110,
@@ -315,7 +312,6 @@ export const mountedDimmableLoadControl = DeviceTypeDefinition({
315
312
  requiredClientClusters: [],
316
313
  optionalClientClusters: [OccupancySensing.id],
317
314
  });
318
- export const dimmableMountedSwitch = mountedDimmableLoadControl;
319
315
  export const pump = DeviceTypeDefinition({
320
316
  name: 'Pump',
321
317
  code: 0x303,
@@ -327,7 +323,6 @@ export const pump = DeviceTypeDefinition({
327
323
  requiredClientClusters: [],
328
324
  optionalClientClusters: [TemperatureMeasurement.id, PressureMeasurement.id, FlowMeasurement.id, OccupancySensing.id],
329
325
  });
330
- export const pumpDevice = pump;
331
326
  export const waterValve = DeviceTypeDefinition({
332
327
  name: 'WaterValve',
333
328
  code: 0x42,
@@ -362,7 +357,6 @@ export const onOffLightSwitch = DeviceTypeDefinition({
362
357
  requiredClientClusters: [Identify.id, OnOff.id],
363
358
  optionalClientClusters: [Groups.id, ScenesManagement.id],
364
359
  });
365
- export const onOffSwitch = onOffLightSwitch;
366
360
  export const dimmerSwitch = DeviceTypeDefinition({
367
361
  name: 'DimmerSwitch',
368
362
  code: 0x0104,
@@ -374,7 +368,6 @@ export const dimmerSwitch = DeviceTypeDefinition({
374
368
  requiredClientClusters: [Identify.id, OnOff.id, LevelControl.id],
375
369
  optionalClientClusters: [Groups.id, ScenesManagement.id],
376
370
  });
377
- export const dimmableSwitch = dimmerSwitch;
378
371
  export const colorDimmerSwitch = DeviceTypeDefinition({
379
372
  name: 'ColorDimmerSwitch',
380
373
  code: 0x0105,
@@ -386,7 +379,6 @@ export const colorDimmerSwitch = DeviceTypeDefinition({
386
379
  requiredClientClusters: [Identify.id, OnOff.id, LevelControl.id, ColorControl.id],
387
380
  optionalClientClusters: [Groups.id, ScenesManagement.id],
388
381
  });
389
- export const colorTemperatureSwitch = colorDimmerSwitch;
390
382
  export const controlBridge = DeviceTypeDefinition({
391
383
  name: 'ControlBridge',
392
384
  code: 0x0840,
@@ -564,7 +556,6 @@ export const doorLock = DeviceTypeDefinition({
564
556
  requiredServerClusters: [Identify.id, DoorLock.id],
565
557
  optionalServerClusters: [],
566
558
  });
567
- export const doorLockDevice = doorLock;
568
559
  export const doorLockController = DeviceTypeDefinition({
569
560
  name: 'DoorLockController',
570
561
  code: 0x00b,
@@ -585,7 +576,6 @@ export const windowCovering = DeviceTypeDefinition({
585
576
  requiredServerClusters: [Identify.id, WindowCovering.id],
586
577
  optionalServerClusters: [Groups.id],
587
578
  });
588
- export const coverDevice = windowCovering;
589
579
  export const windowCoveringController = DeviceTypeDefinition({
590
580
  name: 'WindowCoveringController',
591
581
  code: 0x203,
@@ -637,7 +627,6 @@ export const thermostat = DeviceTypeDefinition({
637
627
  requiredClientClusters: [],
638
628
  optionalClientClusters: [FanControl.id, TemperatureMeasurement.id, RelativeHumidityMeasurement.id, OccupancySensing.id, AmbientContextSensing.id],
639
629
  });
640
- export const thermostatDevice = thermostat;
641
630
  export const fan = DeviceTypeDefinition({
642
631
  name: 'Fan',
643
632
  code: 0x2b,
@@ -647,7 +636,6 @@ export const fan = DeviceTypeDefinition({
647
636
  requiredServerClusters: [Identify.id, Groups.id, FanControl.id],
648
637
  optionalServerClusters: [OnOff.id],
649
638
  });
650
- export const fanDevice = fan;
651
639
  export const airPurifier = DeviceTypeDefinition({
652
640
  name: 'AirPurifier',
653
641
  code: 0x2d,
@@ -706,7 +694,6 @@ export const speaker = DeviceTypeDefinition({
706
694
  requiredServerClusters: [OnOff.id, LevelControl.id],
707
695
  optionalServerClusters: [],
708
696
  });
709
- export const speakerDevice = speaker;
710
697
  export const contentApp = DeviceTypeDefinition({
711
698
  name: 'ContentApp',
712
699
  code: 0x0024,
@@ -828,7 +815,6 @@ export const roomAirConditioner = DeviceTypeDefinition({
828
815
  ActivatedCarbonFilterMonitoring.id,
829
816
  ],
830
817
  });
831
- export const airConditioner = roomAirConditioner;
832
818
  export const temperatureControlledCabinetCooler = DeviceTypeDefinition({
833
819
  name: 'TemperatureControlledCabinet',
834
820
  code: 0x71,
@@ -108,7 +108,6 @@ export declare class MatterbridgeEndpoint extends Endpoint {
108
108
  triggerEvent<T extends Behavior.Type, E extends BehaviorEventName<T>>(cluster: T, event: E, payload: BehaviorEventPayload<T, E>, log?: AnsiLogger): Promise<boolean>;
109
109
  triggerEvent<T extends ClusterType, E extends ClusterEventName<T>>(cluster: T, event: E, payload: ClusterEventPayload<T, E>, log?: AnsiLogger): Promise<boolean>;
110
110
  triggerEvent(cluster: ClusterId | string, event: string, payload: Record<string, boolean | number | bigint | string | object | undefined | null>, log?: AnsiLogger): Promise<boolean>;
111
- addClusterServers(serverList: ClusterId[]): this;
112
111
  addFixedLabel(label: string, value: string): Promise<this>;
113
112
  addUserLabel(label: string, value: string): Promise<this>;
114
113
  addCommandHandler<C extends CommandHandlers>(command: C, handler: CommandHandlerFunction<C>): this;
@@ -122,13 +121,13 @@ export declare class MatterbridgeEndpoint extends Endpoint {
122
121
  addOptionalClusterServers(): MatterbridgeEndpoint;
123
122
  addRequiredClusterClients(): MatterbridgeEndpoint;
124
123
  addOptionalClusterClients(): MatterbridgeEndpoint;
124
+ addClusterServers(serverList: ClusterId[]): this;
125
125
  addClusterClients(clientList: ClusterId[]): MatterbridgeEndpoint;
126
126
  getAllClusterServers(): Behavior.Type[];
127
127
  getAllClusterServerNames(): string[];
128
128
  forEachAttribute(callback: (clusterName: string, clusterId: number, attributeName: string, attributeId: number, attributeValue: boolean | number | bigint | string | object | null | undefined) => void): void;
129
129
  addChildDeviceType(endpointName: string, definition: DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>, options?: MatterbridgeEndpointOptions, debug?: boolean): MatterbridgeEndpoint;
130
130
  addChildDeviceTypeWithClusterServer(endpointName: string, definition: DeviceTypeDefinition | AtLeastOne<DeviceTypeDefinition>, serverList?: ClusterId[], options?: MatterbridgeEndpointOptions, debug?: boolean): MatterbridgeEndpoint;
131
- getChildEndpointByName(endpointName: string): MatterbridgeEndpoint | undefined;
132
131
  getChildEndpointById(id: string): MatterbridgeEndpoint | undefined;
133
132
  getChildEndpointByOriginalId(originalId: string): MatterbridgeEndpoint | undefined;
134
133
  getChildEndpoint(endpointNumber: EndpointNumber): MatterbridgeEndpoint | undefined;
@@ -256,10 +256,6 @@ export class MatterbridgeEndpoint extends Endpoint {
256
256
  async triggerEvent(cluster, event, payload, log) {
257
257
  return await triggerEvent(this, cluster, event, payload, log);
258
258
  }
259
- addClusterServers(serverList) {
260
- addClusterServers(this, serverList);
261
- return this;
262
- }
263
259
  async addFixedLabel(label, value) {
264
260
  await addFixedLabel(this, label, value);
265
261
  return this;
@@ -303,6 +299,10 @@ export class MatterbridgeEndpoint extends Endpoint {
303
299
  addOptionalClusterClients(this);
304
300
  return this;
305
301
  }
302
+ addClusterServers(serverList) {
303
+ addClusterServers(this, serverList);
304
+ return this;
305
+ }
306
306
  addClusterClients(clientList) {
307
307
  addClusterClients(this, clientList);
308
308
  return this;
@@ -446,9 +446,6 @@ export class MatterbridgeEndpoint extends Endpoint {
446
446
  }
447
447
  return child;
448
448
  }
449
- getChildEndpointByName(endpointName) {
450
- return this.parts.find((part) => part.id === endpointName);
451
- }
452
449
  getChildEndpointById(id) {
453
450
  return this.parts.find((part) => part.id === id);
454
451
  }
@@ -1,4 +1,3 @@
1
- import type { HandlerFunction } from '@matter/general';
2
1
  import type { ActionContext } from '@matter/main';
3
2
  import type { ClusterType } from '@matter/types/cluster';
4
3
  import type { ActivatedCarbonFilterMonitoring } from '@matter/types/clusters/activated-carbon-filter-monitoring';
@@ -39,80 +38,6 @@ import type { WindowCovering } from '@matter/types/clusters/window-covering';
39
38
  import type { ClosureControl } from './clusters/closure-control.js';
40
39
  import type { ClosureDimension } from './clusters/closure-dimension.js';
41
40
  import type { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
42
- export interface MatterbridgeEndpointCommands {
43
- identify: HandlerFunction;
44
- triggerEffect: HandlerFunction;
45
- on: HandlerFunction;
46
- off: HandlerFunction;
47
- toggle: HandlerFunction;
48
- offWithEffect: HandlerFunction;
49
- moveToLevel: HandlerFunction;
50
- moveToLevelWithOnOff: HandlerFunction;
51
- moveToColor: HandlerFunction;
52
- moveColor: HandlerFunction;
53
- stepColor: HandlerFunction;
54
- moveToHue: HandlerFunction;
55
- moveHue: HandlerFunction;
56
- stepHue: HandlerFunction;
57
- enhancedMoveToHue: HandlerFunction;
58
- enhancedMoveHue: HandlerFunction;
59
- enhancedStepHue: HandlerFunction;
60
- moveToSaturation: HandlerFunction;
61
- moveSaturation: HandlerFunction;
62
- stepSaturation: HandlerFunction;
63
- moveToHueAndSaturation: HandlerFunction;
64
- enhancedMoveToHueAndSaturation: HandlerFunction;
65
- moveToColorTemperature: HandlerFunction;
66
- upOrOpen: HandlerFunction;
67
- downOrClose: HandlerFunction;
68
- stopMotion: HandlerFunction;
69
- goToLiftPercentage: HandlerFunction;
70
- goToTiltPercentage: HandlerFunction;
71
- moveTo: HandlerFunction;
72
- setTarget: HandlerFunction;
73
- lockDoor: HandlerFunction;
74
- unlockDoor: HandlerFunction;
75
- setpointRaiseLower: HandlerFunction;
76
- setActivePresetRequest: HandlerFunction;
77
- step: HandlerFunction;
78
- changeToMode: HandlerFunction;
79
- open: HandlerFunction;
80
- close: HandlerFunction;
81
- suppressAlarm: HandlerFunction;
82
- enableDisableAlarm: HandlerFunction;
83
- selfTestRequest: HandlerFunction;
84
- resetCounts: HandlerFunction;
85
- setUtcTime: HandlerFunction;
86
- setTimeZone: HandlerFunction;
87
- setDstOffset: HandlerFunction;
88
- pauseRequest: HandlerFunction;
89
- resumeRequest: HandlerFunction;
90
- pause: HandlerFunction;
91
- stop: HandlerFunction;
92
- start: HandlerFunction;
93
- resume: HandlerFunction;
94
- goHome: HandlerFunction;
95
- selectAreas: HandlerFunction;
96
- boost: HandlerFunction;
97
- cancelBoost: HandlerFunction;
98
- enableCharging: HandlerFunction;
99
- disable: HandlerFunction;
100
- setTargets: HandlerFunction;
101
- getTargets: HandlerFunction;
102
- clearTargets: HandlerFunction;
103
- powerAdjustRequest: HandlerFunction;
104
- cancelPowerAdjustRequest: HandlerFunction;
105
- setTemperature: HandlerFunction;
106
- setCookingParameters: HandlerFunction;
107
- addMoreTime: HandlerFunction;
108
- play: HandlerFunction;
109
- previous: HandlerFunction;
110
- next: HandlerFunction;
111
- skipForward: HandlerFunction;
112
- skipBackward: HandlerFunction;
113
- sendKey: HandlerFunction;
114
- resetCondition: HandlerFunction;
115
- }
116
41
  type OptionalKeys<T> = {
117
42
  [K in keyof T]-?: T[K] extends {
118
43
  optional: true;
@@ -1,12 +1,16 @@
1
1
  import { createHash } from 'node:crypto';
2
2
  import { Lifecycle } from '@matter/general';
3
3
  import { ClusterBehavior } from '@matter/node';
4
+ import { ActivatedCarbonFilterMonitoringServer } from '@matter/node/behaviors/activated-carbon-filter-monitoring';
4
5
  import { AirQualityServer } from '@matter/node/behaviors/air-quality';
6
+ import { AmbientContextSensingClient } from '@matter/node/behaviors/ambient-context-sensing';
5
7
  import { BasicInformationServer } from '@matter/node/behaviors/basic-information';
6
8
  import { BooleanStateServer } from '@matter/node/behaviors/boolean-state';
7
9
  import { BridgedDeviceBasicInformationServer } from '@matter/node/behaviors/bridged-device-basic-information';
8
10
  import { CarbonDioxideConcentrationMeasurementServer } from '@matter/node/behaviors/carbon-dioxide-concentration-measurement';
9
11
  import { CarbonMonoxideConcentrationMeasurementServer } from '@matter/node/behaviors/carbon-monoxide-concentration-measurement';
12
+ import { ClosureControlClient } from '@matter/node/behaviors/closure-control';
13
+ import { ClosureDimensionClient } from '@matter/node/behaviors/closure-dimension';
10
14
  import { ColorControlClient } from '@matter/node/behaviors/color-control';
11
15
  import { DoorLockClient } from '@matter/node/behaviors/door-lock';
12
16
  import { ElectricalEnergyMeasurementServer } from '@matter/node/behaviors/electrical-energy-measurement';
@@ -17,6 +21,7 @@ import { FixedLabelServer } from '@matter/node/behaviors/fixed-label';
17
21
  import { FlowMeasurementClient, FlowMeasurementServer } from '@matter/node/behaviors/flow-measurement';
18
22
  import { FormaldehydeConcentrationMeasurementServer } from '@matter/node/behaviors/formaldehyde-concentration-measurement';
19
23
  import { GroupsClient, GroupsServer } from '@matter/node/behaviors/groups';
24
+ import { HepaFilterMonitoringServer } from '@matter/node/behaviors/hepa-filter-monitoring';
20
25
  import { IdentifyClient } from '@matter/node/behaviors/identify';
21
26
  import { IlluminanceMeasurementClient, IlluminanceMeasurementServer } from '@matter/node/behaviors/illuminance-measurement';
22
27
  import { LevelControlClient } from '@matter/node/behaviors/level-control';
@@ -40,17 +45,22 @@ import { SoilMeasurementServer } from '@matter/node/behaviors/soil-measurement';
40
45
  import { SwitchServer } from '@matter/node/behaviors/switch';
41
46
  import { TemperatureMeasurementClient, TemperatureMeasurementServer } from '@matter/node/behaviors/temperature-measurement';
42
47
  import { ThermostatClient } from '@matter/node/behaviors/thermostat';
48
+ import { ThermostatUserInterfaceConfigurationServer } from '@matter/node/behaviors/thermostat-user-interface-configuration';
43
49
  import { TotalVolatileOrganicCompoundsConcentrationMeasurementServer } from '@matter/node/behaviors/total-volatile-organic-compounds-concentration-measurement';
44
50
  import { UserLabelServer } from '@matter/node/behaviors/user-label';
45
51
  import { WindowCoveringClient } from '@matter/node/behaviors/window-covering';
46
52
  import { getClusterNameById } from '@matter/types/cluster';
53
+ import { ActivatedCarbonFilterMonitoring } from '@matter/types/clusters/activated-carbon-filter-monitoring';
47
54
  import { AirQuality } from '@matter/types/clusters/air-quality';
55
+ import { AmbientContextSensing } from '@matter/types/clusters/ambient-context-sensing';
48
56
  import { BasicInformation } from '@matter/types/clusters/basic-information';
49
57
  import { BooleanState } from '@matter/types/clusters/boolean-state';
50
58
  import { BooleanStateConfiguration } from '@matter/types/clusters/boolean-state-configuration';
51
59
  import { BridgedDeviceBasicInformation } from '@matter/types/clusters/bridged-device-basic-information';
52
60
  import { CarbonDioxideConcentrationMeasurement } from '@matter/types/clusters/carbon-dioxide-concentration-measurement';
53
61
  import { CarbonMonoxideConcentrationMeasurement } from '@matter/types/clusters/carbon-monoxide-concentration-measurement';
62
+ import { ClosureControl } from '@matter/types/clusters/closure-control';
63
+ import { ClosureDimension } from '@matter/types/clusters/closure-dimension';
54
64
  import { ColorControl } from '@matter/types/clusters/color-control';
55
65
  import { DeviceEnergyManagement } from '@matter/types/clusters/device-energy-management';
56
66
  import { DeviceEnergyManagementMode } from '@matter/types/clusters/device-energy-management-mode';
@@ -63,6 +73,7 @@ import { FixedLabel } from '@matter/types/clusters/fixed-label';
63
73
  import { FlowMeasurement } from '@matter/types/clusters/flow-measurement';
64
74
  import { FormaldehydeConcentrationMeasurement } from '@matter/types/clusters/formaldehyde-concentration-measurement';
65
75
  import { Groups } from '@matter/types/clusters/groups';
76
+ import { HepaFilterMonitoring } from '@matter/types/clusters/hepa-filter-monitoring';
66
77
  import { Identify } from '@matter/types/clusters/identify';
67
78
  import { IlluminanceMeasurement } from '@matter/types/clusters/illuminance-measurement';
68
79
  import { LevelControl } from '@matter/types/clusters/level-control';
@@ -89,6 +100,7 @@ import { SoilMeasurement } from '@matter/types/clusters/soil-measurement';
89
100
  import { Switch } from '@matter/types/clusters/switch';
90
101
  import { TemperatureMeasurement } from '@matter/types/clusters/temperature-measurement';
91
102
  import { Thermostat } from '@matter/types/clusters/thermostat';
103
+ import { ThermostatUserInterfaceConfiguration } from '@matter/types/clusters/thermostat-user-interface-configuration';
92
104
  import { TotalVolatileOrganicCompoundsConcentrationMeasurement } from '@matter/types/clusters/total-volatile-organic-compounds-concentration-measurement';
93
105
  import { UserLabel } from '@matter/types/clusters/user-label';
94
106
  import { ValveConfigurationAndControl } from '@matter/types/clusters/valve-configuration-and-control';
@@ -269,6 +281,8 @@ export function getBehaviourTypeFromClusterServerId(clusterId) {
269
281
  return MatterbridgeWindowCoveringServer.with('Lift', 'PositionAwareLift');
270
282
  if (clusterId === Thermostat.id)
271
283
  return MatterbridgeThermostatServer.with('AutoMode', 'Heating', 'Cooling');
284
+ if (clusterId === ThermostatUserInterfaceConfiguration.id)
285
+ return ThermostatUserInterfaceConfigurationServer;
272
286
  if (clusterId === FanControl.id)
273
287
  return MatterbridgeFanControlServer;
274
288
  if (clusterId === DoorLock.id)
@@ -311,6 +325,10 @@ export function getBehaviourTypeFromClusterServerId(clusterId) {
311
325
  return SoilMeasurementServer;
312
326
  if (clusterId === AirQuality.id)
313
327
  return AirQualityServer.with('Fair', 'Moderate', 'VeryPoor', 'ExtremelyPoor');
328
+ if (clusterId === HepaFilterMonitoring.id)
329
+ return HepaFilterMonitoringServer.with('Condition', 'Warning', 'ReplacementProductList');
330
+ if (clusterId === ActivatedCarbonFilterMonitoring.id)
331
+ return ActivatedCarbonFilterMonitoringServer.with('Condition', 'Warning', 'ReplacementProductList');
314
332
  if (clusterId === CarbonMonoxideConcentrationMeasurement.id)
315
333
  return CarbonMonoxideConcentrationMeasurementServer.with('NumericMeasurement');
316
334
  if (clusterId === CarbonDioxideConcentrationMeasurement.id)
@@ -348,8 +366,14 @@ export function getBehaviourTypeFromClusterClientId(clusterId) {
348
366
  return LevelControlClient;
349
367
  if (clusterId === ColorControl.id)
350
368
  return ColorControlClient;
369
+ if (clusterId === ClosureControl.id)
370
+ return ClosureControlClient;
371
+ if (clusterId === ClosureDimension.id)
372
+ return ClosureDimensionClient;
351
373
  if (clusterId === OccupancySensing.id)
352
374
  return OccupancySensingClient;
375
+ if (clusterId === AmbientContextSensing.id)
376
+ return AmbientContextSensingClient;
353
377
  if (clusterId === ScenesManagement.id)
354
378
  return ScenesManagementClient;
355
379
  if (clusterId === DoorLock.id)
@@ -492,6 +516,8 @@ export function addClusterServers(endpoint, serverList) {
492
516
  endpoint.createDefaultWindowCoveringClusterServer();
493
517
  if (serverList.includes(Thermostat.id))
494
518
  endpoint.createDefaultThermostatClusterServer();
519
+ if (serverList.includes(ThermostatUserInterfaceConfiguration.id))
520
+ endpoint.createDefaultThermostatUserInterfaceConfigurationClusterServer();
495
521
  if (serverList.includes(FanControl.id))
496
522
  endpoint.createDefaultFanControlClusterServer();
497
523
  if (serverList.includes(DoorLock.id))
@@ -532,6 +558,10 @@ export function addClusterServers(endpoint, serverList) {
532
558
  endpoint.createDefaultSoilMeasurementClusterServer();
533
559
  if (serverList.includes(AirQuality.id))
534
560
  endpoint.createDefaultAirQualityClusterServer();
561
+ if (serverList.includes(HepaFilterMonitoring.id))
562
+ endpoint.createDefaultHepaFilterMonitoringClusterServer();
563
+ if (serverList.includes(ActivatedCarbonFilterMonitoring.id))
564
+ endpoint.createDefaultActivatedCarbonFilterMonitoringClusterServer();
535
565
  if (serverList.includes(CarbonMonoxideConcentrationMeasurement.id))
536
566
  endpoint.createDefaultCarbonMonoxideConcentrationMeasurementClusterServer();
537
567
  if (serverList.includes(CarbonDioxideConcentrationMeasurement.id))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matterbridge/core",
3
- "version": "3.9.5-dev-20260714-6230956",
3
+ "version": "3.10.0-dev-20260716-572b03b",
4
4
  "description": "Matterbridge core library",
5
5
  "author": "https://github.com/Luligu",
6
6
  "homepage": "https://matterbridge.io/",
@@ -70,10 +70,6 @@
70
70
  "types": "./dist/dgram/export.d.ts",
71
71
  "import": "./dist/dgram/export.js"
72
72
  },
73
- "./jestutils": {
74
- "types": "./dist/jestutils/export.d.ts",
75
- "import": "./dist/jestutils/export.js"
76
- },
77
73
  "./matter": {
78
74
  "types": "./dist/matter/export.d.ts",
79
75
  "import": "./dist/matter/export.js"
@@ -136,16 +132,16 @@
136
132
  },
137
133
  "dependencies": {
138
134
  "@matter/main": "0.17.5",
139
- "@matterbridge/dgram": "3.9.5-dev-20260714-6230956",
140
- "@matterbridge/thread": "3.9.5-dev-20260714-6230956",
141
- "@matterbridge/types": "3.9.5-dev-20260714-6230956",
142
- "@matterbridge/utils": "3.9.5-dev-20260714-6230956",
135
+ "@matterbridge/dgram": "3.10.0-dev-20260716-572b03b",
136
+ "@matterbridge/thread": "3.10.0-dev-20260716-572b03b",
137
+ "@matterbridge/types": "3.10.0-dev-20260716-572b03b",
138
+ "@matterbridge/utils": "3.10.0-dev-20260716-572b03b",
143
139
  "escape-html": "1.0.3",
144
140
  "express": "5.2.1",
145
141
  "express-rate-limit": "8.5.2",
146
142
  "multer": "2.2.0",
147
143
  "node-ansi-logger": "3.3.0",
148
144
  "node-persist-manager": "2.1.0",
149
- "ws": "8.21.0"
145
+ "ws": "8.21.1"
150
146
  }
151
147
  }
@@ -1,13 +0,0 @@
1
- export * from './flushAsync.js';
2
- export * from './jestBroadcastServerSpy.js';
3
- export * from './jestDeviceManagerSpy.js';
4
- export * from './jestFrontendSpy.js';
5
- export * from './jestMatterbridgeEndpointSpy.js';
6
- export * from './jestMatterbridgePlatformSpy.js';
7
- export * from './jestMatterbridgeSpy.js';
8
- export * from './jestMatterbridgeTest.js';
9
- export * from './jestMatterTest.js';
10
- export * from './jestPluginManagerSpy.js';
11
- export * from './jestSetupTest.js';
12
- export * from './logKeepAlives.js';
13
- export * from './matterRequest.js';
@@ -1,13 +0,0 @@
1
- export * from './flushAsync.js';
2
- export * from './jestBroadcastServerSpy.js';
3
- export * from './jestDeviceManagerSpy.js';
4
- export * from './jestFrontendSpy.js';
5
- export * from './jestMatterbridgeEndpointSpy.js';
6
- export * from './jestMatterbridgePlatformSpy.js';
7
- export * from './jestMatterbridgeSpy.js';
8
- export * from './jestMatterbridgeTest.js';
9
- export * from './jestMatterTest.js';
10
- export * from './jestPluginManagerSpy.js';
11
- export * from './jestSetupTest.js';
12
- export * from './logKeepAlives.js';
13
- export * from './matterRequest.js';
@@ -1 +0,0 @@
1
- export declare function flushAsync(ticks?: number, microTurns?: number, pause?: number): Promise<void>;
@@ -1,8 +0,0 @@
1
- export async function flushAsync(ticks = 3, microTurns = 10, pause = 250) {
2
- for (let i = 0; i < ticks; i++)
3
- await new Promise((resolve) => setImmediate(resolve));
4
- for (let i = 0; i < microTurns; i++)
5
- await Promise.resolve();
6
- if (pause)
7
- await new Promise((resolve) => setTimeout(resolve, pause));
8
- }