@matterbridge/core 3.8.1-dev-20260609-77be5ba → 3.8.1-dev-20260609-f3c25c0

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.
@@ -151,9 +151,6 @@ export declare const ClosureControl: ClusterType.Concrete & {
151
151
  readonly EngageStateChangedEvent: new (value?: Partial<ClosureControl.EngageStateChangedEvent>) => ClosureControl.EngageStateChangedEvent;
152
152
  readonly SecureStateChangedEvent: new (value?: Partial<ClosureControl.SecureStateChangedEvent>) => ClosureControl.SecureStateChangedEvent;
153
153
  readonly Typing: ClosureControl;
154
- readonly Cluster: ClusterType.WithCompat<typeof ClosureControl, ClosureControl>;
155
- readonly Complete: typeof ClosureControl;
156
- with(...features: ClosureControl.Feature[]): typeof ClosureControl;
157
154
  };
158
155
  export interface ClosureControl extends ClusterTyping {
159
156
  Attributes: ClosureControl.Attributes;
@@ -170,9 +170,6 @@ export declare const ClosureDimension: ClusterType.Concrete & {
170
170
  readonly SetTargetRequest: new (value?: Partial<ClosureDimension.SetTargetRequest>) => ClosureDimension.SetTargetRequest;
171
171
  readonly StepRequest: new (value?: Partial<ClosureDimension.StepRequest>) => ClosureDimension.StepRequest;
172
172
  readonly Typing: ClosureDimension;
173
- readonly Cluster: ClusterType.WithCompat<typeof ClosureDimension, ClosureDimension>;
174
- readonly Complete: typeof ClosureDimension;
175
- with(...features: ClosureDimension.Feature[]): typeof ClosureDimension;
176
173
  };
177
174
  export interface ClosureDimension extends ClusterTyping {
178
175
  Attributes: ClosureDimension.Attributes;
@@ -30,8 +30,6 @@ export declare const SoilMeasurement: ClusterType.Concrete & {
30
30
  readonly attributes: ClusterType.AttributeObjects<SoilMeasurement.Attributes>;
31
31
  readonly features: Record<string, never>;
32
32
  readonly Typing: SoilMeasurement;
33
- readonly Cluster: ClusterType.WithCompat<typeof SoilMeasurement, SoilMeasurement>;
34
- readonly Complete: typeof SoilMeasurement;
35
33
  };
36
34
  export interface SoilMeasurement extends ClusterTyping {
37
35
  Attributes: SoilMeasurement.Attributes;
@@ -1,11 +1,11 @@
1
1
  import { FanControl } from '@matter/types/clusters/fan-control';
2
2
  import { ThermostatUserInterfaceConfiguration } from '@matter/types/clusters/thermostat-user-interface-configuration';
3
- import { airConditioner, powerSource } from '../matterbridgeDeviceTypes.js';
3
+ import { powerSource, roomAirConditioner } from '../matterbridgeDeviceTypes.js';
4
4
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
5
5
  export class AirConditioner extends MatterbridgeEndpoint {
6
6
  constructor(name, serial, options = {}) {
7
7
  const { localTemperature = 23, occupiedHeatingSetpoint = 21, occupiedCoolingSetpoint = 25, minSetpointDeadBand = 1, minHeatSetpointLimit = 0, maxHeatSetpointLimit = 50, minCoolSetpointLimit = 0, maxCoolSetpointLimit = 50, temperatureDisplayMode = ThermostatUserInterfaceConfiguration.TemperatureDisplayMode.Celsius, keypadLockout = ThermostatUserInterfaceConfiguration.KeypadLockout.NoLockout, scheduleProgrammingVisibility = ThermostatUserInterfaceConfiguration.ScheduleProgrammingVisibility.ScheduleProgrammingPermitted, fanMode = FanControl.FanMode.Off, fanModeSequence = FanControl.FanModeSequence.OffLowMedHighAuto, percentSetting = 0, percentCurrent = 0, } = options;
8
- super([airConditioner, powerSource], { id: `${name.replaceAll(' ', '')}-${serial.replaceAll(' ', '')}` });
8
+ super([roomAirConditioner, powerSource], { id: `${name.replaceAll(' ', '')}-${serial.replaceAll(' ', '')}` });
9
9
  this.createDefaultIdentifyClusterServer();
10
10
  this.createDefaultBasicInformationClusterServer(name, serial, 0xfff1, 'Matterbridge', 0x8000, 'Matterbridge Air Conditioner');
11
11
  this.createDefaultPowerSourceWiredClusterServer();
@@ -11,23 +11,23 @@ export class ExtractorHood extends MatterbridgeEndpoint {
11
11
  this.createDefaultHepaFilterMonitoringClusterServer(hepaCondition, hepaChangeIndication, hepaInPlaceIndicator, hepaLastChangedTime, hepaReplacementProductList);
12
12
  this.createDefaultActivatedCarbonFilterMonitoringClusterServer(activatedCarbonCondition, activatedCarbonChangeIndication, activatedCarbonInPlaceIndicator, activatedCarbonLastChangedTime, activatedCarbonReplacementProductList);
13
13
  this.subscribeAttribute('fanControl', 'fanMode', (newValue, oldValue, context) => {
14
- if (context.offline === true)
14
+ if (context.fabric === undefined)
15
15
  return;
16
16
  this.log.info(`Fan control fanMode attribute changed: ${newValue}`);
17
17
  });
18
18
  this.subscribeAttribute('fanControl', 'percentSetting', (newValue, oldValue, context) => {
19
- if (context.offline === true)
19
+ if (context.fabric === undefined)
20
20
  return;
21
21
  this.log.info(`Fan control percentSetting attribute changed: ${newValue}`);
22
22
  void this.setAttribute('fanControl', 'percentCurrent', newValue, this.log).catch(() => { });
23
23
  });
24
24
  this.subscribeAttribute('hepaFilterMonitoring', 'lastChangedTime', (newValue, oldValue, context) => {
25
- if (context.offline === true)
25
+ if (context.fabric === undefined)
26
26
  return;
27
27
  this.log.info(`Hepa filter monitoring lastChangedTime attribute changed: ${newValue}`);
28
28
  });
29
29
  this.subscribeAttribute('activatedCarbonFilterMonitoring', 'lastChangedTime', (newValue, oldValue, context) => {
30
- if (context.offline === true)
30
+ if (context.fabric === undefined)
31
31
  return;
32
32
  this.log.info(`Activated carbon filter monitoring lastChangedTime attribute changed: ${newValue}`);
33
33
  });
@@ -1,6 +1,6 @@
1
1
  import { CommonAreaNamespaceTag, CommonNumberTag, PowerSourceTag } from '@matter/node';
2
2
  import { DeviceEnergyManagement } from '@matter/types/clusters/device-energy-management';
3
- import { deviceEnergyManagement, electricalSensor, heatPump, powerSource, temperatureSensor, thermostatDevice } from '../matterbridgeDeviceTypes.js';
3
+ import { deviceEnergyManagement, electricalSensor, heatPump, powerSource, temperatureSensor, thermostat } from '../matterbridgeDeviceTypes.js';
4
4
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
5
5
  import { getSemtag } from '../matterbridgeEndpointHelpers.js';
6
6
  export class HeatPump extends MatterbridgeEndpoint {
@@ -28,14 +28,14 @@ export class HeatPump extends MatterbridgeEndpoint {
28
28
  })
29
29
  .createDefaultTemperatureMeasurementClusterServer(3500)
30
30
  .addRequiredClusterServers();
31
- this.addChildDeviceType('LivingThermostat', thermostatDevice, {
31
+ this.addChildDeviceType('LivingThermostat', thermostat, {
32
32
  tagList: [getSemtag(CommonNumberTag.One, 'LivingThermostat'), getSemtag(CommonAreaNamespaceTag.LivingRoom)],
33
33
  })
34
34
  .createDefaultThermostatClusterServer()
35
35
  .addRequiredClusterServers()
36
36
  .addUserLabel('room', 'Living Room')
37
37
  .catch(() => { });
38
- this.addChildDeviceType('BedroomThermostat', thermostatDevice, {
38
+ this.addChildDeviceType('BedroomThermostat', thermostat, {
39
39
  tagList: [getSemtag(CommonNumberTag.Two, 'BedroomThermostat'), getSemtag(CommonAreaNamespaceTag.Bedroom)],
40
40
  })
41
41
  .createDefaultThermostatClusterServer()
@@ -1,6 +1,6 @@
1
1
  import { LevelControl } from '@matter/types/clusters/level-control';
2
2
  import { OnOff } from '@matter/types/clusters/on-off';
3
- import { speakerDevice } from '../matterbridgeDeviceTypes.js';
3
+ import { speaker } from '../matterbridgeDeviceTypes.js';
4
4
  import { MatterbridgeEndpoint } from '../matterbridgeEndpoint.js';
5
5
  export class Speaker extends MatterbridgeEndpoint {
6
6
  constructor(name, serial, muted = false, volume = 128) {
@@ -10,16 +10,16 @@ export class Speaker extends MatterbridgeEndpoint {
10
10
  volume = 1;
11
11
  if (volume > 254)
12
12
  volume = 254;
13
- super([speakerDevice], { id: `${name.replaceAll(' ', '')}-${serial.replaceAll(' ', '')}` });
13
+ super([speaker], { id: `${name.replaceAll(' ', '')}-${serial.replaceAll(' ', '')}` });
14
14
  this.createDefaultBasicInformationClusterServer(name, serial, 0xfff1, 'Matterbridge', 0x8000, 'Matterbridge Speaker');
15
15
  this.createOnOffClusterServer(!muted);
16
16
  this.createLevelControlClusterServer(volume);
17
17
  }
18
18
  async setMuted(muted) {
19
- await this.setAttribute(OnOff.Cluster.id, 'onOff', !muted);
19
+ await this.setAttribute(OnOff.id, 'onOff', !muted);
20
20
  }
21
21
  isMuted() {
22
- return !this.getAttribute(OnOff.Cluster.id, 'onOff');
22
+ return !this.getAttribute(OnOff.id, 'onOff');
23
23
  }
24
24
  async setVolume(level) {
25
25
  if (!Number.isFinite(level))
@@ -28,9 +28,9 @@ export class Speaker extends MatterbridgeEndpoint {
28
28
  level = 1;
29
29
  if (level > 254)
30
30
  level = 254;
31
- await this.setAttribute(LevelControl.Cluster, 'currentLevel', level);
31
+ await this.setAttribute(LevelControl, 'currentLevel', level);
32
32
  }
33
33
  getVolume() {
34
- return this.getAttribute(LevelControl.Cluster, 'currentLevel');
34
+ return this.getAttribute(LevelControl, 'currentLevel');
35
35
  }
36
36
  }
package/dist/frontend.js CHANGED
@@ -959,8 +959,8 @@ export class Frontend extends EventEmitter {
959
959
  return false;
960
960
  if (!device.lifecycle.isReady || device.construction.status !== Lifecycle.Status.Active)
961
961
  return false;
962
- if (device.hasClusterServer(BridgedDeviceBasicInformation.Cluster.id))
963
- return device.getAttribute(BridgedDeviceBasicInformation.Cluster.id, 'reachable');
962
+ if (device.hasClusterServer(BridgedDeviceBasicInformation.id))
963
+ return device.getAttribute(BridgedDeviceBasicInformation.id, 'reachable');
964
964
  if (device.mode === 'server' && device.serverNode && device.serverNode.state.basicInformation.reachable !== undefined)
965
965
  return device.serverNode.state.basicInformation.reachable;
966
966
  if (this.matterbridge.bridgeMode === 'childbridge')
@@ -973,21 +973,21 @@ export class Frontend extends EventEmitter {
973
973
  if (!endpoint.lifecycle.isReady || endpoint.construction.status !== Lifecycle.Status.Active)
974
974
  return undefined;
975
975
  const powerSource = (device) => {
976
- const featureMap = device.getAttribute(PowerSource.Cluster.id, 'featureMap');
976
+ const featureMap = device.getAttribute(PowerSource.id, 'featureMap');
977
977
  if (featureMap.wired) {
978
- const wiredCurrentType = device.getAttribute(PowerSource.Cluster.id, 'wiredCurrentType');
978
+ const wiredCurrentType = device.getAttribute(PowerSource.id, 'wiredCurrentType');
979
979
  return ['ac', 'dc'][wiredCurrentType];
980
980
  }
981
981
  if (featureMap.battery) {
982
- const batChargeLevel = device.getAttribute(PowerSource.Cluster.id, 'batChargeLevel');
982
+ const batChargeLevel = device.getAttribute(PowerSource.id, 'batChargeLevel');
983
983
  return ['ok', 'warning', 'critical'][batChargeLevel];
984
984
  }
985
985
  return;
986
986
  };
987
- if (endpoint.hasClusterServer(PowerSource.Cluster.id))
987
+ if (endpoint.hasClusterServer(PowerSource.id))
988
988
  return powerSource(endpoint);
989
989
  for (const child of endpoint.getChildEndpoints()) {
990
- if (child.hasClusterServer(PowerSource.Cluster.id))
990
+ if (child.hasClusterServer(PowerSource.id))
991
991
  return powerSource(child);
992
992
  }
993
993
  }
@@ -997,17 +997,17 @@ export class Frontend extends EventEmitter {
997
997
  if (!endpoint.lifecycle.isReady || endpoint.construction.status !== Lifecycle.Status.Active)
998
998
  return undefined;
999
999
  const batteryLevel = (device) => {
1000
- const featureMap = device.getAttribute(PowerSource.Cluster.id, 'featureMap');
1000
+ const featureMap = device.getAttribute(PowerSource.id, 'featureMap');
1001
1001
  if (featureMap.battery) {
1002
- const batChargeLevel = device.getAttribute(PowerSource.Cluster.id, 'batPercentRemaining');
1002
+ const batChargeLevel = device.getAttribute(PowerSource.id, 'batPercentRemaining');
1003
1003
  return isValidNumber(batChargeLevel) ? batChargeLevel / 2 : undefined;
1004
1004
  }
1005
1005
  return undefined;
1006
1006
  };
1007
- if (endpoint.hasClusterServer(PowerSource.Cluster.id))
1007
+ if (endpoint.hasClusterServer(PowerSource.id))
1008
1008
  return batteryLevel(endpoint);
1009
1009
  for (const child of endpoint.getChildEndpoints()) {
1010
- if (child.hasClusterServer(PowerSource.Cluster.id))
1010
+ if (child.hasClusterServer(PowerSource.id))
1011
1011
  return batteryLevel(child);
1012
1012
  }
1013
1013
  }
package/dist/helpers.js CHANGED
@@ -11,7 +11,7 @@ import { OnOffLightSwitchDevice } from '@matter/node/devices/on-off-light-switch
11
11
  import { OnOffPlugInUnitDevice } from '@matter/node/devices/on-off-plug-in-unit';
12
12
  import { VendorId } from '@matter/types/datatype';
13
13
  import { hasParameter } from '@matterbridge/utils/cli';
14
- import { doorLockDevice } from './matterbridgeDeviceTypes.js';
14
+ import { doorLock } from './matterbridgeDeviceTypes.js';
15
15
  import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
16
16
  export async function addVirtualDevice(aggregatorEndpoint, name, type, callback) {
17
17
  let deviceType;
@@ -60,7 +60,7 @@ export async function addVirtualDevice(aggregatorEndpoint, name, type, callback)
60
60
  }
61
61
  export async function addVirtualDevices(matterbridge, aggregatorEndpoint) {
62
62
  if (hasParameter('experimental') && matterbridge.bridgeMode === 'bridge' && aggregatorEndpoint) {
63
- const lockUserPin = new MatterbridgeEndpoint(doorLockDevice, { id: 'door_lock_user_pin' });
63
+ const lockUserPin = new MatterbridgeEndpoint(doorLock, { id: 'door_lock_user_pin' });
64
64
  lockUserPin.createDefaultBridgedDeviceBasicInformationClusterServer('Matterbridge User Pin Lock', 'sn_system_lock', 0xfff1, 'Matterbridge', 'Matterbridge Virtual Device', 20000, '2.0.0');
65
65
  lockUserPin.createUserPinDoorLockClusterServer();
66
66
  lockUserPin.addRequiredClusterServers();
@@ -281,7 +281,7 @@ export const extendedColorLight = DeviceTypeDefinition({
281
281
  });
282
282
  export const onOffPlugInUnit = DeviceTypeDefinition({
283
283
  name: 'MA-onOffPlugInUnit',
284
- deviceName: 'OnOff Plugin Unit',
284
+ deviceName: 'OnOff PlugIn Unit',
285
285
  code: 0x010a,
286
286
  deviceClass: DeviceClasses.Simple,
287
287
  deviceScope: DeviceScopes.Endpoint,
@@ -294,7 +294,7 @@ export const onOffPlugInUnit = DeviceTypeDefinition({
294
294
  export const onOffOutlet = onOffPlugInUnit;
295
295
  export const dimmablePlugInUnit = DeviceTypeDefinition({
296
296
  name: 'MA-dimmablePlugInUnit',
297
- deviceName: 'Dimmable Plugin Unit',
297
+ deviceName: 'Dimmable PlugIn Unit',
298
298
  code: 0x010b,
299
299
  deviceClass: DeviceClasses.Simple,
300
300
  deviceScope: DeviceScopes.Endpoint,
@@ -1,6 +1,6 @@
1
1
  import { AtLeastOne } from '@matter/general';
2
2
  import { ActionContext, Behavior, Endpoint, ServerNode } from '@matter/node';
3
- import { ClusterType, type ClusterTyping } from '@matter/types/cluster';
3
+ import { type ClusterType, type ClusterTyping } from '@matter/types/cluster';
4
4
  import { AirQuality } from '@matter/types/clusters/air-quality';
5
5
  import { ColorControl } from '@matter/types/clusters/color-control';
6
6
  import { ConcentrationMeasurement } from '@matter/types/clusters/concentration-measurement';
@@ -335,7 +335,7 @@ export class MatterbridgeEndpoint extends Endpoint {
335
335
  addChildDeviceType(endpointName, definition, options = {}, debug = false) {
336
336
  this.log.debug(`addChildDeviceType: ${CYAN}${endpointName}${db}`);
337
337
  let alreadyAdded = false;
338
- let child = this.getChildEndpointByName(endpointName);
338
+ let child = this.getChildEndpointById(endpointName);
339
339
  if (child) {
340
340
  this.log.debug(`****- endpoint ${CYAN}${endpointName}${db} already added!`);
341
341
  alreadyAdded = true;
@@ -379,7 +379,7 @@ export class MatterbridgeEndpoint extends Endpoint {
379
379
  addChildDeviceTypeWithClusterServer(endpointName, definition, serverList = [], options = {}, debug = false) {
380
380
  this.log.debug(`addChildDeviceTypeWithClusterServer: ${CYAN}${endpointName}${db}`);
381
381
  let alreadyAdded = false;
382
- let child = this.getChildEndpointByName(endpointName);
382
+ let child = this.getChildEndpointById(endpointName);
383
383
  if (child) {
384
384
  this.log.debug(`****- endpoint ${CYAN}${endpointName}${db} already added!`);
385
385
  alreadyAdded = true;
@@ -477,9 +477,9 @@ export class MatterbridgeEndpoint extends Endpoint {
477
477
  };
478
478
  Object.keys(device.behaviors.supported).forEach((behaviorName) => {
479
479
  if (behaviorName === 'bridgedDeviceBasicInformation')
480
- serialized.clusterServersId.push(BridgedDeviceBasicInformation.Cluster.id);
480
+ serialized.clusterServersId.push(BridgedDeviceBasicInformation.id);
481
481
  if (behaviorName === 'powerSource')
482
- serialized.clusterServersId.push(PowerSource.Cluster.id);
482
+ serialized.clusterServersId.push(PowerSource.id);
483
483
  });
484
484
  return serialized;
485
485
  }
@@ -494,9 +494,9 @@ export class MatterbridgeEndpoint extends Endpoint {
494
494
  device.productId = serializedDevice.productId;
495
495
  device.productName = serializedDevice.productName;
496
496
  for (const clusterId of serializedDevice.clusterServersId) {
497
- if (clusterId === BridgedDeviceBasicInformation.Cluster.id)
497
+ if (clusterId === BridgedDeviceBasicInformation.id)
498
498
  device.createDefaultBridgedDeviceBasicInformationClusterServer(serializedDevice.deviceName, serializedDevice.serialNumber, serializedDevice.vendorId ?? 0xfff1, serializedDevice.vendorName ?? 'Matterbridge', serializedDevice.productName ?? 'Matterbridge device');
499
- else if (clusterId === PowerSource.Cluster.id)
499
+ else if (clusterId === PowerSource.id)
500
500
  device.createDefaultPowerSourceWiredClusterServer();
501
501
  }
502
502
  return device;
@@ -766,14 +766,14 @@ export class MatterbridgeEndpoint extends Endpoint {
766
766
  }
767
767
  async configureColorControlMode(colorMode) {
768
768
  if (isValidNumber(colorMode, ColorControl.ColorMode.CurrentHueAndCurrentSaturation, ColorControl.ColorMode.ColorTemperatureMireds)) {
769
- await this.setAttribute(ColorControl.Cluster.id, 'colorMode', colorMode, this.log);
770
- await this.setAttribute(ColorControl.Cluster.id, 'enhancedColorMode', colorMode, this.log);
769
+ await this.setAttribute(ColorControl.id, 'colorMode', colorMode, this.log);
770
+ await this.setAttribute(ColorControl.id, 'enhancedColorMode', colorMode, this.log);
771
771
  }
772
772
  }
773
773
  async configureEnhancedColorControlMode(colorMode) {
774
774
  if (isValidNumber(colorMode, ColorControl.EnhancedColorMode.CurrentHueAndCurrentSaturation, ColorControl.EnhancedColorMode.EnhancedCurrentHueAndCurrentSaturation)) {
775
- await this.setAttribute(ColorControl.Cluster.id, 'colorMode', colorMode === ColorControl.EnhancedColorMode.EnhancedCurrentHueAndCurrentSaturation ? ColorControl.ColorMode.CurrentHueAndCurrentSaturation : colorMode, this.log);
776
- await this.setAttribute(ColorControl.Cluster.id, 'enhancedColorMode', colorMode, this.log);
775
+ await this.setAttribute(ColorControl.id, 'colorMode', colorMode === ColorControl.EnhancedColorMode.EnhancedCurrentHueAndCurrentSaturation ? ColorControl.ColorMode.CurrentHueAndCurrentSaturation : colorMode, this.log);
776
+ await this.setAttribute(ColorControl.id, 'enhancedColorMode', colorMode, this.log);
777
777
  }
778
778
  }
779
779
  createDefaultWindowCoveringClusterServer(positionPercent100ths, type = WindowCovering.WindowCoveringType.Rollershade, endProductType = WindowCovering.EndProductType.RollerShade) {
@@ -1275,57 +1275,57 @@ export class MatterbridgeEndpoint extends Endpoint {
1275
1275
  return false;
1276
1276
  }
1277
1277
  if (['Single', 'Double', 'Long'].includes(event)) {
1278
- if (!this.hasClusterServer(Switch.Cluster.id) || this.getAttribute(Switch.Cluster.id, 'featureMap').momentarySwitch === false) {
1278
+ if (!this.hasClusterServer(Switch.id) || this.getAttribute(Switch.id, 'featureMap').momentarySwitch === false) {
1279
1279
  this.log.error(`triggerSwitchEvent ${event} error: Switch cluster with MomentarySwitch not found on endpoint ${this.maybeId}:${this.maybeNumber}`);
1280
1280
  return false;
1281
1281
  }
1282
1282
  if (event === 'Single') {
1283
1283
  log?.info(`${db}Trigger endpoint ${or}${this.id}:${this.number}${db} event ${hk}Switch.SinglePress${db}`);
1284
- await this.setAttribute(Switch.Cluster.id, 'currentPosition', 1, log);
1285
- await this.triggerEvent(Switch.Cluster.id, 'initialPress', { newPosition: 1 }, log);
1286
- await this.setAttribute(Switch.Cluster.id, 'currentPosition', 0, log);
1284
+ await this.setAttribute(Switch.id, 'currentPosition', 1, log);
1285
+ await this.triggerEvent(Switch.id, 'initialPress', { newPosition: 1 }, log);
1286
+ await this.setAttribute(Switch.id, 'currentPosition', 0, log);
1287
1287
  if (featuresFor(this, 'Switch').momentarySwitchRelease) {
1288
- await this.triggerEvent(Switch.Cluster.id, 'shortRelease', { previousPosition: 1 }, log);
1289
- await this.setAttribute(Switch.Cluster.id, 'currentPosition', 0, log);
1290
- await this.triggerEvent(Switch.Cluster.id, 'multiPressComplete', { previousPosition: 1, totalNumberOfPressesCounted: 1 }, log);
1288
+ await this.triggerEvent(Switch.id, 'shortRelease', { previousPosition: 1 }, log);
1289
+ await this.setAttribute(Switch.id, 'currentPosition', 0, log);
1290
+ await this.triggerEvent(Switch.id, 'multiPressComplete', { previousPosition: 1, totalNumberOfPressesCounted: 1 }, log);
1291
1291
  }
1292
1292
  }
1293
1293
  if (event === 'Double') {
1294
1294
  log?.info(`${db}Trigger endpoint ${or}${this.id}:${this.number}${db} event ${hk}Switch.DoublePress${db}`);
1295
- await this.setAttribute(Switch.Cluster.id, 'currentPosition', 1, log);
1296
- await this.triggerEvent(Switch.Cluster.id, 'initialPress', { newPosition: 1 }, log);
1297
- await this.setAttribute(Switch.Cluster.id, 'currentPosition', 0, log);
1298
- await this.triggerEvent(Switch.Cluster.id, 'shortRelease', { previousPosition: 1 }, log);
1299
- await this.setAttribute(Switch.Cluster.id, 'currentPosition', 1, log);
1300
- await this.triggerEvent(Switch.Cluster.id, 'initialPress', { newPosition: 1 }, log);
1301
- await this.triggerEvent(Switch.Cluster.id, 'multiPressOngoing', { newPosition: 1, currentNumberOfPressesCounted: 2 }, log);
1302
- await this.setAttribute(Switch.Cluster.id, 'currentPosition', 0, log);
1303
- await this.triggerEvent(Switch.Cluster.id, 'shortRelease', { previousPosition: 1 }, log);
1304
- await this.triggerEvent(Switch.Cluster.id, 'multiPressComplete', { previousPosition: 1, totalNumberOfPressesCounted: 2 }, log);
1295
+ await this.setAttribute(Switch.id, 'currentPosition', 1, log);
1296
+ await this.triggerEvent(Switch.id, 'initialPress', { newPosition: 1 }, log);
1297
+ await this.setAttribute(Switch.id, 'currentPosition', 0, log);
1298
+ await this.triggerEvent(Switch.id, 'shortRelease', { previousPosition: 1 }, log);
1299
+ await this.setAttribute(Switch.id, 'currentPosition', 1, log);
1300
+ await this.triggerEvent(Switch.id, 'initialPress', { newPosition: 1 }, log);
1301
+ await this.triggerEvent(Switch.id, 'multiPressOngoing', { newPosition: 1, currentNumberOfPressesCounted: 2 }, log);
1302
+ await this.setAttribute(Switch.id, 'currentPosition', 0, log);
1303
+ await this.triggerEvent(Switch.id, 'shortRelease', { previousPosition: 1 }, log);
1304
+ await this.triggerEvent(Switch.id, 'multiPressComplete', { previousPosition: 1, totalNumberOfPressesCounted: 2 }, log);
1305
1305
  }
1306
1306
  if (event === 'Long') {
1307
1307
  log?.info(`${db}Trigger endpoint ${or}${this.id}:${this.number}${db} event ${hk}Switch.LongPress${db}`);
1308
- await this.setAttribute(Switch.Cluster.id, 'currentPosition', 1, log);
1309
- await this.triggerEvent(Switch.Cluster.id, 'initialPress', { newPosition: 1 }, log);
1310
- await this.triggerEvent(Switch.Cluster.id, 'longPress', { newPosition: 1 }, log);
1311
- await this.setAttribute(Switch.Cluster.id, 'currentPosition', 0, log);
1312
- await this.triggerEvent(Switch.Cluster.id, 'longRelease', { previousPosition: 1 }, log);
1308
+ await this.setAttribute(Switch.id, 'currentPosition', 1, log);
1309
+ await this.triggerEvent(Switch.id, 'initialPress', { newPosition: 1 }, log);
1310
+ await this.triggerEvent(Switch.id, 'longPress', { newPosition: 1 }, log);
1311
+ await this.setAttribute(Switch.id, 'currentPosition', 0, log);
1312
+ await this.triggerEvent(Switch.id, 'longRelease', { previousPosition: 1 }, log);
1313
1313
  }
1314
1314
  }
1315
1315
  if (['Press', 'Release'].includes(event)) {
1316
- if (!this.hasClusterServer(Switch.Cluster.id) || this.getAttribute(Switch.Cluster.id, 'featureMap').latchingSwitch === false) {
1316
+ if (!this.hasClusterServer(Switch.id) || this.getAttribute(Switch.id, 'featureMap').latchingSwitch === false) {
1317
1317
  this.log.error(`triggerSwitchEvent ${event} error: Switch cluster with LatchingSwitch not found on endpoint ${this.maybeId}:${this.maybeNumber}`);
1318
1318
  return false;
1319
1319
  }
1320
1320
  if (event === 'Press') {
1321
1321
  log?.info(`${db}Trigger endpoint ${or}${this.id}:${this.number}${db} event ${hk}Switch.Press${db}`);
1322
- await this.setAttribute(Switch.Cluster.id, 'currentPosition', 1, log);
1323
- await this.triggerEvent(Switch.Cluster.id, 'switchLatched', { newPosition: 1 }, log);
1322
+ await this.setAttribute(Switch.id, 'currentPosition', 1, log);
1323
+ await this.triggerEvent(Switch.id, 'switchLatched', { newPosition: 1 }, log);
1324
1324
  }
1325
1325
  if (event === 'Release') {
1326
1326
  log?.info(`${db}Trigger endpoint ${or}${this.id}:${this.number}${db} event ${hk}Switch.Release${db}`);
1327
- await this.setAttribute(Switch.Cluster.id, 'currentPosition', 0, log);
1328
- await this.triggerEvent(Switch.Cluster.id, 'switchLatched', { newPosition: 0 }, log);
1327
+ await this.setAttribute(Switch.id, 'currentPosition', 0, log);
1328
+ await this.triggerEvent(Switch.id, 'switchLatched', { newPosition: 0 }, log);
1329
1329
  }
1330
1330
  }
1331
1331
  return true;
@@ -140,14 +140,14 @@ export type CommandHandlerDataMap = {
140
140
  command: 'identify';
141
141
  request: Identify.IdentifyRequest;
142
142
  cluster: 'identify';
143
- attributes: ClusterAttributeValues<(typeof Identify.Complete)['attributes']>;
143
+ attributes: ClusterAttributeValues<(typeof Identify)['attributes']>;
144
144
  endpoint: MatterbridgeEndpoint;
145
145
  };
146
146
  'Identify.triggerEffect': {
147
147
  command: 'triggerEffect';
148
148
  request: Identify.TriggerEffectRequest;
149
149
  cluster: 'identify';
150
- attributes: ClusterAttributeValues<(typeof Identify.Complete)['attributes']>;
150
+ attributes: ClusterAttributeValues<(typeof Identify)['attributes']>;
151
151
  endpoint: MatterbridgeEndpoint;
152
152
  };
153
153
  'on': CommandHandlerData<'OnOff.on'>;
@@ -158,28 +158,28 @@ export type CommandHandlerDataMap = {
158
158
  command: 'on';
159
159
  request: {};
160
160
  cluster: 'onOff';
161
- attributes: ClusterAttributeValues<(typeof OnOff.Complete)['attributes']>;
161
+ attributes: ClusterAttributeValues<(typeof OnOff)['attributes']>;
162
162
  endpoint: MatterbridgeEndpoint;
163
163
  };
164
164
  'OnOff.off': {
165
165
  command: 'off';
166
166
  request: {};
167
167
  cluster: 'onOff';
168
- attributes: ClusterAttributeValues<(typeof OnOff.Complete)['attributes']>;
168
+ attributes: ClusterAttributeValues<(typeof OnOff)['attributes']>;
169
169
  endpoint: MatterbridgeEndpoint;
170
170
  };
171
171
  'OnOff.toggle': {
172
172
  command: 'toggle';
173
173
  request: {};
174
174
  cluster: 'onOff';
175
- attributes: ClusterAttributeValues<(typeof OnOff.Complete)['attributes']>;
175
+ attributes: ClusterAttributeValues<(typeof OnOff)['attributes']>;
176
176
  endpoint: MatterbridgeEndpoint;
177
177
  };
178
178
  'OnOff.offWithEffect': {
179
179
  command: 'offWithEffect';
180
180
  request: OnOff.OffWithEffectRequest;
181
181
  cluster: 'onOff';
182
- attributes: ClusterAttributeValues<(typeof OnOff.Complete)['attributes']>;
182
+ attributes: ClusterAttributeValues<(typeof OnOff)['attributes']>;
183
183
  endpoint: MatterbridgeEndpoint;
184
184
  };
185
185
  'moveToLevel': CommandHandlerData<'LevelControl.moveToLevel'>;
@@ -188,14 +188,14 @@ export type CommandHandlerDataMap = {
188
188
  command: 'moveToLevel';
189
189
  request: LevelControl.MoveToLevelRequest;
190
190
  cluster: 'levelControl';
191
- attributes: ClusterAttributeValues<(typeof LevelControl.Complete)['attributes']>;
191
+ attributes: ClusterAttributeValues<(typeof LevelControl)['attributes']>;
192
192
  endpoint: MatterbridgeEndpoint;
193
193
  };
194
194
  'LevelControl.moveToLevelWithOnOff': {
195
195
  command: 'moveToLevelWithOnOff';
196
196
  request: LevelControl.MoveToLevelRequest;
197
197
  cluster: 'levelControl';
198
- attributes: ClusterAttributeValues<(typeof LevelControl.Complete)['attributes']>;
198
+ attributes: ClusterAttributeValues<(typeof LevelControl)['attributes']>;
199
199
  endpoint: MatterbridgeEndpoint;
200
200
  };
201
201
  'moveToColor': CommandHandlerData<'ColorControl.moveToColor'>;
@@ -217,105 +217,105 @@ export type CommandHandlerDataMap = {
217
217
  command: 'moveToColor';
218
218
  request: ColorControl.MoveToColorRequest;
219
219
  cluster: 'colorControl';
220
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
220
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
221
221
  endpoint: MatterbridgeEndpoint;
222
222
  };
223
223
  'ColorControl.moveColor': {
224
224
  command: 'moveColor';
225
225
  request: ColorControl.MoveColorRequest;
226
226
  cluster: 'colorControl';
227
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
227
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
228
228
  endpoint: MatterbridgeEndpoint;
229
229
  };
230
230
  'ColorControl.stepColor': {
231
231
  command: 'stepColor';
232
232
  request: ColorControl.StepColorRequest;
233
233
  cluster: 'colorControl';
234
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
234
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
235
235
  endpoint: MatterbridgeEndpoint;
236
236
  };
237
237
  'ColorControl.moveToHue': {
238
238
  command: 'moveToHue';
239
239
  request: ColorControl.MoveToHueRequest;
240
240
  cluster: 'colorControl';
241
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
241
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
242
242
  endpoint: MatterbridgeEndpoint;
243
243
  };
244
244
  'ColorControl.moveHue': {
245
245
  command: 'moveHue';
246
246
  request: ColorControl.MoveHueRequest;
247
247
  cluster: 'colorControl';
248
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
248
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
249
249
  endpoint: MatterbridgeEndpoint;
250
250
  };
251
251
  'ColorControl.stepHue': {
252
252
  command: 'stepHue';
253
253
  request: ColorControl.StepHueRequest;
254
254
  cluster: 'colorControl';
255
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
255
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
256
256
  endpoint: MatterbridgeEndpoint;
257
257
  };
258
258
  'ColorControl.enhancedMoveToHue': {
259
259
  command: 'enhancedMoveToHue';
260
260
  request: ColorControl.EnhancedMoveToHueRequest;
261
261
  cluster: 'colorControl';
262
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
262
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
263
263
  endpoint: MatterbridgeEndpoint;
264
264
  };
265
265
  'ColorControl.enhancedMoveHue': {
266
266
  command: 'enhancedMoveHue';
267
267
  request: ColorControl.EnhancedMoveHueRequest;
268
268
  cluster: 'colorControl';
269
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
269
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
270
270
  endpoint: MatterbridgeEndpoint;
271
271
  };
272
272
  'ColorControl.enhancedStepHue': {
273
273
  command: 'enhancedStepHue';
274
274
  request: ColorControl.EnhancedStepHueRequest;
275
275
  cluster: 'colorControl';
276
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
276
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
277
277
  endpoint: MatterbridgeEndpoint;
278
278
  };
279
279
  'ColorControl.moveToSaturation': {
280
280
  command: 'moveToSaturation';
281
281
  request: ColorControl.MoveToSaturationRequest;
282
282
  cluster: 'colorControl';
283
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
283
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
284
284
  endpoint: MatterbridgeEndpoint;
285
285
  };
286
286
  'ColorControl.moveSaturation': {
287
287
  command: 'moveSaturation';
288
288
  request: ColorControl.MoveSaturationRequest;
289
289
  cluster: 'colorControl';
290
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
290
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
291
291
  endpoint: MatterbridgeEndpoint;
292
292
  };
293
293
  'ColorControl.stepSaturation': {
294
294
  command: 'stepSaturation';
295
295
  request: ColorControl.StepSaturationRequest;
296
296
  cluster: 'colorControl';
297
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
297
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
298
298
  endpoint: MatterbridgeEndpoint;
299
299
  };
300
300
  'ColorControl.moveToHueAndSaturation': {
301
301
  command: 'moveToHueAndSaturation';
302
302
  request: ColorControl.MoveToHueAndSaturationRequest;
303
303
  cluster: 'colorControl';
304
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
304
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
305
305
  endpoint: MatterbridgeEndpoint;
306
306
  };
307
307
  'ColorControl.enhancedMoveToHueAndSaturation': {
308
308
  command: 'enhancedMoveToHueAndSaturation';
309
309
  request: ColorControl.EnhancedMoveToHueAndSaturationRequest;
310
310
  cluster: 'colorControl';
311
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
311
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
312
312
  endpoint: MatterbridgeEndpoint;
313
313
  };
314
314
  'ColorControl.moveToColorTemperature': {
315
315
  command: 'moveToColorTemperature';
316
316
  request: ColorControl.MoveToColorTemperatureRequest;
317
317
  cluster: 'colorControl';
318
- attributes: ClusterAttributeValues<(typeof ColorControl.Complete)['attributes']>;
318
+ attributes: ClusterAttributeValues<(typeof ColorControl)['attributes']>;
319
319
  endpoint: MatterbridgeEndpoint;
320
320
  };
321
321
  'upOrOpen': CommandHandlerData<'WindowCovering.upOrOpen'>;
@@ -327,35 +327,35 @@ export type CommandHandlerDataMap = {
327
327
  command: 'upOrOpen';
328
328
  request: {};
329
329
  cluster: 'windowCovering';
330
- attributes: ClusterAttributeValues<(typeof WindowCovering.Complete)['attributes']>;
330
+ attributes: ClusterAttributeValues<(typeof WindowCovering)['attributes']>;
331
331
  endpoint: MatterbridgeEndpoint;
332
332
  };
333
333
  'WindowCovering.downOrClose': {
334
334
  command: 'downOrClose';
335
335
  request: {};
336
336
  cluster: 'windowCovering';
337
- attributes: ClusterAttributeValues<(typeof WindowCovering.Complete)['attributes']>;
337
+ attributes: ClusterAttributeValues<(typeof WindowCovering)['attributes']>;
338
338
  endpoint: MatterbridgeEndpoint;
339
339
  };
340
340
  'WindowCovering.stopMotion': {
341
341
  command: 'stopMotion';
342
342
  request: {};
343
343
  cluster: 'windowCovering';
344
- attributes: ClusterAttributeValues<(typeof WindowCovering.Complete)['attributes']>;
344
+ attributes: ClusterAttributeValues<(typeof WindowCovering)['attributes']>;
345
345
  endpoint: MatterbridgeEndpoint;
346
346
  };
347
347
  'WindowCovering.goToLiftPercentage': {
348
348
  command: 'goToLiftPercentage';
349
349
  request: WindowCovering.GoToLiftPercentageRequest;
350
350
  cluster: 'windowCovering';
351
- attributes: ClusterAttributeValues<(typeof WindowCovering.Complete)['attributes']>;
351
+ attributes: ClusterAttributeValues<(typeof WindowCovering)['attributes']>;
352
352
  endpoint: MatterbridgeEndpoint;
353
353
  };
354
354
  'WindowCovering.goToTiltPercentage': {
355
355
  command: 'goToTiltPercentage';
356
356
  request: WindowCovering.GoToTiltPercentageRequest;
357
357
  cluster: 'windowCovering';
358
- attributes: ClusterAttributeValues<(typeof WindowCovering.Complete)['attributes']>;
358
+ attributes: ClusterAttributeValues<(typeof WindowCovering)['attributes']>;
359
359
  endpoint: MatterbridgeEndpoint;
360
360
  };
361
361
  'moveTo': CommandHandlerData<'ClosureControl.moveTo'>;
@@ -363,14 +363,14 @@ export type CommandHandlerDataMap = {
363
363
  command: 'moveTo';
364
364
  request: ClosureControl.MoveToRequest;
365
365
  cluster: 'closureControl';
366
- attributes: ClusterAttributeValues<(typeof ClosureControl.Complete)['attributes']>;
366
+ attributes: ClusterAttributeValues<(typeof ClosureControl)['attributes']>;
367
367
  endpoint: MatterbridgeEndpoint;
368
368
  };
369
369
  'ClosureControl.stop': {
370
370
  command: 'stop';
371
371
  request: {};
372
372
  cluster: 'closureControl';
373
- attributes: ClusterAttributeValues<(typeof ClosureControl.Complete)['attributes']>;
373
+ attributes: ClusterAttributeValues<(typeof ClosureControl)['attributes']>;
374
374
  endpoint: MatterbridgeEndpoint;
375
375
  };
376
376
  'setTarget': CommandHandlerData<'ClosureDimension.setTarget'>;
@@ -378,14 +378,14 @@ export type CommandHandlerDataMap = {
378
378
  command: 'setTarget';
379
379
  request: ClosureDimension.SetTargetRequest;
380
380
  cluster: 'closureDimension';
381
- attributes: ClusterAttributeValues<(typeof ClosureDimension.Complete)['attributes']>;
381
+ attributes: ClusterAttributeValues<(typeof ClosureDimension)['attributes']>;
382
382
  endpoint: MatterbridgeEndpoint;
383
383
  };
384
384
  'ClosureDimension.step': {
385
385
  command: 'step';
386
386
  request: ClosureDimension.StepRequest;
387
387
  cluster: 'closureDimension';
388
- attributes: ClusterAttributeValues<(typeof ClosureDimension.Complete)['attributes']>;
388
+ attributes: ClusterAttributeValues<(typeof ClosureDimension)['attributes']>;
389
389
  endpoint: MatterbridgeEndpoint;
390
390
  };
391
391
  'lockDoor': CommandHandlerData<'DoorLock.lockDoor'>;
@@ -394,63 +394,63 @@ export type CommandHandlerDataMap = {
394
394
  command: 'lockDoor';
395
395
  request: DoorLock.LockDoorRequest;
396
396
  cluster: 'doorLock';
397
- attributes: ClusterAttributeValues<(typeof DoorLock.Complete)['attributes']>;
397
+ attributes: ClusterAttributeValues<(typeof DoorLock)['attributes']>;
398
398
  endpoint: MatterbridgeEndpoint;
399
399
  };
400
400
  'DoorLock.unlockDoor': {
401
401
  command: 'unlockDoor';
402
402
  request: DoorLock.UnlockDoorRequest;
403
403
  cluster: 'doorLock';
404
- attributes: ClusterAttributeValues<(typeof DoorLock.Complete)['attributes']>;
404
+ attributes: ClusterAttributeValues<(typeof DoorLock)['attributes']>;
405
405
  endpoint: MatterbridgeEndpoint;
406
406
  };
407
407
  'DoorLock.unlockWithTimeout': {
408
408
  command: 'unlockWithTimeout';
409
409
  request: DoorLock.UnlockWithTimeoutRequest;
410
410
  cluster: 'doorLock';
411
- attributes: ClusterAttributeValues<(typeof DoorLock.Complete)['attributes']>;
411
+ attributes: ClusterAttributeValues<(typeof DoorLock)['attributes']>;
412
412
  endpoint: MatterbridgeEndpoint;
413
413
  };
414
414
  'DoorLock.setUser': {
415
415
  command: 'setUser';
416
416
  request: DoorLock.SetUserRequest;
417
417
  cluster: 'doorLock';
418
- attributes: ClusterAttributeValues<(typeof DoorLock.Complete)['attributes']>;
418
+ attributes: ClusterAttributeValues<(typeof DoorLock)['attributes']>;
419
419
  endpoint: MatterbridgeEndpoint;
420
420
  };
421
421
  'DoorLock.getUser': {
422
422
  command: 'getUser';
423
423
  request: DoorLock.GetUserRequest;
424
424
  cluster: 'doorLock';
425
- attributes: ClusterAttributeValues<(typeof DoorLock.Complete)['attributes']>;
425
+ attributes: ClusterAttributeValues<(typeof DoorLock)['attributes']>;
426
426
  endpoint: MatterbridgeEndpoint;
427
427
  };
428
428
  'DoorLock.clearUser': {
429
429
  command: 'clearUser';
430
430
  request: DoorLock.ClearUserRequest;
431
431
  cluster: 'doorLock';
432
- attributes: ClusterAttributeValues<(typeof DoorLock.Complete)['attributes']>;
432
+ attributes: ClusterAttributeValues<(typeof DoorLock)['attributes']>;
433
433
  endpoint: MatterbridgeEndpoint;
434
434
  };
435
435
  'DoorLock.setCredential': {
436
436
  command: 'setCredential';
437
437
  request: DoorLock.SetCredentialRequest;
438
438
  cluster: 'doorLock';
439
- attributes: ClusterAttributeValues<(typeof DoorLock.Complete)['attributes']>;
439
+ attributes: ClusterAttributeValues<(typeof DoorLock)['attributes']>;
440
440
  endpoint: MatterbridgeEndpoint;
441
441
  };
442
442
  'DoorLock.getCredentialStatus': {
443
443
  command: 'getCredentialStatus';
444
444
  request: DoorLock.GetCredentialStatusRequest;
445
445
  cluster: 'doorLock';
446
- attributes: ClusterAttributeValues<(typeof DoorLock.Complete)['attributes']>;
446
+ attributes: ClusterAttributeValues<(typeof DoorLock)['attributes']>;
447
447
  endpoint: MatterbridgeEndpoint;
448
448
  };
449
449
  'DoorLock.clearCredential': {
450
450
  command: 'clearCredential';
451
451
  request: DoorLock.ClearCredentialRequest;
452
452
  cluster: 'doorLock';
453
- attributes: ClusterAttributeValues<(typeof DoorLock.Complete)['attributes']>;
453
+ attributes: ClusterAttributeValues<(typeof DoorLock)['attributes']>;
454
454
  endpoint: MatterbridgeEndpoint;
455
455
  };
456
456
  'setpointRaiseLower': CommandHandlerData<'Thermostat.setpointRaiseLower'>;
@@ -459,14 +459,14 @@ export type CommandHandlerDataMap = {
459
459
  command: 'setpointRaiseLower';
460
460
  request: Thermostat.SetpointRaiseLowerRequest;
461
461
  cluster: 'thermostat';
462
- attributes: ClusterAttributeValues<(typeof Thermostat.Complete)['attributes']>;
462
+ attributes: ClusterAttributeValues<(typeof Thermostat)['attributes']>;
463
463
  endpoint: MatterbridgeEndpoint;
464
464
  };
465
465
  'Thermostat.setActivePresetRequest': {
466
466
  command: 'setActivePresetRequest';
467
467
  request: Thermostat.SetActivePresetRequest;
468
468
  cluster: 'thermostat';
469
- attributes: ClusterAttributeValues<(typeof Thermostat.Complete)['attributes']>;
469
+ attributes: ClusterAttributeValues<(typeof Thermostat)['attributes']>;
470
470
  endpoint: MatterbridgeEndpoint;
471
471
  };
472
472
  'step': CommandHandlerData<'FanControl.step'>;
@@ -474,7 +474,7 @@ export type CommandHandlerDataMap = {
474
474
  command: 'step';
475
475
  request: FanControl.StepRequest;
476
476
  cluster: 'fanControl';
477
- attributes: ClusterAttributeValues<(typeof FanControl.Complete)['attributes']>;
477
+ attributes: ClusterAttributeValues<(typeof FanControl)['attributes']>;
478
478
  endpoint: MatterbridgeEndpoint;
479
479
  };
480
480
  'changeToMode': CommandHandlerData<'ModeSelect.changeToMode'>;
@@ -482,56 +482,56 @@ export type CommandHandlerDataMap = {
482
482
  command: 'changeToMode';
483
483
  request: ModeSelect.ChangeToModeRequest;
484
484
  cluster: 'modeSelect';
485
- attributes: ClusterAttributeValues<(typeof ModeSelect.Complete)['attributes']>;
485
+ attributes: ClusterAttributeValues<(typeof ModeSelect)['attributes']>;
486
486
  endpoint: MatterbridgeEndpoint;
487
487
  };
488
488
  'DishwasherMode.changeToMode': {
489
489
  command: 'changeToMode';
490
490
  request: ModeBase.ChangeToModeRequest;
491
491
  cluster: 'dishwasherMode';
492
- attributes: ClusterAttributeValues<(typeof DishwasherMode.Complete)['attributes']>;
492
+ attributes: ClusterAttributeValues<(typeof DishwasherMode)['attributes']>;
493
493
  endpoint: MatterbridgeEndpoint;
494
494
  };
495
495
  'LaundryWasherMode.changeToMode': {
496
496
  command: 'changeToMode';
497
497
  request: ModeBase.ChangeToModeRequest;
498
498
  cluster: 'laundryWasherMode';
499
- attributes: ClusterAttributeValues<(typeof LaundryWasherMode.Complete)['attributes']>;
499
+ attributes: ClusterAttributeValues<(typeof LaundryWasherMode)['attributes']>;
500
500
  endpoint: MatterbridgeEndpoint;
501
501
  };
502
502
  'EnergyEvseMode.changeToMode': {
503
503
  command: 'changeToMode';
504
504
  request: ModeBase.ChangeToModeRequest;
505
505
  cluster: 'energyEvseMode';
506
- attributes: ClusterAttributeValues<(typeof EnergyEvseMode.Complete)['attributes']>;
506
+ attributes: ClusterAttributeValues<(typeof EnergyEvseMode)['attributes']>;
507
507
  endpoint: MatterbridgeEndpoint;
508
508
  };
509
509
  'RvcRunMode.changeToMode': {
510
510
  command: 'changeToMode';
511
511
  request: ModeBase.ChangeToModeRequest;
512
512
  cluster: 'rvcRunMode';
513
- attributes: ClusterAttributeValues<(typeof RvcRunMode.Complete)['attributes']>;
513
+ attributes: ClusterAttributeValues<(typeof RvcRunMode)['attributes']>;
514
514
  endpoint: MatterbridgeEndpoint;
515
515
  };
516
516
  'RvcCleanMode.changeToMode': {
517
517
  command: 'changeToMode';
518
518
  request: ModeBase.ChangeToModeRequest;
519
519
  cluster: 'rvcCleanMode';
520
- attributes: ClusterAttributeValues<(typeof RvcCleanMode.Complete)['attributes']>;
520
+ attributes: ClusterAttributeValues<(typeof RvcCleanMode)['attributes']>;
521
521
  endpoint: MatterbridgeEndpoint;
522
522
  };
523
523
  'WaterHeaterMode.changeToMode': {
524
524
  command: 'changeToMode';
525
525
  request: ModeBase.ChangeToModeRequest;
526
526
  cluster: 'waterHeaterMode';
527
- attributes: ClusterAttributeValues<(typeof WaterHeaterMode.Complete)['attributes']>;
527
+ attributes: ClusterAttributeValues<(typeof WaterHeaterMode)['attributes']>;
528
528
  endpoint: MatterbridgeEndpoint;
529
529
  };
530
530
  'DeviceEnergyManagementMode.changeToMode': {
531
531
  command: 'changeToMode';
532
532
  request: ModeBase.ChangeToModeRequest;
533
533
  cluster: 'deviceEnergyManagementMode';
534
- attributes: ClusterAttributeValues<(typeof DeviceEnergyManagementMode.Complete)['attributes']>;
534
+ attributes: ClusterAttributeValues<(typeof DeviceEnergyManagementMode)['attributes']>;
535
535
  endpoint: MatterbridgeEndpoint;
536
536
  };
537
537
  'open': CommandHandlerData<'ValveConfigurationAndControl.open'>;
@@ -540,14 +540,14 @@ export type CommandHandlerDataMap = {
540
540
  command: 'open';
541
541
  request: ValveConfigurationAndControl.OpenRequest;
542
542
  cluster: 'valveConfigurationAndControl';
543
- attributes: ClusterAttributeValues<(typeof ValveConfigurationAndControl.Complete)['attributes']>;
543
+ attributes: ClusterAttributeValues<(typeof ValveConfigurationAndControl)['attributes']>;
544
544
  endpoint: MatterbridgeEndpoint;
545
545
  };
546
546
  'ValveConfigurationAndControl.close': {
547
547
  command: 'close';
548
548
  request: {};
549
549
  cluster: 'valveConfigurationAndControl';
550
- attributes: ClusterAttributeValues<(typeof ValveConfigurationAndControl.Complete)['attributes']>;
550
+ attributes: ClusterAttributeValues<(typeof ValveConfigurationAndControl)['attributes']>;
551
551
  endpoint: MatterbridgeEndpoint;
552
552
  };
553
553
  'suppressAlarm': CommandHandlerData<'BooleanStateConfiguration.suppressAlarm'>;
@@ -556,14 +556,14 @@ export type CommandHandlerDataMap = {
556
556
  command: 'suppressAlarm';
557
557
  request: BooleanStateConfiguration.SuppressAlarmRequest;
558
558
  cluster: 'booleanStateConfiguration';
559
- attributes: ClusterAttributeValues<(typeof BooleanStateConfiguration.Complete)['attributes']>;
559
+ attributes: ClusterAttributeValues<(typeof BooleanStateConfiguration)['attributes']>;
560
560
  endpoint: MatterbridgeEndpoint;
561
561
  };
562
562
  'BooleanStateConfiguration.enableDisableAlarm': {
563
563
  command: 'enableDisableAlarm';
564
564
  request: BooleanStateConfiguration.EnableDisableAlarmRequest;
565
565
  cluster: 'booleanStateConfiguration';
566
- attributes: ClusterAttributeValues<(typeof BooleanStateConfiguration.Complete)['attributes']>;
566
+ attributes: ClusterAttributeValues<(typeof BooleanStateConfiguration)['attributes']>;
567
567
  endpoint: MatterbridgeEndpoint;
568
568
  };
569
569
  'selfTestRequest': CommandHandlerData<'SmokeCoAlarm.selfTestRequest'>;
@@ -571,7 +571,7 @@ export type CommandHandlerDataMap = {
571
571
  command: 'selfTestRequest';
572
572
  request: {};
573
573
  cluster: 'smokeCoAlarm';
574
- attributes: ClusterAttributeValues<(typeof SmokeCoAlarm.Complete)['attributes']>;
574
+ attributes: ClusterAttributeValues<(typeof SmokeCoAlarm)['attributes']>;
575
575
  endpoint: MatterbridgeEndpoint;
576
576
  };
577
577
  'resetCounts': CommandHandlerData<'ThreadNetworkDiagnostics.resetCounts'>;
@@ -579,7 +579,7 @@ export type CommandHandlerDataMap = {
579
579
  command: 'resetCounts';
580
580
  request: {};
581
581
  cluster: 'threadNetworkDiagnostics';
582
- attributes: ClusterAttributeValues<(typeof ThreadNetworkDiagnostics.Complete)['attributes']>;
582
+ attributes: ClusterAttributeValues<(typeof ThreadNetworkDiagnostics)['attributes']>;
583
583
  endpoint: MatterbridgeEndpoint;
584
584
  };
585
585
  'setUtcTime': CommandHandlerData<'TimeSynchronization.setUtcTime'>;
@@ -589,21 +589,21 @@ export type CommandHandlerDataMap = {
589
589
  command: 'setUtcTime';
590
590
  request: TimeSynchronization.SetUtcTimeRequest;
591
591
  cluster: 'timeSynchronization';
592
- attributes: ClusterAttributeValues<(typeof TimeSynchronization.Complete)['attributes']>;
592
+ attributes: ClusterAttributeValues<(typeof TimeSynchronization)['attributes']>;
593
593
  endpoint: MatterbridgeEndpoint;
594
594
  };
595
595
  'TimeSynchronization.setTimeZone': {
596
596
  command: 'setTimeZone';
597
597
  request: TimeSynchronization.SetTimeZoneRequest;
598
598
  cluster: 'timeSynchronization';
599
- attributes: ClusterAttributeValues<(typeof TimeSynchronization.Complete)['attributes']>;
599
+ attributes: ClusterAttributeValues<(typeof TimeSynchronization)['attributes']>;
600
600
  endpoint: MatterbridgeEndpoint;
601
601
  };
602
602
  'TimeSynchronization.setDstOffset': {
603
603
  command: 'setDstOffset';
604
604
  request: TimeSynchronization.SetDstOffsetRequest;
605
605
  cluster: 'timeSynchronization';
606
- attributes: ClusterAttributeValues<(typeof TimeSynchronization.Complete)['attributes']>;
606
+ attributes: ClusterAttributeValues<(typeof TimeSynchronization)['attributes']>;
607
607
  endpoint: MatterbridgeEndpoint;
608
608
  };
609
609
  'pauseRequest': CommandHandlerData<'DeviceEnergyManagement.pauseRequest'>;
@@ -614,28 +614,28 @@ export type CommandHandlerDataMap = {
614
614
  command: 'pauseRequest';
615
615
  request: DeviceEnergyManagement.PauseRequest;
616
616
  cluster: 'deviceEnergyManagement';
617
- attributes: ClusterAttributeValues<(typeof DeviceEnergyManagement.Complete)['attributes']>;
617
+ attributes: ClusterAttributeValues<(typeof DeviceEnergyManagement)['attributes']>;
618
618
  endpoint: MatterbridgeEndpoint;
619
619
  };
620
620
  'DeviceEnergyManagement.resumeRequest': {
621
621
  command: 'resumeRequest';
622
622
  request: {};
623
623
  cluster: 'deviceEnergyManagement';
624
- attributes: ClusterAttributeValues<(typeof DeviceEnergyManagement.Complete)['attributes']>;
624
+ attributes: ClusterAttributeValues<(typeof DeviceEnergyManagement)['attributes']>;
625
625
  endpoint: MatterbridgeEndpoint;
626
626
  };
627
627
  'DeviceEnergyManagement.powerAdjustRequest': {
628
628
  command: 'powerAdjustRequest';
629
629
  request: DeviceEnergyManagement.PowerAdjustRequest;
630
630
  cluster: 'deviceEnergyManagement';
631
- attributes: ClusterAttributeValues<(typeof DeviceEnergyManagement.Complete)['attributes']>;
631
+ attributes: ClusterAttributeValues<(typeof DeviceEnergyManagement)['attributes']>;
632
632
  endpoint: MatterbridgeEndpoint;
633
633
  };
634
634
  'DeviceEnergyManagement.cancelPowerAdjustRequest': {
635
635
  command: 'cancelPowerAdjustRequest';
636
636
  request: {};
637
637
  cluster: 'deviceEnergyManagement';
638
- attributes: ClusterAttributeValues<(typeof DeviceEnergyManagement.Complete)['attributes']>;
638
+ attributes: ClusterAttributeValues<(typeof DeviceEnergyManagement)['attributes']>;
639
639
  endpoint: MatterbridgeEndpoint;
640
640
  };
641
641
  'pause': CommandHandlerData<'OperationalState.pause'>;
@@ -646,28 +646,28 @@ export type CommandHandlerDataMap = {
646
646
  command: 'pause';
647
647
  request: {};
648
648
  cluster: 'operationalState';
649
- attributes: ClusterAttributeValues<(typeof OperationalState.Complete)['attributes']>;
649
+ attributes: ClusterAttributeValues<(typeof OperationalState)['attributes']>;
650
650
  endpoint: MatterbridgeEndpoint;
651
651
  };
652
652
  'OperationalState.stop': {
653
653
  command: 'stop';
654
654
  request: {};
655
655
  cluster: 'operationalState';
656
- attributes: ClusterAttributeValues<(typeof OperationalState.Complete)['attributes']>;
656
+ attributes: ClusterAttributeValues<(typeof OperationalState)['attributes']>;
657
657
  endpoint: MatterbridgeEndpoint;
658
658
  };
659
659
  'OperationalState.start': {
660
660
  command: 'start';
661
661
  request: {};
662
662
  cluster: 'operationalState';
663
- attributes: ClusterAttributeValues<(typeof OperationalState.Complete)['attributes']>;
663
+ attributes: ClusterAttributeValues<(typeof OperationalState)['attributes']>;
664
664
  endpoint: MatterbridgeEndpoint;
665
665
  };
666
666
  'OperationalState.resume': {
667
667
  command: 'resume';
668
668
  request: {};
669
669
  cluster: 'operationalState';
670
- attributes: ClusterAttributeValues<(typeof OperationalState.Complete)['attributes']>;
670
+ attributes: ClusterAttributeValues<(typeof OperationalState)['attributes']>;
671
671
  endpoint: MatterbridgeEndpoint;
672
672
  };
673
673
  'goHome': CommandHandlerData<'RvcOperationalState.goHome'>;
@@ -675,21 +675,21 @@ export type CommandHandlerDataMap = {
675
675
  command: 'pause';
676
676
  request: {};
677
677
  cluster: 'rvcOperationalState';
678
- attributes: ClusterAttributeValues<(typeof RvcOperationalState.Complete)['attributes']>;
678
+ attributes: ClusterAttributeValues<(typeof RvcOperationalState)['attributes']>;
679
679
  endpoint: MatterbridgeEndpoint;
680
680
  };
681
681
  'RvcOperationalState.resume': {
682
682
  command: 'resume';
683
683
  request: {};
684
684
  cluster: 'rvcOperationalState';
685
- attributes: ClusterAttributeValues<(typeof RvcOperationalState.Complete)['attributes']>;
685
+ attributes: ClusterAttributeValues<(typeof RvcOperationalState)['attributes']>;
686
686
  endpoint: MatterbridgeEndpoint;
687
687
  };
688
688
  'RvcOperationalState.goHome': {
689
689
  command: 'goHome';
690
690
  request: {};
691
691
  cluster: 'rvcOperationalState';
692
- attributes: ClusterAttributeValues<(typeof RvcOperationalState.Complete)['attributes']>;
692
+ attributes: ClusterAttributeValues<(typeof RvcOperationalState)['attributes']>;
693
693
  endpoint: MatterbridgeEndpoint;
694
694
  };
695
695
  'selectAreas': CommandHandlerData<'ServiceArea.selectAreas'>;
@@ -697,7 +697,7 @@ export type CommandHandlerDataMap = {
697
697
  command: 'selectAreas';
698
698
  request: ServiceArea.SelectAreasRequest;
699
699
  cluster: 'serviceArea';
700
- attributes: ClusterAttributeValues<(typeof ServiceArea.Complete)['attributes']>;
700
+ attributes: ClusterAttributeValues<(typeof ServiceArea)['attributes']>;
701
701
  endpoint: MatterbridgeEndpoint;
702
702
  };
703
703
  'boost': CommandHandlerData<'WaterHeaterManagement.boost'>;
@@ -706,14 +706,14 @@ export type CommandHandlerDataMap = {
706
706
  command: 'boost';
707
707
  request: WaterHeaterManagement.BoostRequest;
708
708
  cluster: 'waterHeaterManagement';
709
- attributes: ClusterAttributeValues<(typeof WaterHeaterManagement.Complete)['attributes']>;
709
+ attributes: ClusterAttributeValues<(typeof WaterHeaterManagement)['attributes']>;
710
710
  endpoint: MatterbridgeEndpoint;
711
711
  };
712
712
  'WaterHeaterManagement.cancelBoost': {
713
713
  command: 'cancelBoost';
714
714
  request: {};
715
715
  cluster: 'waterHeaterManagement';
716
- attributes: ClusterAttributeValues<(typeof WaterHeaterManagement.Complete)['attributes']>;
716
+ attributes: ClusterAttributeValues<(typeof WaterHeaterManagement)['attributes']>;
717
717
  endpoint: MatterbridgeEndpoint;
718
718
  };
719
719
  'enableCharging': CommandHandlerData<'EnergyEvse.enableCharging'>;
@@ -725,35 +725,35 @@ export type CommandHandlerDataMap = {
725
725
  command: 'enableCharging';
726
726
  request: EnergyEvse.EnableChargingRequest;
727
727
  cluster: 'energyEvse';
728
- attributes: ClusterAttributeValues<(typeof EnergyEvse.Complete)['attributes']>;
728
+ attributes: ClusterAttributeValues<(typeof EnergyEvse)['attributes']>;
729
729
  endpoint: MatterbridgeEndpoint;
730
730
  };
731
731
  'EnergyEvse.disable': {
732
732
  command: 'disable';
733
733
  request: {};
734
734
  cluster: 'energyEvse';
735
- attributes: ClusterAttributeValues<(typeof EnergyEvse.Complete)['attributes']>;
735
+ attributes: ClusterAttributeValues<(typeof EnergyEvse)['attributes']>;
736
736
  endpoint: MatterbridgeEndpoint;
737
737
  };
738
738
  'EnergyEvse.setTargets': {
739
739
  command: 'setTargets';
740
740
  request: EnergyEvse.SetTargetsRequest;
741
741
  cluster: 'energyEvse';
742
- attributes: ClusterAttributeValues<(typeof EnergyEvse.Complete)['attributes']>;
742
+ attributes: ClusterAttributeValues<(typeof EnergyEvse)['attributes']>;
743
743
  endpoint: MatterbridgeEndpoint;
744
744
  };
745
745
  'EnergyEvse.getTargets': {
746
746
  command: 'getTargets';
747
747
  request: {};
748
748
  cluster: 'energyEvse';
749
- attributes: ClusterAttributeValues<(typeof EnergyEvse.Complete)['attributes']>;
749
+ attributes: ClusterAttributeValues<(typeof EnergyEvse)['attributes']>;
750
750
  endpoint: MatterbridgeEndpoint;
751
751
  };
752
752
  'EnergyEvse.clearTargets': {
753
753
  command: 'clearTargets';
754
754
  request: {};
755
755
  cluster: 'energyEvse';
756
- attributes: ClusterAttributeValues<(typeof EnergyEvse.Complete)['attributes']>;
756
+ attributes: ClusterAttributeValues<(typeof EnergyEvse)['attributes']>;
757
757
  endpoint: MatterbridgeEndpoint;
758
758
  };
759
759
  'setTemperature': CommandHandlerData<'TemperatureControl.setTemperature'>;
@@ -761,7 +761,7 @@ export type CommandHandlerDataMap = {
761
761
  command: 'setTemperature';
762
762
  request: TemperatureControl.SetTemperatureRequest;
763
763
  cluster: 'temperatureControl';
764
- attributes: ClusterAttributeValues<(typeof TemperatureControl.Complete)['attributes']>;
764
+ attributes: ClusterAttributeValues<(typeof TemperatureControl)['attributes']>;
765
765
  endpoint: MatterbridgeEndpoint;
766
766
  };
767
767
  'setCookingParameters': CommandHandlerData<'MicrowaveOvenControl.setCookingParameters'>;
@@ -770,14 +770,14 @@ export type CommandHandlerDataMap = {
770
770
  command: 'setCookingParameters';
771
771
  request: MicrowaveOvenControl.SetCookingParametersRequest;
772
772
  cluster: 'microwaveOvenControl';
773
- attributes: ClusterAttributeValues<(typeof MicrowaveOvenControl.Complete)['attributes']>;
773
+ attributes: ClusterAttributeValues<(typeof MicrowaveOvenControl)['attributes']>;
774
774
  endpoint: MatterbridgeEndpoint;
775
775
  };
776
776
  'MicrowaveOvenControl.addMoreTime': {
777
777
  command: 'addMoreTime';
778
778
  request: MicrowaveOvenControl.AddMoreTimeRequest;
779
779
  cluster: 'microwaveOvenControl';
780
- attributes: ClusterAttributeValues<(typeof MicrowaveOvenControl.Complete)['attributes']>;
780
+ attributes: ClusterAttributeValues<(typeof MicrowaveOvenControl)['attributes']>;
781
781
  endpoint: MatterbridgeEndpoint;
782
782
  };
783
783
  'play': CommandHandlerData<'MediaPlayback.play'>;
@@ -789,49 +789,49 @@ export type CommandHandlerDataMap = {
789
789
  command: 'pause';
790
790
  request: {};
791
791
  cluster: 'mediaPlayback';
792
- attributes: ClusterAttributeValues<(typeof MediaPlayback.Complete)['attributes']>;
792
+ attributes: ClusterAttributeValues<(typeof MediaPlayback)['attributes']>;
793
793
  endpoint: MatterbridgeEndpoint;
794
794
  };
795
795
  'MediaPlayback.stop': {
796
796
  command: 'stop';
797
797
  request: {};
798
798
  cluster: 'mediaPlayback';
799
- attributes: ClusterAttributeValues<(typeof MediaPlayback.Complete)['attributes']>;
799
+ attributes: ClusterAttributeValues<(typeof MediaPlayback)['attributes']>;
800
800
  endpoint: MatterbridgeEndpoint;
801
801
  };
802
802
  'MediaPlayback.play': {
803
803
  command: 'play';
804
804
  request: {};
805
805
  cluster: 'mediaPlayback';
806
- attributes: ClusterAttributeValues<(typeof MediaPlayback.Complete)['attributes']>;
806
+ attributes: ClusterAttributeValues<(typeof MediaPlayback)['attributes']>;
807
807
  endpoint: MatterbridgeEndpoint;
808
808
  };
809
809
  'MediaPlayback.previous': {
810
810
  command: 'previous';
811
811
  request: {};
812
812
  cluster: 'mediaPlayback';
813
- attributes: ClusterAttributeValues<(typeof MediaPlayback.Complete)['attributes']>;
813
+ attributes: ClusterAttributeValues<(typeof MediaPlayback)['attributes']>;
814
814
  endpoint: MatterbridgeEndpoint;
815
815
  };
816
816
  'MediaPlayback.next': {
817
817
  command: 'next';
818
818
  request: {};
819
819
  cluster: 'mediaPlayback';
820
- attributes: ClusterAttributeValues<(typeof MediaPlayback.Complete)['attributes']>;
820
+ attributes: ClusterAttributeValues<(typeof MediaPlayback)['attributes']>;
821
821
  endpoint: MatterbridgeEndpoint;
822
822
  };
823
823
  'MediaPlayback.skipForward': {
824
824
  command: 'skipForward';
825
825
  request: MediaPlayback.SkipForwardRequest;
826
826
  cluster: 'mediaPlayback';
827
- attributes: ClusterAttributeValues<(typeof MediaPlayback.Complete)['attributes']>;
827
+ attributes: ClusterAttributeValues<(typeof MediaPlayback)['attributes']>;
828
828
  endpoint: MatterbridgeEndpoint;
829
829
  };
830
830
  'MediaPlayback.skipBackward': {
831
831
  command: 'skipBackward';
832
832
  request: MediaPlayback.SkipBackwardRequest;
833
833
  cluster: 'mediaPlayback';
834
- attributes: ClusterAttributeValues<(typeof MediaPlayback.Complete)['attributes']>;
834
+ attributes: ClusterAttributeValues<(typeof MediaPlayback)['attributes']>;
835
835
  endpoint: MatterbridgeEndpoint;
836
836
  };
837
837
  'sendKey': CommandHandlerData<'KeypadInput.sendKey'>;
@@ -847,21 +847,21 @@ export type CommandHandlerDataMap = {
847
847
  command: 'resetCondition';
848
848
  request: {};
849
849
  cluster: 'resourceMonitoring';
850
- attributes: ClusterAttributeValues<(typeof ResourceMonitoring.Complete)['attributes']>;
850
+ attributes: ClusterAttributeValues<(typeof ResourceMonitoring)['attributes']>;
851
851
  endpoint: MatterbridgeEndpoint;
852
852
  };
853
853
  'HepaFilterMonitoring.resetCondition': {
854
854
  command: 'resetCondition';
855
855
  request: {};
856
856
  cluster: 'hepaFilterMonitoring';
857
- attributes: ClusterAttributeValues<(typeof HepaFilterMonitoring.Complete)['attributes']>;
857
+ attributes: ClusterAttributeValues<(typeof HepaFilterMonitoring)['attributes']>;
858
858
  endpoint: MatterbridgeEndpoint;
859
859
  };
860
860
  'ActivatedCarbonFilterMonitoring.resetCondition': {
861
861
  command: 'resetCondition';
862
862
  request: {};
863
863
  cluster: 'activatedCarbonFilterMonitoring';
864
- attributes: ClusterAttributeValues<(typeof ActivatedCarbonFilterMonitoring.Complete)['attributes']>;
864
+ attributes: ClusterAttributeValues<(typeof ActivatedCarbonFilterMonitoring)['attributes']>;
865
865
  endpoint: MatterbridgeEndpoint;
866
866
  };
867
867
  };
@@ -2,7 +2,7 @@ import { ActionContext, Behavior, ClusterBehavior, Endpoint } from '@matter/node
2
2
  import { ElectricalEnergyMeasurementServer } from '@matter/node/behaviors/electrical-energy-measurement';
3
3
  import { ElectricalPowerMeasurementServer } from '@matter/node/behaviors/electrical-power-measurement';
4
4
  import { OccupancySensingServer } from '@matter/node/behaviors/occupancy-sensing';
5
- import { ClusterType } from '@matter/types/cluster';
5
+ import { type ClusterType } from '@matter/types/cluster';
6
6
  import { DeviceEnergyManagement } from '@matter/types/clusters/device-energy-management';
7
7
  import { DeviceEnergyManagementMode } from '@matter/types/clusters/device-energy-management-mode';
8
8
  import { ElectricalEnergyMeasurement } from '@matter/types/clusters/electrical-energy-measurement';
@@ -237,7 +237,7 @@ export class MatterbridgePlatform {
237
237
  if (!device.deviceTypes.has(bridgedNode.code)) {
238
238
  this.log.debug(`Device with name ${CYAN}${device.deviceName}${db} has no bridgedNode device type. Adding it...`);
239
239
  device.deviceTypes.set(bridgedNode.code, bridgedNode);
240
- const options = device.getClusterServerOptions(Descriptor.Cluster.id);
240
+ const options = device.getClusterServerOptions(Descriptor.id);
241
241
  if (options) {
242
242
  const deviceTypeList = options.deviceTypeList;
243
243
  if (!deviceTypeList.find((dt) => dt.deviceType === bridgedNode.code)) {
@@ -245,7 +245,7 @@ export class MatterbridgePlatform {
245
245
  }
246
246
  }
247
247
  }
248
- if (!device.hasClusterServer(BridgedDeviceBasicInformation.Cluster.id)) {
248
+ if (!device.hasClusterServer(BridgedDeviceBasicInformation.id)) {
249
249
  this.log.debug(`Device with name ${CYAN}${device.deviceName}${db} has no BridgedDeviceBasicInformation cluster. Adding it...`);
250
250
  device.createDefaultBridgedDeviceBasicInformationClusterServer(device.deviceName, device.serialNumber, device.vendorId, device.vendorName, device.productName, device.softwareVersion, device.softwareVersionString, device.hardwareVersion, device.hardwareVersionString);
251
251
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matterbridge/core",
3
- "version": "3.8.1-dev-20260609-77be5ba",
3
+ "version": "3.8.1-dev-20260609-f3c25c0",
4
4
  "description": "Matterbridge core library",
5
5
  "author": "https://github.com/Luligu",
6
6
  "homepage": "https://matterbridge.io/",
@@ -130,10 +130,10 @@
130
130
  ],
131
131
  "dependencies": {
132
132
  "@matter/main": "0.17.2-alpha.0-20260609-97109a2d3",
133
- "@matterbridge/dgram": "3.8.1-dev-20260609-77be5ba",
134
- "@matterbridge/thread": "3.8.1-dev-20260609-77be5ba",
135
- "@matterbridge/types": "3.8.1-dev-20260609-77be5ba",
136
- "@matterbridge/utils": "3.8.1-dev-20260609-77be5ba",
133
+ "@matterbridge/dgram": "3.8.1-dev-20260609-f3c25c0",
134
+ "@matterbridge/thread": "3.8.1-dev-20260609-f3c25c0",
135
+ "@matterbridge/types": "3.8.1-dev-20260609-f3c25c0",
136
+ "@matterbridge/utils": "3.8.1-dev-20260609-f3c25c0",
137
137
  "escape-html": "1.0.3",
138
138
  "express": "5.2.1",
139
139
  "express-rate-limit": "8.5.2",