@matterbridge/core 3.6.2-dev-20260317-e291a17 → 3.7.0-dev-20260318-c9f4120

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.
@@ -0,0 +1,632 @@
1
+ import { ActivatedCarbonFilterMonitoring } from '@matter/types/clusters/activated-carbon-filter-monitoring';
2
+ import { BooleanStateConfiguration } from '@matter/types/clusters/boolean-state-configuration';
3
+ import { ColorControl } from '@matter/types/clusters/color-control';
4
+ import { DeviceEnergyManagement } from '@matter/types/clusters/device-energy-management';
5
+ import { DeviceEnergyManagementMode } from '@matter/types/clusters/device-energy-management-mode';
6
+ import { DishwasherMode } from '@matter/types/clusters/dishwasher-mode';
7
+ import { DoorLock } from '@matter/types/clusters/door-lock';
8
+ import { EnergyEvse } from '@matter/types/clusters/energy-evse';
9
+ import { EnergyEvseMode } from '@matter/types/clusters/energy-evse-mode';
10
+ import { FanControl } from '@matter/types/clusters/fan-control';
11
+ import { HepaFilterMonitoring } from '@matter/types/clusters/hepa-filter-monitoring';
12
+ import { Identify } from '@matter/types/clusters/identify';
13
+ import { KeypadInput } from '@matter/types/clusters/keypad-input';
14
+ import { LaundryWasherMode } from '@matter/types/clusters/laundry-washer-mode';
15
+ import { LevelControl } from '@matter/types/clusters/level-control';
16
+ import { MediaPlayback } from '@matter/types/clusters/media-playback';
17
+ import { MicrowaveOvenControl } from '@matter/types/clusters/microwave-oven-control';
18
+ import { ModeBase } from '@matter/types/clusters/mode-base';
19
+ import { ModeSelect } from '@matter/types/clusters/mode-select';
20
+ import { OnOff } from '@matter/types/clusters/on-off';
21
+ import { OperationalState } from '@matter/types/clusters/operational-state';
22
+ import { ResourceMonitoring } from '@matter/types/clusters/resource-monitoring';
23
+ import { RvcCleanMode } from '@matter/types/clusters/rvc-clean-mode';
24
+ import { RvcOperationalState } from '@matter/types/clusters/rvc-operational-state';
25
+ import { RvcRunMode } from '@matter/types/clusters/rvc-run-mode';
26
+ import { ServiceArea } from '@matter/types/clusters/service-area';
27
+ import { SmokeCoAlarm } from '@matter/types/clusters/smoke-co-alarm';
28
+ import { TemperatureControl } from '@matter/types/clusters/temperature-control';
29
+ import { Thermostat } from '@matter/types/clusters/thermostat';
30
+ import { ThreadNetworkDiagnostics } from '@matter/types/clusters/thread-network-diagnostics';
31
+ import { TimeSynchronization } from '@matter/types/clusters/time-synchronization';
32
+ import { ValveConfigurationAndControl } from '@matter/types/clusters/valve-configuration-and-control';
33
+ import { WaterHeaterManagement } from '@matter/types/clusters/water-heater-management';
34
+ import { WaterHeaterMode } from '@matter/types/clusters/water-heater-mode';
35
+ import { WindowCovering } from '@matter/types/clusters/window-covering';
36
+ import { ClosureControl } from './clusters/closure-control.js';
37
+ import { ClosureDimension } from './clusters/closure-dimension.js';
38
+ import type { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
39
+ export type CommandHandlers = keyof CommandHandlerDataMap;
40
+ export type MatterbridgeEndpointCommands = keyof CommandHandlerDataMap;
41
+ export type CommandHandlerData<T extends CommandHandlers = CommandHandlers> = CommandHandlerDataMap[T];
42
+ export type CommandHandlerFunction<T extends CommandHandlers = CommandHandlers> = (data: CommandHandlerData<T>) => void | Promise<void>;
43
+ export type CommandHandlerDataMap = {
44
+ 'identify': CommandHandlerData<'Identify.identify'>;
45
+ 'triggerEffect': CommandHandlerData<'Identify.triggerEffect'>;
46
+ 'Identify.identify': {
47
+ request: Identify.IdentifyRequest;
48
+ cluster: 'identify';
49
+ attributes: (typeof Identify.ClusterInstance)['attributes'];
50
+ endpoint: MatterbridgeEndpoint;
51
+ };
52
+ 'Identify.triggerEffect': {
53
+ request: Identify.TriggerEffectRequest;
54
+ cluster: 'identify';
55
+ attributes: (typeof Identify.ClusterInstance)['attributes'];
56
+ endpoint: MatterbridgeEndpoint;
57
+ };
58
+ 'on': CommandHandlerData<'OnOff.on'>;
59
+ 'off': CommandHandlerData<'OnOff.off'>;
60
+ 'toggle': CommandHandlerData<'OnOff.toggle'>;
61
+ 'offWithEffect': CommandHandlerData<'OnOff.offWithEffect'>;
62
+ 'OnOff.on': {
63
+ request: {};
64
+ cluster: 'onOff';
65
+ attributes: (typeof OnOff.ClusterInstance)['attributes'];
66
+ endpoint: MatterbridgeEndpoint;
67
+ };
68
+ 'OnOff.off': {
69
+ request: {};
70
+ cluster: 'onOff';
71
+ attributes: (typeof OnOff.ClusterInstance)['attributes'];
72
+ endpoint: MatterbridgeEndpoint;
73
+ };
74
+ 'OnOff.toggle': {
75
+ request: {};
76
+ cluster: 'onOff';
77
+ attributes: (typeof OnOff.ClusterInstance)['attributes'];
78
+ endpoint: MatterbridgeEndpoint;
79
+ };
80
+ 'OnOff.offWithEffect': {
81
+ request: OnOff.OffWithEffectRequest;
82
+ cluster: 'onOff';
83
+ attributes: (typeof OnOff.ClusterInstance)['attributes'];
84
+ endpoint: MatterbridgeEndpoint;
85
+ };
86
+ 'moveToLevel': CommandHandlerData<'LevelControl.moveToLevel'>;
87
+ 'moveToLevelWithOnOff': CommandHandlerData<'LevelControl.moveToLevelWithOnOff'>;
88
+ 'LevelControl.moveToLevel': {
89
+ request: LevelControl.MoveToLevelRequest;
90
+ cluster: 'levelControl';
91
+ attributes: (typeof LevelControl.ClusterInstance)['attributes'];
92
+ endpoint: MatterbridgeEndpoint;
93
+ };
94
+ 'LevelControl.moveToLevelWithOnOff': {
95
+ request: LevelControl.MoveToLevelRequest;
96
+ cluster: 'levelControl';
97
+ attributes: (typeof LevelControl.ClusterInstance)['attributes'];
98
+ endpoint: MatterbridgeEndpoint;
99
+ };
100
+ 'moveToColor': CommandHandlerData<'ColorControl.moveToColor'>;
101
+ 'moveColor': CommandHandlerData<'ColorControl.moveColor'>;
102
+ 'stepColor': CommandHandlerData<'ColorControl.stepColor'>;
103
+ 'moveToHue': CommandHandlerData<'ColorControl.moveToHue'>;
104
+ 'moveHue': CommandHandlerData<'ColorControl.moveHue'>;
105
+ 'stepHue': CommandHandlerData<'ColorControl.stepHue'>;
106
+ 'enhancedMoveToHue': CommandHandlerData<'ColorControl.enhancedMoveToHue'>;
107
+ 'enhancedMoveHue': CommandHandlerData<'ColorControl.enhancedMoveHue'>;
108
+ 'enhancedStepHue': CommandHandlerData<'ColorControl.enhancedStepHue'>;
109
+ 'moveToSaturation': CommandHandlerData<'ColorControl.moveToSaturation'>;
110
+ 'moveSaturation': CommandHandlerData<'ColorControl.moveSaturation'>;
111
+ 'stepSaturation': CommandHandlerData<'ColorControl.stepSaturation'>;
112
+ 'moveToHueAndSaturation': CommandHandlerData<'ColorControl.moveToHueAndSaturation'>;
113
+ 'enhancedMoveToHueAndSaturation': CommandHandlerData<'ColorControl.enhancedMoveToHueAndSaturation'>;
114
+ 'moveToColorTemperature': CommandHandlerData<'ColorControl.moveToColorTemperature'>;
115
+ 'ColorControl.moveToColor': {
116
+ request: ColorControl.MoveToColorRequest;
117
+ cluster: 'colorControl';
118
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
119
+ endpoint: MatterbridgeEndpoint;
120
+ };
121
+ 'ColorControl.moveColor': {
122
+ request: ColorControl.MoveColorRequest;
123
+ cluster: 'colorControl';
124
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
125
+ endpoint: MatterbridgeEndpoint;
126
+ };
127
+ 'ColorControl.stepColor': {
128
+ request: ColorControl.StepColorRequest;
129
+ cluster: 'colorControl';
130
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
131
+ endpoint: MatterbridgeEndpoint;
132
+ };
133
+ 'ColorControl.moveToHue': {
134
+ request: ColorControl.MoveToHueRequest;
135
+ cluster: 'colorControl';
136
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
137
+ endpoint: MatterbridgeEndpoint;
138
+ };
139
+ 'ColorControl.moveHue': {
140
+ request: ColorControl.MoveHueRequest;
141
+ cluster: 'colorControl';
142
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
143
+ endpoint: MatterbridgeEndpoint;
144
+ };
145
+ 'ColorControl.stepHue': {
146
+ request: ColorControl.StepHueRequest;
147
+ cluster: 'colorControl';
148
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
149
+ endpoint: MatterbridgeEndpoint;
150
+ };
151
+ 'ColorControl.enhancedMoveToHue': {
152
+ request: ColorControl.EnhancedMoveToHueRequest;
153
+ cluster: 'colorControl';
154
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
155
+ endpoint: MatterbridgeEndpoint;
156
+ };
157
+ 'ColorControl.enhancedMoveHue': {
158
+ request: ColorControl.EnhancedMoveHueRequest;
159
+ cluster: 'colorControl';
160
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
161
+ endpoint: MatterbridgeEndpoint;
162
+ };
163
+ 'ColorControl.enhancedStepHue': {
164
+ request: ColorControl.EnhancedStepHueRequest;
165
+ cluster: 'colorControl';
166
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
167
+ endpoint: MatterbridgeEndpoint;
168
+ };
169
+ 'ColorControl.moveToSaturation': {
170
+ request: ColorControl.MoveToSaturationRequest;
171
+ cluster: 'colorControl';
172
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
173
+ endpoint: MatterbridgeEndpoint;
174
+ };
175
+ 'ColorControl.moveSaturation': {
176
+ request: ColorControl.MoveSaturationRequest;
177
+ cluster: 'colorControl';
178
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
179
+ endpoint: MatterbridgeEndpoint;
180
+ };
181
+ 'ColorControl.stepSaturation': {
182
+ request: ColorControl.StepSaturationRequest;
183
+ cluster: 'colorControl';
184
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
185
+ endpoint: MatterbridgeEndpoint;
186
+ };
187
+ 'ColorControl.moveToHueAndSaturation': {
188
+ request: ColorControl.MoveToHueAndSaturationRequest;
189
+ cluster: 'colorControl';
190
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
191
+ endpoint: MatterbridgeEndpoint;
192
+ };
193
+ 'ColorControl.enhancedMoveToHueAndSaturation': {
194
+ request: ColorControl.EnhancedMoveToHueAndSaturationRequest;
195
+ cluster: 'colorControl';
196
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
197
+ endpoint: MatterbridgeEndpoint;
198
+ };
199
+ 'ColorControl.moveToColorTemperature': {
200
+ request: ColorControl.MoveToColorTemperatureRequest;
201
+ cluster: 'colorControl';
202
+ attributes: (typeof ColorControl.ClusterInstance)['attributes'];
203
+ endpoint: MatterbridgeEndpoint;
204
+ };
205
+ 'upOrOpen': CommandHandlerData<'WindowCovering.upOrOpen'>;
206
+ 'downOrClose': CommandHandlerData<'WindowCovering.downOrClose'>;
207
+ 'stopMotion': CommandHandlerData<'WindowCovering.stopMotion'>;
208
+ 'goToLiftPercentage': CommandHandlerData<'WindowCovering.goToLiftPercentage'>;
209
+ 'goToTiltPercentage': CommandHandlerData<'WindowCovering.goToTiltPercentage'>;
210
+ 'WindowCovering.upOrOpen': {
211
+ request: {};
212
+ cluster: 'windowCovering';
213
+ attributes: (typeof WindowCovering.CompleteInstance)['attributes'];
214
+ endpoint: MatterbridgeEndpoint;
215
+ };
216
+ 'WindowCovering.downOrClose': {
217
+ request: {};
218
+ cluster: 'windowCovering';
219
+ attributes: (typeof WindowCovering.CompleteInstance)['attributes'];
220
+ endpoint: MatterbridgeEndpoint;
221
+ };
222
+ 'WindowCovering.stopMotion': {
223
+ request: {};
224
+ cluster: 'windowCovering';
225
+ attributes: (typeof WindowCovering.CompleteInstance)['attributes'];
226
+ endpoint: MatterbridgeEndpoint;
227
+ };
228
+ 'WindowCovering.goToLiftPercentage': {
229
+ request: WindowCovering.GoToLiftPercentageRequest;
230
+ cluster: 'windowCovering';
231
+ attributes: (typeof WindowCovering.CompleteInstance)['attributes'];
232
+ endpoint: MatterbridgeEndpoint;
233
+ };
234
+ 'WindowCovering.goToTiltPercentage': {
235
+ request: WindowCovering.GoToTiltPercentageRequest;
236
+ cluster: 'windowCovering';
237
+ attributes: (typeof WindowCovering.CompleteInstance)['attributes'];
238
+ endpoint: MatterbridgeEndpoint;
239
+ };
240
+ 'ClosureControl.moveTo': {
241
+ request: ClosureControl.MoveToRequest;
242
+ cluster: 'closureControl';
243
+ attributes: (typeof ClosureControl.Complete)['attributes'];
244
+ endpoint: MatterbridgeEndpoint;
245
+ };
246
+ 'ClosureControl.stop': {
247
+ request: {};
248
+ cluster: 'closureControl';
249
+ attributes: (typeof ClosureControl.Complete)['attributes'];
250
+ endpoint: MatterbridgeEndpoint;
251
+ };
252
+ 'ClosureDimension.setTarget': {
253
+ request: ClosureDimension.SetTargetRequest;
254
+ cluster: 'closureDimension';
255
+ attributes: (typeof ClosureDimension.Complete)['attributes'];
256
+ endpoint: MatterbridgeEndpoint;
257
+ };
258
+ 'ClosureDimension.step': {
259
+ request: ClosureDimension.StepRequest;
260
+ cluster: 'closureDimension';
261
+ attributes: (typeof ClosureDimension.Complete)['attributes'];
262
+ endpoint: MatterbridgeEndpoint;
263
+ };
264
+ 'lockDoor': CommandHandlerData<'DoorLock.lockDoor'>;
265
+ 'unlockDoor': CommandHandlerData<'DoorLock.unlockDoor'>;
266
+ 'DoorLock.lockDoor': {
267
+ request: DoorLock.LockDoorRequest;
268
+ cluster: 'doorLock';
269
+ attributes: (typeof DoorLock.ClusterInstance)['attributes'];
270
+ endpoint: MatterbridgeEndpoint;
271
+ };
272
+ 'DoorLock.unlockDoor': {
273
+ request: DoorLock.UnlockDoorRequest;
274
+ cluster: 'doorLock';
275
+ attributes: (typeof DoorLock.ClusterInstance)['attributes'];
276
+ endpoint: MatterbridgeEndpoint;
277
+ };
278
+ 'setpointRaiseLower': CommandHandlerData<'Thermostat.setpointRaiseLower'>;
279
+ 'setActivePresetRequest': CommandHandlerData<'Thermostat.setActivePresetRequest'>;
280
+ 'Thermostat.setpointRaiseLower': {
281
+ request: Thermostat.SetpointRaiseLowerRequest;
282
+ cluster: 'thermostat';
283
+ attributes: (typeof Thermostat.CompleteInstance)['attributes'];
284
+ endpoint: MatterbridgeEndpoint;
285
+ };
286
+ 'Thermostat.setActivePresetRequest': {
287
+ request: Thermostat.SetActivePresetRequest;
288
+ cluster: 'thermostat';
289
+ attributes: (typeof Thermostat.CompleteInstance)['attributes'];
290
+ endpoint: MatterbridgeEndpoint;
291
+ };
292
+ 'step': CommandHandlerData<'FanControl.step'>;
293
+ 'FanControl.step': {
294
+ request: FanControl.StepRequest;
295
+ cluster: 'fanControl';
296
+ attributes: (typeof FanControl.ClusterInstance)['attributes'];
297
+ endpoint: MatterbridgeEndpoint;
298
+ };
299
+ 'changeToMode': CommandHandlerData<'ModeSelect.changeToMode'>;
300
+ 'ModeSelect.changeToMode': {
301
+ request: ModeSelect.ChangeToModeRequest;
302
+ cluster: 'modeSelect';
303
+ attributes: (typeof ModeSelect.ClusterInstance)['attributes'];
304
+ endpoint: MatterbridgeEndpoint;
305
+ };
306
+ 'DishwasherMode.changeToMode': {
307
+ request: ModeBase.ChangeToModeRequest;
308
+ cluster: 'dishwasherMode';
309
+ attributes: (typeof DishwasherMode.ClusterInstance)['attributes'];
310
+ endpoint: MatterbridgeEndpoint;
311
+ };
312
+ 'LaundryWasherMode.changeToMode': {
313
+ request: ModeBase.ChangeToModeRequest;
314
+ cluster: 'laundryWasherMode';
315
+ attributes: (typeof LaundryWasherMode.ClusterInstance)['attributes'];
316
+ endpoint: MatterbridgeEndpoint;
317
+ };
318
+ 'EnergyEvseMode.changeToMode': {
319
+ request: ModeBase.ChangeToModeRequest;
320
+ cluster: 'energyEvseMode';
321
+ attributes: (typeof EnergyEvseMode.ClusterInstance)['attributes'];
322
+ endpoint: MatterbridgeEndpoint;
323
+ };
324
+ 'RvcRunMode.changeToMode': {
325
+ request: ModeBase.ChangeToModeRequest;
326
+ cluster: 'rvcRunMode';
327
+ attributes: (typeof RvcRunMode.ClusterInstance)['attributes'];
328
+ endpoint: MatterbridgeEndpoint;
329
+ };
330
+ 'RvcCleanMode.changeToMode': {
331
+ request: ModeBase.ChangeToModeRequest;
332
+ cluster: 'rvcCleanMode';
333
+ attributes: (typeof RvcCleanMode.ClusterInstance)['attributes'];
334
+ endpoint: MatterbridgeEndpoint;
335
+ };
336
+ 'WaterHeaterMode.changeToMode': {
337
+ request: ModeBase.ChangeToModeRequest;
338
+ cluster: 'waterHeaterMode';
339
+ attributes: (typeof WaterHeaterMode.ClusterInstance)['attributes'];
340
+ endpoint: MatterbridgeEndpoint;
341
+ };
342
+ 'DeviceEnergyManagementMode.changeToMode': {
343
+ request: ModeBase.ChangeToModeRequest;
344
+ cluster: 'deviceEnergyManagementMode';
345
+ attributes: (typeof DeviceEnergyManagementMode.ClusterInstance)['attributes'];
346
+ endpoint: MatterbridgeEndpoint;
347
+ };
348
+ 'open': CommandHandlerData<'ValveConfigurationAndControl.open'>;
349
+ 'close': CommandHandlerData<'ValveConfigurationAndControl.close'>;
350
+ 'ValveConfigurationAndControl.open': {
351
+ request: ValveConfigurationAndControl.OpenRequest;
352
+ cluster: 'valveConfigurationAndControl';
353
+ attributes: (typeof ValveConfigurationAndControl.ClusterInstance)['attributes'];
354
+ endpoint: MatterbridgeEndpoint;
355
+ };
356
+ 'ValveConfigurationAndControl.close': {
357
+ request: {};
358
+ cluster: 'valveConfigurationAndControl';
359
+ attributes: (typeof ValveConfigurationAndControl.ClusterInstance)['attributes'];
360
+ endpoint: MatterbridgeEndpoint;
361
+ };
362
+ 'suppressAlarm': CommandHandlerData<'BooleanStateConfiguration.suppressAlarm'>;
363
+ 'enableDisableAlarm': CommandHandlerData<'BooleanStateConfiguration.enableDisableAlarm'>;
364
+ 'BooleanStateConfiguration.suppressAlarm': {
365
+ request: BooleanStateConfiguration.SuppressAlarmRequest;
366
+ cluster: 'booleanStateConfiguration';
367
+ attributes: (typeof BooleanStateConfiguration.ClusterInstance)['attributes'];
368
+ endpoint: MatterbridgeEndpoint;
369
+ };
370
+ 'BooleanStateConfiguration.enableDisableAlarm': {
371
+ request: BooleanStateConfiguration.EnableDisableAlarmRequest;
372
+ cluster: 'booleanStateConfiguration';
373
+ attributes: (typeof BooleanStateConfiguration.ClusterInstance)['attributes'];
374
+ endpoint: MatterbridgeEndpoint;
375
+ };
376
+ 'selfTestRequest': CommandHandlerData<'SmokeCoAlarm.selfTestRequest'>;
377
+ 'SmokeCoAlarm.selfTestRequest': {
378
+ request: {};
379
+ cluster: 'smokeCoAlarm';
380
+ attributes: (typeof SmokeCoAlarm.CompleteInstance)['attributes'];
381
+ endpoint: MatterbridgeEndpoint;
382
+ };
383
+ 'ThreadNetworkDiagnostics.resetCounts': {
384
+ request: {};
385
+ cluster: 'threadNetworkDiagnostics';
386
+ attributes: (typeof ThreadNetworkDiagnostics.ClusterInstance)['attributes'];
387
+ endpoint: MatterbridgeEndpoint;
388
+ };
389
+ 'TimeSynchronization.setUtcTime': {
390
+ request: TimeSynchronization.SetUtcTimeRequest;
391
+ cluster: 'timeSynchronization';
392
+ attributes: (typeof TimeSynchronization.ClusterInstance)['attributes'];
393
+ endpoint: MatterbridgeEndpoint;
394
+ };
395
+ 'TimeSynchronization.setTimeZone': {
396
+ request: TimeSynchronization.SetTimeZoneRequest;
397
+ cluster: 'timeSynchronization';
398
+ attributes: (typeof TimeSynchronization.ClusterInstance)['attributes'];
399
+ endpoint: MatterbridgeEndpoint;
400
+ };
401
+ 'TimeSynchronization.setDstOffset': {
402
+ request: TimeSynchronization.SetDstOffsetRequest;
403
+ cluster: 'timeSynchronization';
404
+ attributes: (typeof TimeSynchronization.ClusterInstance)['attributes'];
405
+ endpoint: MatterbridgeEndpoint;
406
+ };
407
+ 'pauseRequest': CommandHandlerData<'DeviceEnergyManagement.pauseRequest'>;
408
+ 'resumeRequest': CommandHandlerData<'DeviceEnergyManagement.resumeRequest'>;
409
+ 'powerAdjustRequest': CommandHandlerData<'DeviceEnergyManagement.powerAdjustRequest'>;
410
+ 'cancelPowerAdjustRequest': CommandHandlerData<'DeviceEnergyManagement.cancelPowerAdjustRequest'>;
411
+ 'DeviceEnergyManagement.pauseRequest': {
412
+ request: DeviceEnergyManagement.PauseRequest;
413
+ cluster: 'deviceEnergyManagement';
414
+ attributes: (typeof DeviceEnergyManagement.CompleteInstance)['attributes'];
415
+ endpoint: MatterbridgeEndpoint;
416
+ };
417
+ 'DeviceEnergyManagement.resumeRequest': {
418
+ request: {};
419
+ cluster: 'deviceEnergyManagement';
420
+ attributes: (typeof DeviceEnergyManagement.CompleteInstance)['attributes'];
421
+ endpoint: MatterbridgeEndpoint;
422
+ };
423
+ 'DeviceEnergyManagement.powerAdjustRequest': {
424
+ request: DeviceEnergyManagement.PowerAdjustRequest;
425
+ cluster: 'deviceEnergyManagement';
426
+ attributes: (typeof DeviceEnergyManagement.CompleteInstance)['attributes'];
427
+ endpoint: MatterbridgeEndpoint;
428
+ };
429
+ 'DeviceEnergyManagement.cancelPowerAdjustRequest': {
430
+ request: {};
431
+ cluster: 'deviceEnergyManagement';
432
+ attributes: (typeof DeviceEnergyManagement.CompleteInstance)['attributes'];
433
+ endpoint: MatterbridgeEndpoint;
434
+ };
435
+ 'pause': CommandHandlerData<'OperationalState.pause'>;
436
+ 'stop': CommandHandlerData<'OperationalState.stop'>;
437
+ 'start': CommandHandlerData<'OperationalState.start'>;
438
+ 'resume': CommandHandlerData<'OperationalState.resume'>;
439
+ 'OperationalState.pause': {
440
+ request: {};
441
+ cluster: 'operationalState';
442
+ attributes: (typeof OperationalState.ClusterInstance)['attributes'];
443
+ endpoint: MatterbridgeEndpoint;
444
+ };
445
+ 'OperationalState.stop': {
446
+ request: {};
447
+ cluster: 'operationalState';
448
+ attributes: (typeof OperationalState.ClusterInstance)['attributes'];
449
+ endpoint: MatterbridgeEndpoint;
450
+ };
451
+ 'OperationalState.start': {
452
+ request: {};
453
+ cluster: 'operationalState';
454
+ attributes: (typeof OperationalState.ClusterInstance)['attributes'];
455
+ endpoint: MatterbridgeEndpoint;
456
+ };
457
+ 'OperationalState.resume': {
458
+ request: {};
459
+ cluster: 'operationalState';
460
+ attributes: (typeof OperationalState.ClusterInstance)['attributes'];
461
+ endpoint: MatterbridgeEndpoint;
462
+ };
463
+ 'goHome': CommandHandlerData<'RvcOperationalState.goHome'>;
464
+ 'RvcOperationalState.pause': {
465
+ request: {};
466
+ cluster: 'rvcOperationalState';
467
+ attributes: (typeof RvcOperationalState.ClusterInstance)['attributes'];
468
+ endpoint: MatterbridgeEndpoint;
469
+ };
470
+ 'RvcOperationalState.resume': {
471
+ request: {};
472
+ cluster: 'rvcOperationalState';
473
+ attributes: (typeof RvcOperationalState.ClusterInstance)['attributes'];
474
+ endpoint: MatterbridgeEndpoint;
475
+ };
476
+ 'RvcOperationalState.goHome': {
477
+ request: {};
478
+ cluster: 'rvcOperationalState';
479
+ attributes: (typeof RvcOperationalState.ClusterInstance)['attributes'];
480
+ endpoint: MatterbridgeEndpoint;
481
+ };
482
+ 'selectAreas': CommandHandlerData<'ServiceArea.selectAreas'>;
483
+ 'ServiceArea.selectAreas': {
484
+ request: ServiceArea.SelectAreasRequest;
485
+ cluster: 'serviceArea';
486
+ attributes: (typeof ServiceArea.ClusterInstance)['attributes'];
487
+ endpoint: MatterbridgeEndpoint;
488
+ };
489
+ 'boost': CommandHandlerData<'WaterHeaterManagement.boost'>;
490
+ 'cancelBoost': CommandHandlerData<'WaterHeaterManagement.cancelBoost'>;
491
+ 'WaterHeaterManagement.boost': {
492
+ request: WaterHeaterManagement.BoostRequest;
493
+ cluster: 'waterHeaterManagement';
494
+ attributes: (typeof WaterHeaterManagement.ClusterInstance)['attributes'];
495
+ endpoint: MatterbridgeEndpoint;
496
+ };
497
+ 'WaterHeaterManagement.cancelBoost': {
498
+ request: {};
499
+ cluster: 'waterHeaterManagement';
500
+ attributes: (typeof WaterHeaterManagement.ClusterInstance)['attributes'];
501
+ endpoint: MatterbridgeEndpoint;
502
+ };
503
+ 'enableCharging': CommandHandlerData<'EnergyEvse.enableCharging'>;
504
+ 'disable': CommandHandlerData<'EnergyEvse.disable'>;
505
+ 'setTargets': CommandHandlerData<'EnergyEvse.setTargets'>;
506
+ 'getTargets': CommandHandlerData<'EnergyEvse.getTargets'>;
507
+ 'clearTargets': CommandHandlerData<'EnergyEvse.clearTargets'>;
508
+ 'EnergyEvse.enableCharging': {
509
+ request: EnergyEvse.EnableChargingRequest;
510
+ cluster: 'energyEvse';
511
+ attributes: (typeof EnergyEvse.ClusterInstance)['attributes'];
512
+ endpoint: MatterbridgeEndpoint;
513
+ };
514
+ 'EnergyEvse.disable': {
515
+ request: {};
516
+ cluster: 'energyEvse';
517
+ attributes: (typeof EnergyEvse.ClusterInstance)['attributes'];
518
+ endpoint: MatterbridgeEndpoint;
519
+ };
520
+ 'EnergyEvse.setTargets': {
521
+ request: EnergyEvse.SetTargetsRequest;
522
+ cluster: 'energyEvse';
523
+ attributes: (typeof EnergyEvse.ClusterInstance)['attributes'];
524
+ endpoint: MatterbridgeEndpoint;
525
+ };
526
+ 'EnergyEvse.getTargets': {
527
+ request: {};
528
+ cluster: 'energyEvse';
529
+ attributes: (typeof EnergyEvse.ClusterInstance)['attributes'];
530
+ endpoint: MatterbridgeEndpoint;
531
+ };
532
+ 'EnergyEvse.clearTargets': {
533
+ request: {};
534
+ cluster: 'energyEvse';
535
+ attributes: (typeof EnergyEvse.ClusterInstance)['attributes'];
536
+ endpoint: MatterbridgeEndpoint;
537
+ };
538
+ 'TemperatureControl.setTemperature': {
539
+ request: TemperatureControl.SetTemperatureRequest;
540
+ cluster: 'temperatureControl';
541
+ attributes: (typeof TemperatureControl.CompleteInstance)['attributes'];
542
+ endpoint: MatterbridgeEndpoint;
543
+ };
544
+ 'setCookingParameters': CommandHandlerData<'MicrowaveOvenControl.setCookingParameters'>;
545
+ 'addMoreTime': CommandHandlerData<'MicrowaveOvenControl.addMoreTime'>;
546
+ 'MicrowaveOvenControl.setCookingParameters': {
547
+ request: MicrowaveOvenControl.SetCookingParametersRequest;
548
+ cluster: 'microwaveOvenControl';
549
+ attributes: (typeof MicrowaveOvenControl.CompleteInstance)['attributes'];
550
+ endpoint: MatterbridgeEndpoint;
551
+ };
552
+ 'MicrowaveOvenControl.addMoreTime': {
553
+ request: MicrowaveOvenControl.AddMoreTimeRequest;
554
+ cluster: 'microwaveOvenControl';
555
+ attributes: (typeof MicrowaveOvenControl.CompleteInstance)['attributes'];
556
+ endpoint: MatterbridgeEndpoint;
557
+ };
558
+ 'MediaPlayback.pause': {
559
+ request: {};
560
+ cluster: 'mediaPlayback';
561
+ attributes: (typeof MediaPlayback.ClusterInstance)['attributes'];
562
+ endpoint: MatterbridgeEndpoint;
563
+ };
564
+ 'MediaPlayback.stop': {
565
+ request: {};
566
+ cluster: 'mediaPlayback';
567
+ attributes: (typeof MediaPlayback.ClusterInstance)['attributes'];
568
+ endpoint: MatterbridgeEndpoint;
569
+ };
570
+ 'MediaPlayback.play': {
571
+ request: {};
572
+ cluster: 'mediaPlayback';
573
+ attributes: (typeof MediaPlayback.ClusterInstance)['attributes'];
574
+ endpoint: MatterbridgeEndpoint;
575
+ };
576
+ 'MediaPlayback.previous': {
577
+ request: {};
578
+ cluster: 'mediaPlayback';
579
+ attributes: (typeof MediaPlayback.ClusterInstance)['attributes'];
580
+ endpoint: MatterbridgeEndpoint;
581
+ };
582
+ 'MediaPlayback.next': {
583
+ request: {};
584
+ cluster: 'mediaPlayback';
585
+ attributes: (typeof MediaPlayback.ClusterInstance)['attributes'];
586
+ endpoint: MatterbridgeEndpoint;
587
+ };
588
+ 'MediaPlayback.skipForward': {
589
+ request: MediaPlayback.SkipForwardRequest;
590
+ cluster: 'mediaPlayback';
591
+ attributes: (typeof MediaPlayback.ClusterInstance)['attributes'];
592
+ endpoint: MatterbridgeEndpoint;
593
+ };
594
+ 'MediaPlayback.skipBackward': {
595
+ request: MediaPlayback.SkipBackwardRequest;
596
+ cluster: 'mediaPlayback';
597
+ attributes: (typeof MediaPlayback.ClusterInstance)['attributes'];
598
+ endpoint: MatterbridgeEndpoint;
599
+ };
600
+ 'KeypadInput.sendKey': {
601
+ request: KeypadInput.SendKeyRequest;
602
+ cluster: 'keypadInput';
603
+ attributes: (typeof KeypadInput.ClusterInstance)['attributes'];
604
+ endpoint: MatterbridgeEndpoint;
605
+ };
606
+ 'resetCondition': CommandHandlerData<'ResourceMonitoring.resetCondition'>;
607
+ 'ResourceMonitoring.resetCondition': {
608
+ request: {};
609
+ cluster: 'resourceMonitoring';
610
+ attributes: (typeof ResourceMonitoring.CompleteInstance)['attributes'];
611
+ endpoint: MatterbridgeEndpoint;
612
+ };
613
+ 'HepaFilterMonitoring.resetCondition': {
614
+ request: {};
615
+ cluster: 'hepaFilterMonitoring';
616
+ attributes: (typeof HepaFilterMonitoring.CompleteInstance)['attributes'];
617
+ endpoint: MatterbridgeEndpoint;
618
+ };
619
+ 'ActivatedCarbonFilterMonitoring.resetCondition': {
620
+ request: {};
621
+ cluster: 'activatedCarbonFilterMonitoring';
622
+ attributes: (typeof ActivatedCarbonFilterMonitoring.CompleteInstance)['attributes'];
623
+ endpoint: MatterbridgeEndpoint;
624
+ };
625
+ };
626
+ export declare class CommandHandler {
627
+ private handler;
628
+ hasHandler<K extends CommandHandlers>(command: K): boolean;
629
+ addHandler<K extends CommandHandlers>(command: K, handler: CommandHandlerFunction<K>): void;
630
+ executeHandler<K extends CommandHandlers>(command: K, ...args: Parameters<CommandHandlerFunction<K>>): Promise<void>;
631
+ removeHandler<K extends CommandHandlers>(command: K, handler: CommandHandlerFunction<K>): void;
632
+ }
@@ -0,0 +1,31 @@
1
+ if (process.argv.includes('--loader') || process.argv.includes('-loader'))
2
+ console.log('\u001B[32mMatterbridgeEndpointTypes loaded.\u001B[40;0m');
3
+ export class CommandHandler {
4
+ handler = [];
5
+ hasHandler(command) {
6
+ return this.handler.some(({ command: registeredCommand }) => registeredCommand === command);
7
+ }
8
+ addHandler(command, handler) {
9
+ this.handler.push({ command, handler });
10
+ }
11
+ async executeHandler(command, ...args) {
12
+ for (const { command: registeredCommand, handler } of this.handler) {
13
+ if (registeredCommand === command) {
14
+ return await handler(...args);
15
+ }
16
+ }
17
+ const fallbackCommand = command.includes('.') ? command.split('.').pop() : undefined;
18
+ if (fallbackCommand === undefined)
19
+ return;
20
+ for (const { command: registeredCommand, handler } of this.handler) {
21
+ if (registeredCommand === fallbackCommand) {
22
+ return await handler(...args);
23
+ }
24
+ }
25
+ }
26
+ removeHandler(command, handler) {
27
+ this.handler = this.handler.filter(({ command: registeredCommand, handler: registeredHandler }) => {
28
+ return registeredCommand !== command && registeredHandler !== handler;
29
+ });
30
+ }
31
+ }