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

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 (33) hide show
  1. package/dist/devices/basicVideoPlayer.d.ts +8 -9
  2. package/dist/devices/basicVideoPlayer.js +64 -16
  3. package/dist/devices/closure.d.ts +2 -3
  4. package/dist/devices/closure.js +16 -4
  5. package/dist/devices/closurePanel.d.ts +2 -3
  6. package/dist/devices/closurePanel.js +16 -4
  7. package/dist/devices/dishwasher.d.ts +1 -2
  8. package/dist/devices/dishwasher.js +8 -2
  9. package/dist/devices/evse.d.ts +3 -3
  10. package/dist/devices/evse.js +24 -6
  11. package/dist/devices/laundryWasher.d.ts +1 -2
  12. package/dist/devices/laundryWasher.js +8 -2
  13. package/dist/devices/microwaveOven.d.ts +1 -2
  14. package/dist/devices/microwaveOven.js +15 -3
  15. package/dist/devices/roboticVacuumCleaner.d.ts +5 -6
  16. package/dist/devices/roboticVacuumCleaner.js +40 -10
  17. package/dist/devices/temperatureControl.d.ts +2 -3
  18. package/dist/devices/temperatureControl.js +16 -4
  19. package/dist/devices/waterHeater.d.ts +3 -4
  20. package/dist/devices/waterHeater.js +24 -6
  21. package/dist/export.d.ts +1 -0
  22. package/dist/export.js +1 -0
  23. package/dist/jestutils/jestHelpers.js +1 -1
  24. package/dist/matterbridgeBehaviorsServer.d.ts +55 -53
  25. package/dist/matterbridgeBehaviorsServer.js +403 -139
  26. package/dist/matterbridgeEndpoint.d.ts +9 -7
  27. package/dist/matterbridgeEndpoint.js +11 -6
  28. package/dist/matterbridgeEndpointCommandHandler.d.ts +806 -0
  29. package/dist/matterbridgeEndpointCommandHandler.js +31 -0
  30. package/dist/matterbridgeEndpointHelpers.d.ts +2 -2
  31. package/dist/matterbridgeEndpointHelpers.js +1 -0
  32. package/dist/matterbridgeEndpointTypes.d.ts +0 -83
  33. package/package.json +5 -5
@@ -1,4 +1,3 @@
1
- import { MaybePromise } from '@matter/general';
2
1
  import { KeypadInputServer } from '@matter/node/behaviors/keypad-input';
3
2
  import { MediaPlaybackServer } from '@matter/node/behaviors/media-playback';
4
3
  import { KeypadInput } from '@matter/types/clusters/keypad-input';
@@ -16,15 +15,15 @@ export declare class BasicVideoPlayer extends MatterbridgeEndpoint {
16
15
  export declare class MatterbridgeMediaPlaybackServer extends MediaPlaybackServer {
17
16
  initialize(): void;
18
17
  protected handleOnOffChange(_onOff: boolean): void;
19
- play(): MaybePromise<MediaPlayback.PlaybackResponse>;
20
- pause(): MaybePromise<MediaPlayback.PlaybackResponse>;
21
- stop(): MaybePromise<MediaPlayback.PlaybackResponse>;
22
- previous(): MaybePromise<MediaPlayback.PlaybackResponse>;
23
- next(): MaybePromise<MediaPlayback.PlaybackResponse>;
24
- skipForward(): MaybePromise<MediaPlayback.PlaybackResponse>;
25
- skipBackward(): MaybePromise<MediaPlayback.PlaybackResponse>;
18
+ play(): Promise<MediaPlayback.PlaybackResponse>;
19
+ pause(): Promise<MediaPlayback.PlaybackResponse>;
20
+ stop(): Promise<MediaPlayback.PlaybackResponse>;
21
+ previous(): Promise<MediaPlayback.PlaybackResponse>;
22
+ next(): Promise<MediaPlayback.PlaybackResponse>;
23
+ skipForward(request: MediaPlayback.SkipForwardRequest): Promise<MediaPlayback.PlaybackResponse>;
24
+ skipBackward(request: MediaPlayback.SkipBackwardRequest): Promise<MediaPlayback.PlaybackResponse>;
26
25
  }
27
26
  export declare class MatterbridgeKeypadInputServer extends KeypadInputServer {
28
27
  initialize(): void;
29
- sendKey(request: KeypadInput.SendKeyRequest): MaybePromise<KeypadInput.SendKeyResponse>;
28
+ sendKey(request: KeypadInput.SendKeyRequest): Promise<KeypadInput.SendKeyResponse>;
30
29
  }
@@ -37,52 +37,94 @@ export class MatterbridgeMediaPlaybackServer extends MediaPlaybackServer {
37
37
  handleOnOffChange(_onOff) {
38
38
  this.state.currentState = MediaPlayback.PlaybackState.NotPlaying;
39
39
  }
40
- play() {
40
+ async play() {
41
41
  const device = this.endpoint.stateOf(MatterbridgeServer);
42
42
  device.log.info(`Play (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
43
- device.commandHandler.executeHandler('play', { request: undefined, cluster: MediaPlaybackServer.id, attributes: this.state, endpoint: this.endpoint });
43
+ await device.commandHandler.executeHandler('MediaPlayback.play', {
44
+ command: 'play',
45
+ request: {},
46
+ cluster: MediaPlaybackServer.id,
47
+ attributes: this.state,
48
+ endpoint: this.endpoint,
49
+ });
44
50
  if (this.endpoint.stateOf(MatterbridgeOnOffServer).onOff === true)
45
51
  this.state.currentState = MediaPlayback.PlaybackState.Playing;
46
52
  return { status: MediaPlayback.Status.Success };
47
53
  }
48
- pause() {
54
+ async pause() {
49
55
  const device = this.endpoint.stateOf(MatterbridgeServer);
50
56
  device.log.info(`Pause (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
51
- device.commandHandler.executeHandler('pause', { request: undefined, cluster: MediaPlaybackServer.id, attributes: this.state, endpoint: this.endpoint });
57
+ await device.commandHandler.executeHandler('MediaPlayback.pause', {
58
+ command: 'pause',
59
+ request: {},
60
+ cluster: MediaPlaybackServer.id,
61
+ attributes: this.state,
62
+ endpoint: this.endpoint,
63
+ });
52
64
  if (this.endpoint.stateOf(MatterbridgeOnOffServer).onOff === true)
53
65
  this.state.currentState = MediaPlayback.PlaybackState.Paused;
54
66
  return { status: MediaPlayback.Status.Success };
55
67
  }
56
- stop() {
68
+ async stop() {
57
69
  const device = this.endpoint.stateOf(MatterbridgeServer);
58
70
  device.log.info(`Stop (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
59
- device.commandHandler.executeHandler('stop', { request: undefined, cluster: MediaPlaybackServer.id, attributes: this.state, endpoint: this.endpoint });
71
+ await device.commandHandler.executeHandler('MediaPlayback.stop', {
72
+ command: 'stop',
73
+ request: {},
74
+ cluster: MediaPlaybackServer.id,
75
+ attributes: this.state,
76
+ endpoint: this.endpoint,
77
+ });
60
78
  if (this.endpoint.stateOf(MatterbridgeOnOffServer).onOff === true)
61
79
  this.state.currentState = MediaPlayback.PlaybackState.NotPlaying;
62
80
  return { status: MediaPlayback.Status.Success };
63
81
  }
64
- previous() {
82
+ async previous() {
65
83
  const device = this.endpoint.stateOf(MatterbridgeServer);
66
84
  device.log.info(`Previous (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
67
- device.commandHandler.executeHandler('previous', { request: undefined, cluster: MediaPlaybackServer.id, attributes: this.state, endpoint: this.endpoint });
85
+ await device.commandHandler.executeHandler('MediaPlayback.previous', {
86
+ command: 'previous',
87
+ request: {},
88
+ cluster: MediaPlaybackServer.id,
89
+ attributes: this.state,
90
+ endpoint: this.endpoint,
91
+ });
68
92
  return { status: MediaPlayback.Status.Success };
69
93
  }
70
- next() {
94
+ async next() {
71
95
  const device = this.endpoint.stateOf(MatterbridgeServer);
72
96
  device.log.info(`Next (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
73
- device.commandHandler.executeHandler('next', { request: undefined, cluster: MediaPlaybackServer.id, attributes: this.state, endpoint: this.endpoint });
97
+ await device.commandHandler.executeHandler('MediaPlayback.next', {
98
+ command: 'next',
99
+ request: {},
100
+ cluster: MediaPlaybackServer.id,
101
+ attributes: this.state,
102
+ endpoint: this.endpoint,
103
+ });
74
104
  return { status: MediaPlayback.Status.Success };
75
105
  }
76
- skipForward() {
106
+ async skipForward(request) {
77
107
  const device = this.endpoint.stateOf(MatterbridgeServer);
78
108
  device.log.info(`SkipForward (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
79
- device.commandHandler.executeHandler('skipForward', { request: undefined, cluster: MediaPlaybackServer.id, attributes: this.state, endpoint: this.endpoint });
109
+ await device.commandHandler.executeHandler('MediaPlayback.skipForward', {
110
+ command: 'skipForward',
111
+ request,
112
+ cluster: MediaPlaybackServer.id,
113
+ attributes: this.state,
114
+ endpoint: this.endpoint,
115
+ });
80
116
  return { status: MediaPlayback.Status.Success };
81
117
  }
82
- skipBackward() {
118
+ async skipBackward(request) {
83
119
  const device = this.endpoint.stateOf(MatterbridgeServer);
84
120
  device.log.info(`SkipBackward (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
85
- device.commandHandler.executeHandler('skipBackward', { request: undefined, cluster: MediaPlaybackServer.id, attributes: this.state, endpoint: this.endpoint });
121
+ await device.commandHandler.executeHandler('MediaPlayback.skipBackward', {
122
+ command: 'skipBackward',
123
+ request,
124
+ cluster: MediaPlaybackServer.id,
125
+ attributes: this.state,
126
+ endpoint: this.endpoint,
127
+ });
86
128
  return { status: MediaPlayback.Status.Success };
87
129
  }
88
130
  }
@@ -91,10 +133,16 @@ export class MatterbridgeKeypadInputServer extends KeypadInputServer {
91
133
  const device = this.endpoint.stateOf(MatterbridgeServer);
92
134
  device.log.info(`MatterbridgeKeypadInputServer initialized`);
93
135
  }
94
- sendKey(request) {
136
+ async sendKey(request) {
95
137
  const device = this.endpoint.stateOf(MatterbridgeServer);
96
138
  device.log.info(`SendKey keyCode ${request.keyCode} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
97
- device.commandHandler.executeHandler('sendKey', { request, cluster: KeypadInputServer.id, attributes: this.state, endpoint: this.endpoint });
139
+ await device.commandHandler.executeHandler('KeypadInput.sendKey', {
140
+ command: 'sendKey',
141
+ request,
142
+ cluster: KeypadInputServer.id,
143
+ attributes: this.state,
144
+ endpoint: this.endpoint,
145
+ });
98
146
  return { status: KeypadInput.Status.Success };
99
147
  }
100
148
  }
@@ -1,4 +1,3 @@
1
- import { MaybePromise } from '@matter/general';
2
1
  import { ClusterBehavior } from '@matter/node';
3
2
  import { ClusterType } from '@matter/types';
4
3
  import { ClosureControl } from '../clusters/closure-control.js';
@@ -291,8 +290,8 @@ declare const ClosureControlServer_base: ClusterBehavior.Type<import("@matter/ty
291
290
  }>;
292
291
  export declare class ClosureControlServer extends ClosureControlServer_base {
293
292
  state: ClosureControlServer.State;
294
- moveTo: (request: ClosureControl.MoveToRequest) => MaybePromise;
295
- stop: () => MaybePromise;
293
+ moveTo: (request: ClosureControl.MoveToRequest) => Promise<void>;
294
+ stop: () => Promise<void>;
296
295
  }
297
296
  export interface ClosureOptions {
298
297
  mainState?: ClosureControl.MainState;
@@ -12,10 +12,16 @@ const ClosureControlSchema = ClusterElement({
12
12
  }, AttributeElement({ id: 0xfffd, name: 'ClusterRevision', type: 'ClusterRevision', conformance: 'M', default: ClosureControl.Base.revision }), AttributeElement({ id: 0xfffc, name: 'FeatureMap', type: 'FeatureMap', conformance: 'M' }, FieldElement({ name: 'POS', constraint: '0', title: 'Positioning' }), FieldElement({ name: 'ML', constraint: '1', title: 'MotionLatching' }), FieldElement({ name: 'INS', constraint: '2', title: 'Instantaneous' }), FieldElement({ name: 'SPD', constraint: '3', title: 'Speed' }), FieldElement({ name: 'VNT', constraint: '4', title: 'Ventilation' }), FieldElement({ name: 'PED', constraint: '5', title: 'Pedestrian' }), FieldElement({ name: 'CAL', constraint: '6', title: 'Calibration' }), FieldElement({ name: 'PRT', constraint: '7', title: 'Protection' }), FieldElement({ name: 'MAN', constraint: '8', title: 'ManuallyOperable' })), AttributeElement({ name: 'CountdownTime', id: 0x0000, type: 'uint32', conformance: 'POS', default: null, quality: 'X' }), AttributeElement({ name: 'MainState', id: 0x0001, type: 'MainStateEnum', conformance: 'M', constraint: 'desc' }), AttributeElement({ name: 'CurrentErrorList', id: 0x0002, type: 'list', conformance: 'M', default: [] }, FieldElement({ name: 'entry', type: 'ClosureErrorEnum' })), AttributeElement({ name: 'OverallCurrentState', id: 0x0003, type: 'OverallCurrentStateStruct', conformance: 'M', default: null, quality: 'X' }), AttributeElement({ name: 'OverallTargetState', id: 0x0004, type: 'OverallTargetStateStruct', conformance: 'M', default: null, quality: 'X' }), CommandElement({ name: 'Stop', id: 0x0000, conformance: 'M', direction: 'request', response: 'status' }), CommandElement({ name: 'MoveTo', id: 0x0001, conformance: 'M', direction: 'request', response: 'status' }, FieldElement({ name: 'Position', id: 0, type: 'TargetPositionEnum', conformance: 'O' }), FieldElement({ name: 'Latch', id: 1, type: 'bool', conformance: 'O' }), FieldElement({ name: 'Speed', id: 2, type: 'ThreeLevelAutoEnum', conformance: 'O' })), EventElement({ name: 'OperationalError', id: 0x0000, conformance: 'M', priority: 'critical' }, FieldElement({ name: 'ErrorState', id: 0, type: 'list', conformance: 'M', constraint: 'max 10' }, FieldElement({ name: 'entry', type: 'ClosureErrorEnum' }))), EventElement({ name: 'MovementCompleted', id: 0x0001, conformance: 'M', priority: 'info' }), EventElement({ name: 'SecureStateChanged', id: 0x0003, conformance: 'M', priority: 'info' }, FieldElement({ name: 'SecureValue', id: 0, type: 'bool', conformance: 'M' })), DatatypeElement({ name: 'ClosureErrorEnum', type: 'enum8' }, FieldElement({ name: 'PhysicallyBlocked', id: 0, conformance: 'M' }), FieldElement({ name: 'BlockedBySensor', id: 1, conformance: 'M' }), FieldElement({ name: 'TemperatureLimited', id: 2, conformance: 'M' }), FieldElement({ name: 'MaintenanceRequired', id: 3, conformance: 'M' }), FieldElement({ name: 'InternalInterference', id: 4, conformance: 'M' })), DatatypeElement({ name: 'CurrentPositionEnum', type: 'enum8' }, FieldElement({ name: 'FullyClosed', id: 0, conformance: 'M' }), FieldElement({ name: 'FullyOpened', id: 1, conformance: 'M' }), FieldElement({ name: 'PartiallyOpened', id: 2, conformance: 'M' }), FieldElement({ name: 'OpenedForPedestrian', id: 3, conformance: 'M' }), FieldElement({ name: 'OpenedForVentilation', id: 4, conformance: 'M' }), FieldElement({ name: 'OpenedAtSignature', id: 5, conformance: 'M' })), DatatypeElement({ name: 'MainStateEnum', type: 'enum8' }, FieldElement({ name: 'Stopped', id: 0, conformance: 'M' }), FieldElement({ name: 'Moving', id: 1, conformance: 'M' }), FieldElement({ name: 'WaitingForMotion', id: 2, conformance: 'M' }), FieldElement({ name: 'Error', id: 3, conformance: 'M' }), FieldElement({ name: 'Calibrating', id: 4, conformance: 'M' }), FieldElement({ name: 'Protected', id: 5, conformance: 'M' }), FieldElement({ name: 'Disengaged', id: 6, conformance: 'M' }), FieldElement({ name: 'SetupRequired', id: 7, conformance: 'M' })), DatatypeElement({ name: 'TargetPositionEnum', type: 'enum8' }, FieldElement({ name: 'MoveToFullyClosed', id: 0, conformance: 'M' }), FieldElement({ name: 'MoveToFullyOpen', id: 1, conformance: 'M' }), FieldElement({ name: 'MoveToPedestrianPosition', id: 2, conformance: 'M' }), FieldElement({ name: 'MoveToVentilationPosition', id: 3, conformance: 'M' }), FieldElement({ name: 'MoveToSignaturePosition', id: 4, conformance: 'M' })), DatatypeElement({ name: 'OverallCurrentStateStruct', type: 'struct' }, FieldElement({ name: 'Position', id: 0, type: 'CurrentPositionEnum', conformance: 'O', default: null, quality: 'X' }), FieldElement({ name: 'Latch', id: 1, type: 'bool', conformance: 'O', default: null, quality: 'X' }), FieldElement({ name: 'Speed', id: 2, type: 'ThreeLevelAutoEnum', conformance: 'O' }), FieldElement({ name: 'SecureState', id: 3, type: 'bool', conformance: 'O', default: null, quality: 'X' })), DatatypeElement({ name: 'OverallTargetStateStruct', type: 'struct' }, FieldElement({ name: 'Position', id: 0, type: 'TargetPositionEnum', conformance: 'O', default: null, quality: 'X' }), FieldElement({ name: 'Latch', id: 1, type: 'bool', conformance: 'O', default: null, quality: 'X' }), FieldElement({ name: 'Speed', id: 2, type: 'ThreeLevelAutoEnum', conformance: 'O' })));
13
13
  const ClosureControlBehavior = ClusterBehavior.for(ClusterType(ClosureControl.Base), new ClusterModel(ClosureControlSchema));
14
14
  export class ClosureControlServer extends ClosureControlBehavior.with(ClosureControl.Feature.Positioning) {
15
- moveTo = (request) => {
15
+ moveTo = async (request) => {
16
16
  const device = this.endpoint.stateOf(MatterbridgeServer);
17
17
  device.log.info(`MoveTo (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
18
- device.commandHandler.executeHandler('moveTo', { request, cluster: ClosureControl.Cluster.id, attributes: this.state, endpoint: this.endpoint });
18
+ await device.commandHandler.executeHandler('ClosureControl.moveTo', {
19
+ command: 'moveTo',
20
+ request,
21
+ cluster: ClosureControlServer.id,
22
+ attributes: this.state,
23
+ endpoint: this.endpoint,
24
+ });
19
25
  const previousTarget = this.state.overallTargetState ?? {};
20
26
  const nextTarget = {
21
27
  ...previousTarget,
@@ -26,10 +32,16 @@ export class ClosureControlServer extends ClosureControlBehavior.with(ClosureCon
26
32
  this.state.overallTargetState = nextTarget;
27
33
  this.state.mainState = ClosureControl.MainState.Moving;
28
34
  };
29
- stop = () => {
35
+ stop = async () => {
30
36
  const device = this.endpoint.stateOf(MatterbridgeServer);
31
37
  device.log.info(`Stop (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
32
- device.commandHandler.executeHandler('stop', { request: {}, cluster: ClosureControl.Cluster.id, attributes: this.state, endpoint: this.endpoint });
38
+ await device.commandHandler.executeHandler('ClosureControl.stop', {
39
+ command: 'stop',
40
+ request: {},
41
+ cluster: ClosureControlServer.id,
42
+ attributes: this.state,
43
+ endpoint: this.endpoint,
44
+ });
33
45
  this.state.mainState = ClosureControl.MainState.Stopped;
34
46
  };
35
47
  }
@@ -1,4 +1,3 @@
1
- import { MaybePromise } from '@matter/general';
2
1
  import { ClusterBehavior } from '@matter/node';
3
2
  import { ClusterType } from '@matter/types';
4
3
  import { ClosureDimension } from '../clusters/closure-dimension.js';
@@ -370,8 +369,8 @@ declare const ClosureDimensionServer_base: ClusterBehavior.Type<import("@matter/
370
369
  }>;
371
370
  export declare class ClosureDimensionServer extends ClosureDimensionServer_base {
372
371
  state: ClosureDimensionServer.State;
373
- setTarget: (request: ClosureDimension.SetTargetRequest) => MaybePromise;
374
- step: (request: ClosureDimension.StepRequest) => MaybePromise;
372
+ setTarget: (request: ClosureDimension.SetTargetRequest) => Promise<void>;
373
+ step: (request: ClosureDimension.StepRequest) => Promise<void>;
375
374
  }
376
375
  export interface ClosurePanelOptions {
377
376
  resolution?: number;
@@ -12,10 +12,16 @@ const ClosureDimensionSchema = ClusterElement({
12
12
  }, AttributeElement({ id: 0xfffd, name: 'ClusterRevision', type: 'ClusterRevision', conformance: 'M', default: ClosureDimension.Base.revision }), AttributeElement({ id: 0xfffc, name: 'FeatureMap', type: 'FeatureMap', conformance: 'M' }, FieldElement({ name: 'POS', constraint: '0', title: 'Positioning' }), FieldElement({ name: 'ML', constraint: '1', title: 'MotionLatching' }), FieldElement({ name: 'UNI', constraint: '2', title: 'Unit' }), FieldElement({ name: 'LIM', constraint: '3', title: 'Limitation' }), FieldElement({ name: 'SPD', constraint: '4', title: 'Speed' }), FieldElement({ name: 'TRN', constraint: '5', title: 'Translation' }), FieldElement({ name: 'ROT', constraint: '6', title: 'Rotation' }), FieldElement({ name: 'MOD', constraint: '7', title: 'Modulation' })), AttributeElement({ name: 'CurrentState', id: 0x0000, type: 'DimensionStateStruct', conformance: 'M', default: null, quality: 'X' }), AttributeElement({ name: 'TargetState', id: 0x0001, type: 'DimensionStateStruct', conformance: 'M', default: null, quality: 'X' }), AttributeElement({ name: 'Resolution', id: 0x0002, type: 'percent100ths', conformance: 'POS', default: 1 }), AttributeElement({ name: 'StepValue', id: 0x0003, type: 'percent100ths', conformance: 'POS', default: 1 }), CommandElement({ name: 'SetTarget', id: 0x0000, conformance: 'M', direction: 'request', response: 'status' }, FieldElement({ name: 'Position', id: 0, type: 'percent100ths', conformance: 'O' }), FieldElement({ name: 'Latch', id: 1, type: 'bool', conformance: 'O' }), FieldElement({ name: 'Speed', id: 2, type: 'ThreeLevelAutoEnum', conformance: 'O' })), CommandElement({ name: 'Step', id: 0x0001, conformance: 'POS', direction: 'request', response: 'status' }, FieldElement({ name: 'Direction', id: 0, type: 'StepDirectionEnum', conformance: 'M' }), FieldElement({ name: 'NumberOfSteps', id: 1, type: 'uint16', conformance: 'M', constraint: { min: 1 } }), FieldElement({ name: 'Speed', id: 2, type: 'ThreeLevelAutoEnum', conformance: 'O' })), DatatypeElement({ name: 'StepDirectionEnum', type: 'enum8' }, FieldElement({ name: 'Decrease', id: 0, conformance: 'M' }), FieldElement({ name: 'Increase', id: 1, conformance: 'M' })), DatatypeElement({ name: 'DimensionStateStruct', type: 'struct' }, FieldElement({ name: 'Position', id: 0, type: 'percent100ths', conformance: 'O', default: null, quality: 'X' }), FieldElement({ name: 'Latch', id: 1, type: 'bool', conformance: 'O', default: null, quality: 'X' }), FieldElement({ name: 'Speed', id: 2, type: 'ThreeLevelAutoEnum', conformance: 'O' })));
13
13
  const ClosureDimensionBehavior = ClusterBehavior.for(ClusterType(ClosureDimension.Base), new ClusterModel(ClosureDimensionSchema));
14
14
  export class ClosureDimensionServer extends ClosureDimensionBehavior.with(ClosureDimension.Feature.Positioning) {
15
- setTarget = (request) => {
15
+ setTarget = async (request) => {
16
16
  const device = this.endpoint.stateOf(MatterbridgeServer);
17
17
  device.log.info(`SetTarget (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
18
- device.commandHandler.executeHandler('setTarget', { request, cluster: ClosureDimension.Cluster.id, attributes: this.state, endpoint: this.endpoint });
18
+ await device.commandHandler.executeHandler('ClosureDimension.setTarget', {
19
+ command: 'setTarget',
20
+ request,
21
+ cluster: ClosureDimensionServer.id,
22
+ attributes: this.state,
23
+ endpoint: this.endpoint,
24
+ });
19
25
  const previousTarget = this.state.targetState ?? {};
20
26
  const nextTarget = {
21
27
  ...previousTarget,
@@ -25,10 +31,16 @@ export class ClosureDimensionServer extends ClosureDimensionBehavior.with(Closur
25
31
  };
26
32
  this.state.targetState = nextTarget;
27
33
  };
28
- step = (request) => {
34
+ step = async (request) => {
29
35
  const device = this.endpoint.stateOf(MatterbridgeServer);
30
36
  device.log.info(`Step (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
31
- device.commandHandler.executeHandler('step', { request, cluster: ClosureDimension.Cluster.id, attributes: this.state, endpoint: this.endpoint });
37
+ await device.commandHandler.executeHandler('ClosureDimension.step', {
38
+ command: 'step',
39
+ request,
40
+ cluster: ClosureDimensionServer.id,
41
+ attributes: this.state,
42
+ endpoint: this.endpoint,
43
+ });
32
44
  const stepValue = this.state.stepValue;
33
45
  const numberOfSteps = request.numberOfSteps;
34
46
  const delta = stepValue * numberOfSteps;
@@ -1,4 +1,3 @@
1
- import { MaybePromise } from '@matter/general';
2
1
  import { DishwasherModeServer } from '@matter/node/behaviors/dishwasher-mode';
3
2
  import { DishwasherMode } from '@matter/types/clusters/dishwasher-mode';
4
3
  import { ModeBase } from '@matter/types/clusters/mode-base';
@@ -12,5 +11,5 @@ export declare class Dishwasher extends MatterbridgeEndpoint {
12
11
  export declare class MatterbridgeDishwasherModeServer extends DishwasherModeServer {
13
12
  initialize(): void;
14
13
  protected handleOnOffChange(onOff: boolean): void;
15
- changeToMode(request: ModeBase.ChangeToModeRequest): MaybePromise<ModeBase.ChangeToModeResponse>;
14
+ changeToMode(request: ModeBase.ChangeToModeRequest): Promise<ModeBase.ChangeToModeResponse>;
16
15
  }
@@ -55,10 +55,16 @@ export class MatterbridgeDishwasherModeServer extends DishwasherModeServer {
55
55
  this.state.currentMode = 2;
56
56
  }
57
57
  }
58
- changeToMode(request) {
58
+ async changeToMode(request) {
59
59
  const device = this.endpoint.stateOf(MatterbridgeServer);
60
60
  device.log.info(`ChangeToMode (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
61
- device.commandHandler.executeHandler('changeToMode', { request, cluster: DishwasherModeServer.id, attributes: this.state, endpoint: this.endpoint });
61
+ await device.commandHandler.executeHandler('DishwasherMode.changeToMode', {
62
+ command: 'changeToMode',
63
+ request,
64
+ cluster: DishwasherModeServer.id,
65
+ attributes: this.state,
66
+ endpoint: this.endpoint,
67
+ });
62
68
  const supportedMode = this.state.supportedModes.find((supportedMode) => supportedMode.mode === request.newMode);
63
69
  if (supportedMode) {
64
70
  device.log.info(`DishwasherModeServer: changeToMode called with mode ${supportedMode.mode} => ${supportedMode.label}`);
@@ -12,13 +12,13 @@ export declare class Evse extends MatterbridgeEndpoint {
12
12
  }
13
13
  declare const MatterbridgeEnergyEvseServer_base: import("@matter/node").ClusterBehavior.Type<import("@matter/types").ClusterComposer.WithFeatures<EnergyEvse.Cluster, readonly [EnergyEvse.Feature.ChargingPreferences]>, typeof EnergyEvseServer, import("@matter/node/behaviors/energy-evse").EnergyEvseInterface>;
14
14
  export declare class MatterbridgeEnergyEvseServer extends MatterbridgeEnergyEvseServer_base {
15
- disable(): MaybePromise;
16
- enableCharging(request: EnergyEvse.EnableChargingRequest): MaybePromise;
15
+ disable(): Promise<void>;
16
+ enableCharging(request: EnergyEvse.EnableChargingRequest): Promise<void>;
17
17
  setTargets(request: EnergyEvse.SetTargetsRequest): MaybePromise;
18
18
  getTargets(): MaybePromise<EnergyEvse.GetTargetsResponse>;
19
19
  clearTargets(): MaybePromise;
20
20
  }
21
21
  export declare class MatterbridgeEnergyEvseModeServer extends EnergyEvseModeServer {
22
- changeToMode(request: ModeBase.ChangeToModeRequest): MaybePromise<ModeBase.ChangeToModeResponse>;
22
+ changeToMode(request: ModeBase.ChangeToModeRequest): Promise<ModeBase.ChangeToModeResponse>;
23
23
  }
24
24
  export {};
@@ -57,20 +57,32 @@ export class Evse extends MatterbridgeEndpoint {
57
57
  }
58
58
  }
59
59
  export class MatterbridgeEnergyEvseServer extends EnergyEvseServer.with(EnergyEvse.Feature.ChargingPreferences) {
60
- disable() {
60
+ async disable() {
61
61
  const device = this.endpoint.stateOf(MatterbridgeServer);
62
62
  device.log.info(`Disable charging (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
63
- device.commandHandler.executeHandler('disable', { request: {}, cluster: EnergyEvseServer.id, attributes: this.state, endpoint: this.endpoint });
63
+ await device.commandHandler.executeHandler('EnergyEvse.disable', {
64
+ command: 'disable',
65
+ request: {},
66
+ cluster: EnergyEvseServer.id,
67
+ attributes: this.state,
68
+ endpoint: this.endpoint,
69
+ });
64
70
  device.log.debug(`MatterbridgeEnergyEvseServer disable called`);
65
71
  this.state.supplyState = EnergyEvse.SupplyState.Disabled;
66
72
  if (this.state.state === EnergyEvse.State.PluggedInCharging) {
67
73
  this.state.state = EnergyEvse.State.PluggedInDemand;
68
74
  }
69
75
  }
70
- enableCharging(request) {
76
+ async enableCharging(request) {
71
77
  const device = this.endpoint.stateOf(MatterbridgeServer);
72
78
  device.log.info(`EnableCharging (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
73
- device.commandHandler.executeHandler('enableCharging', { request, cluster: EnergyEvseServer.id, attributes: this.state, endpoint: this.endpoint });
79
+ await device.commandHandler.executeHandler('EnergyEvse.enableCharging', {
80
+ command: 'enableCharging',
81
+ request,
82
+ cluster: EnergyEvseServer.id,
83
+ attributes: this.state,
84
+ endpoint: this.endpoint,
85
+ });
74
86
  device.log.debug(`MatterbridgeEnergyEvseServer enableCharging called`);
75
87
  this.state.supplyState = EnergyEvse.SupplyState.ChargingEnabled;
76
88
  if (this.state.state === EnergyEvse.State.PluggedInDemand) {
@@ -97,10 +109,16 @@ export class MatterbridgeEnergyEvseServer extends EnergyEvseServer.with(EnergyEv
97
109
  }
98
110
  }
99
111
  export class MatterbridgeEnergyEvseModeServer extends EnergyEvseModeServer {
100
- changeToMode(request) {
112
+ async changeToMode(request) {
101
113
  const device = this.endpoint.stateOf(MatterbridgeServer);
102
114
  device.log.info(`Changing mode to ${request.newMode} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
103
- device.commandHandler.executeHandler('changeToMode', { request, cluster: EnergyEvseModeServer.id, attributes: this.state, endpoint: this.endpoint });
115
+ await device.commandHandler.executeHandler('EnergyEvseMode.changeToMode', {
116
+ command: 'changeToMode',
117
+ request,
118
+ cluster: EnergyEvseModeServer.id,
119
+ attributes: this.state,
120
+ endpoint: this.endpoint,
121
+ });
104
122
  const supported = this.state.supportedModes.find((mode) => mode.mode === request.newMode);
105
123
  if (!supported) {
106
124
  device.log.error(`MatterbridgeEnergyEvseModeServer changeToMode called with unsupported newMode: ${request.newMode}`);
@@ -1,4 +1,3 @@
1
- import { MaybePromise } from '@matter/general';
2
1
  import { LaundryWasherModeServer } from '@matter/node/behaviors/laundry-washer-mode';
3
2
  import { LaundryWasherControls } from '@matter/types/clusters/laundry-washer-controls';
4
3
  import { LaundryWasherMode } from '@matter/types/clusters/laundry-washer-mode';
@@ -13,5 +12,5 @@ export declare class LaundryWasher extends MatterbridgeEndpoint {
13
12
  export declare class MatterbridgeLaundryWasherModeServer extends LaundryWasherModeServer {
14
13
  initialize(): void;
15
14
  protected handleOnOffChange(onOff: boolean): void;
16
- changeToMode(request: ModeBase.ChangeToModeRequest): MaybePromise<ModeBase.ChangeToModeResponse>;
15
+ changeToMode(request: ModeBase.ChangeToModeRequest): Promise<ModeBase.ChangeToModeResponse>;
17
16
  }
@@ -63,10 +63,16 @@ export class MatterbridgeLaundryWasherModeServer extends LaundryWasherModeServer
63
63
  this.state.currentMode = 2;
64
64
  }
65
65
  }
66
- changeToMode(request) {
66
+ async changeToMode(request) {
67
67
  const device = this.endpoint.stateOf(MatterbridgeServer);
68
68
  device.log.info(`ChangeToMode (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
69
- device.commandHandler.executeHandler('changeToMode', { request, cluster: LaundryWasherModeServer.id, attributes: this.state, endpoint: this.endpoint });
69
+ await device.commandHandler.executeHandler('LaundryWasherMode.changeToMode', {
70
+ command: 'changeToMode',
71
+ request,
72
+ cluster: LaundryWasherModeServer.id,
73
+ attributes: this.state,
74
+ endpoint: this.endpoint,
75
+ });
70
76
  const supportedMode = this.state.supportedModes.find((supportedMode) => supportedMode.mode === request.newMode);
71
77
  if (supportedMode) {
72
78
  device.log.debug(`MatterbridgeLaundryWasherModeServer: changeToMode called with mode ${supportedMode.mode} => ${supportedMode.label}`);
@@ -1,4 +1,3 @@
1
- import { MaybePromise } from '@matter/general';
2
1
  import { MicrowaveOvenControlServer } from '@matter/node/behaviors/microwave-oven-control';
3
2
  import { MicrowaveOvenControl } from '@matter/types/clusters/microwave-oven-control';
4
3
  import { MicrowaveOvenMode } from '@matter/types/clusters/microwave-oven-mode';
@@ -87,6 +86,6 @@ declare const MatterbridgeMicrowaveOvenControlServer_base: import("@matter/node"
87
86
  export declare class MatterbridgeMicrowaveOvenControlServer extends MatterbridgeMicrowaveOvenControlServer_base {
88
87
  initialize(): Promise<void>;
89
88
  setCookingParameters(request: MicrowaveOvenControl.SetCookingParametersRequest): Promise<void>;
90
- addMoreTime(request: MicrowaveOvenControl.AddMoreTimeRequest): MaybePromise;
89
+ addMoreTime(request: MicrowaveOvenControl.AddMoreTimeRequest): Promise<void>;
91
90
  }
92
91
  export {};
@@ -50,7 +50,13 @@ export class MatterbridgeMicrowaveOvenControlServer extends MicrowaveOvenControl
50
50
  async setCookingParameters(request) {
51
51
  const device = this.endpoint.stateOf(MatterbridgeServer);
52
52
  device.log.info(`MatterbridgeMicrowaveOvenControlServer: setCookingParameters (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
53
- device.commandHandler.executeHandler('setCookingParameters', { request, cluster: MicrowaveOvenControl.Cluster.id, attributes: this.state, endpoint: this.endpoint });
53
+ await device.commandHandler.executeHandler('MicrowaveOvenControl.setCookingParameters', {
54
+ command: 'setCookingParameters',
55
+ request,
56
+ cluster: MicrowaveOvenControlServer.id,
57
+ attributes: this.state,
58
+ endpoint: this.endpoint,
59
+ });
54
60
  if (request.cookMode !== undefined) {
55
61
  device.log.info(`MatterbridgeMicrowaveOvenControlServer: setCookingParameters called setting cookMode to ${request.cookMode}`);
56
62
  await this.endpoint.setStateOf(MicrowaveOvenModeServer, { currentMode: request.cookMode });
@@ -82,10 +88,16 @@ export class MatterbridgeMicrowaveOvenControlServer extends MicrowaveOvenControl
82
88
  await this.endpoint.setStateOf(MatterbridgeOperationalStateServer, { operationalState: OperationalState.OperationalStateEnum.Running });
83
89
  }
84
90
  }
85
- addMoreTime(request) {
91
+ async addMoreTime(request) {
86
92
  const device = this.endpoint.stateOf(MatterbridgeServer);
87
93
  device.log.info(`MatterbridgeMicrowaveOvenControlServer: addMoreTime (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
88
- device.commandHandler.executeHandler('addMoreTime', { request, cluster: MicrowaveOvenControl.Cluster.id, attributes: this.state, endpoint: this.endpoint });
94
+ await device.commandHandler.executeHandler('MicrowaveOvenControl.addMoreTime', {
95
+ command: 'addMoreTime',
96
+ request,
97
+ cluster: MicrowaveOvenControlServer.id,
98
+ attributes: this.state,
99
+ endpoint: this.endpoint,
100
+ });
89
101
  if (request.timeToAdd !== undefined && request.timeToAdd > 0 && this.state.cookTime + request.timeToAdd <= this.state.maxCookTime) {
90
102
  device.log.info(`MatterbridgeMicrowaveOvenControlServer: addMoreTime called setting cookTime to ${this.state.cookTime + request.timeToAdd}`);
91
103
  this.state.cookTime += request.timeToAdd;
@@ -1,4 +1,3 @@
1
- import { MaybePromise } from '@matter/general';
2
1
  import { RvcCleanModeServer } from '@matter/node/behaviors/rvc-clean-mode';
3
2
  import { RvcOperationalStateServer } from '@matter/node/behaviors/rvc-operational-state';
4
3
  import { RvcRunModeServer } from '@matter/node/behaviors/rvc-run-mode';
@@ -17,13 +16,13 @@ export declare class RoboticVacuumCleaner extends MatterbridgeEndpoint {
17
16
  createDefaultRvcOperationalStateClusterServer(phaseList?: string[] | null, currentPhase?: number | null, operationalStateList?: RvcOperationalState.OperationalStateStruct[], operationalState?: RvcOperationalState.OperationalState, operationalError?: RvcOperationalState.ErrorStateStruct): this;
18
17
  }
19
18
  export declare class MatterbridgeRvcRunModeServer extends RvcRunModeServer {
20
- changeToMode(request: ModeBase.ChangeToModeRequest): MaybePromise<ModeBase.ChangeToModeResponse>;
19
+ changeToMode(request: ModeBase.ChangeToModeRequest): Promise<ModeBase.ChangeToModeResponse>;
21
20
  }
22
21
  export declare class MatterbridgeRvcCleanModeServer extends RvcCleanModeServer {
23
- changeToMode(request: ModeBase.ChangeToModeRequest): MaybePromise<ModeBase.ChangeToModeResponse>;
22
+ changeToMode(request: ModeBase.ChangeToModeRequest): Promise<ModeBase.ChangeToModeResponse>;
24
23
  }
25
24
  export declare class MatterbridgeRvcOperationalStateServer extends RvcOperationalStateServer {
26
- pause(): MaybePromise<OperationalState.OperationalCommandResponse>;
27
- resume(): MaybePromise<OperationalState.OperationalCommandResponse>;
28
- goHome(): MaybePromise<OperationalState.OperationalCommandResponse>;
25
+ pause(): Promise<OperationalState.OperationalCommandResponse>;
26
+ resume(): Promise<OperationalState.OperationalCommandResponse>;
27
+ goHome(): Promise<OperationalState.OperationalCommandResponse>;
29
28
  }
@@ -97,10 +97,16 @@ export class RoboticVacuumCleaner extends MatterbridgeEndpoint {
97
97
  }
98
98
  }
99
99
  export class MatterbridgeRvcRunModeServer extends RvcRunModeServer {
100
- changeToMode(request) {
100
+ async changeToMode(request) {
101
101
  const device = this.endpoint.stateOf(MatterbridgeServer);
102
102
  device.log.info(`Changing mode to ${request.newMode} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
103
- device.commandHandler.executeHandler('changeToMode', { request, cluster: RvcRunModeServer.id, attributes: this.state, endpoint: this.endpoint });
103
+ await device.commandHandler.executeHandler('RvcRunMode.changeToMode', {
104
+ command: 'changeToMode',
105
+ request,
106
+ cluster: RvcRunModeServer.id,
107
+ attributes: this.state,
108
+ endpoint: this.endpoint,
109
+ });
104
110
  const supported = this.state.supportedModes.find((mode) => mode.mode === request.newMode);
105
111
  if (!supported) {
106
112
  device.log.error(`MatterbridgeRvcRunModeServer changeToMode called with unsupported newMode: ${request.newMode}`);
@@ -123,10 +129,16 @@ export class MatterbridgeRvcRunModeServer extends RvcRunModeServer {
123
129
  }
124
130
  }
125
131
  export class MatterbridgeRvcCleanModeServer extends RvcCleanModeServer {
126
- changeToMode(request) {
132
+ async changeToMode(request) {
127
133
  const device = this.endpoint.stateOf(MatterbridgeServer);
128
134
  device.log.info(`Changing mode to ${request.newMode} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
129
- device.commandHandler.executeHandler('changeToMode', { request, cluster: RvcCleanModeServer.id, attributes: this.state, endpoint: this.endpoint });
135
+ await device.commandHandler.executeHandler('RvcCleanMode.changeToMode', {
136
+ command: 'changeToMode',
137
+ request,
138
+ cluster: RvcCleanModeServer.id,
139
+ attributes: this.state,
140
+ endpoint: this.endpoint,
141
+ });
130
142
  const supported = this.state.supportedModes.find((mode) => mode.mode === request.newMode);
131
143
  if (!supported) {
132
144
  device.log.error(`MatterbridgeRvcCleanModeServer changeToMode called with unsupported newMode: ${request.newMode}`);
@@ -138,10 +150,16 @@ export class MatterbridgeRvcCleanModeServer extends RvcCleanModeServer {
138
150
  }
139
151
  }
140
152
  export class MatterbridgeRvcOperationalStateServer extends RvcOperationalStateServer {
141
- pause() {
153
+ async pause() {
142
154
  const device = this.endpoint.stateOf(MatterbridgeServer);
143
155
  device.log.info(`Pause (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
144
- device.commandHandler.executeHandler('pause', { request: {}, cluster: RvcOperationalStateServer.id, attributes: this.state, endpoint: this.endpoint });
156
+ await device.commandHandler.executeHandler('RvcOperationalState.pause', {
157
+ command: 'pause',
158
+ request: {},
159
+ cluster: RvcOperationalStateServer.id,
160
+ attributes: this.state,
161
+ endpoint: this.endpoint,
162
+ });
145
163
  device.log.debug('MatterbridgeRvcOperationalStateServer: pause called setting operational state to Paused and currentMode to Idle');
146
164
  this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 1;
147
165
  this.state.operationalState = RvcOperationalState.OperationalState.Paused;
@@ -150,10 +168,16 @@ export class MatterbridgeRvcOperationalStateServer extends RvcOperationalStateSe
150
168
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateDetails: 'Fully operational' },
151
169
  };
152
170
  }
153
- resume() {
171
+ async resume() {
154
172
  const device = this.endpoint.stateOf(MatterbridgeServer);
155
173
  device.log.info(`Resume (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
156
- device.commandHandler.executeHandler('resume', { request: {}, cluster: RvcOperationalStateServer.id, attributes: this.state, endpoint: this.endpoint });
174
+ await device.commandHandler.executeHandler('RvcOperationalState.resume', {
175
+ command: 'resume',
176
+ request: {},
177
+ cluster: RvcOperationalStateServer.id,
178
+ attributes: this.state,
179
+ endpoint: this.endpoint,
180
+ });
157
181
  device.log.debug('MatterbridgeRvcOperationalStateServer: resume called setting operational state to Running and currentMode to Cleaning');
158
182
  this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 2;
159
183
  this.state.operationalState = RvcOperationalState.OperationalState.Running;
@@ -162,10 +186,16 @@ export class MatterbridgeRvcOperationalStateServer extends RvcOperationalStateSe
162
186
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateDetails: 'Fully operational' },
163
187
  };
164
188
  }
165
- goHome() {
189
+ async goHome() {
166
190
  const device = this.endpoint.stateOf(MatterbridgeServer);
167
191
  device.log.info(`GoHome (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
168
- device.commandHandler.executeHandler('goHome', { request: {}, cluster: RvcOperationalStateServer.id, attributes: this.state, endpoint: this.endpoint });
192
+ await device.commandHandler.executeHandler('RvcOperationalState.goHome', {
193
+ command: 'goHome',
194
+ request: {},
195
+ cluster: RvcOperationalStateServer.id,
196
+ attributes: this.state,
197
+ endpoint: this.endpoint,
198
+ });
169
199
  device.log.debug('MatterbridgeRvcOperationalStateServer: goHome called setting operational state to Docked and currentMode to Idle');
170
200
  this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 1;
171
201
  this.state.operationalState = RvcOperationalState.OperationalState.Docked;
@@ -1,4 +1,3 @@
1
- import { MaybePromise } from '@matter/general';
2
1
  import { TemperatureControlServer } from '@matter/node/behaviors/temperature-control';
3
2
  import { TemperatureControl } from '@matter/types/clusters/temperature-control';
4
3
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
@@ -71,7 +70,7 @@ declare const MatterbridgeLevelTemperatureControlServer_base: import("@matter/no
71
70
  }>, readonly [TemperatureControl.Feature.TemperatureLevel]>, typeof TemperatureControlServer, import("@matter/node/behaviors/temperature-control").TemperatureControlInterface>;
72
71
  export declare class MatterbridgeLevelTemperatureControlServer extends MatterbridgeLevelTemperatureControlServer_base {
73
72
  initialize(): void;
74
- setTemperature(request: TemperatureControl.SetTemperatureRequest): MaybePromise;
73
+ setTemperature(request: TemperatureControl.SetTemperatureRequest): Promise<void>;
75
74
  }
76
75
  declare const MatterbridgeNumberTemperatureControlServer_base: import("@matter/node").ClusterBehavior.Type<import("@matter/types").ClusterComposer.WithFeatures<import("@matter/types").ClusterType.Of<{
77
76
  readonly id: 86;
@@ -140,6 +139,6 @@ declare const MatterbridgeNumberTemperatureControlServer_base: import("@matter/n
140
139
  }>, readonly [TemperatureControl.Feature.TemperatureNumber, TemperatureControl.Feature.TemperatureStep]>, typeof TemperatureControlServer, import("@matter/node/behaviors/temperature-control").TemperatureControlInterface>;
141
140
  export declare class MatterbridgeNumberTemperatureControlServer extends MatterbridgeNumberTemperatureControlServer_base {
142
141
  initialize(): void;
143
- setTemperature(request: TemperatureControl.SetTemperatureRequest): MaybePromise;
142
+ setTemperature(request: TemperatureControl.SetTemperatureRequest): Promise<void>;
144
143
  }
145
144
  export {};