zigbee-clusters 2.8.1 → 2.9.0

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.
package/index.d.ts CHANGED
@@ -94,6 +94,8 @@ export interface AnalogInputCluster extends ZCLNodeCluster {
94
94
  readAttributes<K extends 'description' | 'maxPresentValue' | 'minPresentValue' | 'outOfService' | 'presentValue' | 'reliability' | 'resolution' | 'statusFlags' | 'applicationType'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<AnalogInputClusterAttributes, K>>;
95
95
  readAttributes(attributeNames: Array<keyof AnalogInputClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<AnalogInputClusterAttributes> & Record<number, unknown>>;
96
96
  writeAttributes(attributes: Partial<AnalogInputClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
97
+ on<K extends keyof AnalogInputClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: AnalogInputClusterAttributes[K]) => void): this;
98
+ once<K extends keyof AnalogInputClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: AnalogInputClusterAttributes[K]) => void): this;
97
99
  }
98
100
 
99
101
  export interface AnalogOutputClusterAttributes {
@@ -113,6 +115,8 @@ export interface AnalogOutputCluster extends ZCLNodeCluster {
113
115
  readAttributes<K extends 'description' | 'maxPresentValue' | 'minPresentValue' | 'outOfService' | 'presentValue' | 'reliability' | 'relinquishDefault' | 'resolution' | 'statusFlags' | 'applicationType'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<AnalogOutputClusterAttributes, K>>;
114
116
  readAttributes(attributeNames: Array<keyof AnalogOutputClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<AnalogOutputClusterAttributes> & Record<number, unknown>>;
115
117
  writeAttributes(attributes: Partial<AnalogOutputClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
118
+ on<K extends keyof AnalogOutputClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: AnalogOutputClusterAttributes[K]) => void): this;
119
+ once<K extends keyof AnalogOutputClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: AnalogOutputClusterAttributes[K]) => void): this;
116
120
  }
117
121
 
118
122
  export interface AnalogValueClusterAttributes {
@@ -129,6 +133,8 @@ export interface AnalogValueCluster extends ZCLNodeCluster {
129
133
  readAttributes<K extends 'description' | 'outOfService' | 'presentValue' | 'reliability' | 'relinquishDefault' | 'statusFlags' | 'applicationType'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<AnalogValueClusterAttributes, K>>;
130
134
  readAttributes(attributeNames: Array<keyof AnalogValueClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<AnalogValueClusterAttributes> & Record<number, unknown>>;
131
135
  writeAttributes(attributes: Partial<AnalogValueClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
136
+ on<K extends keyof AnalogValueClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: AnalogValueClusterAttributes[K]) => void): this;
137
+ once<K extends keyof AnalogValueClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: AnalogValueClusterAttributes[K]) => void): this;
132
138
  }
133
139
 
134
140
  export interface BallastConfigurationClusterAttributes {
@@ -154,6 +160,8 @@ export interface BallastConfigurationCluster extends ZCLNodeCluster {
154
160
  readAttributes<K extends 'physicalMinLevel' | 'physicalMaxLevel' | 'ballastStatus' | 'minLevel' | 'maxLevel' | 'powerOnLevel' | 'powerOnFadeTime' | 'intrinsicBallastFactor' | 'ballastFactorAdjustment' | 'lampQuantity' | 'lampType' | 'lampManufacturer' | 'lampRatedHours' | 'lampBurnHours' | 'lampAlarmMode' | 'lampBurnHoursTripPoint'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<BallastConfigurationClusterAttributes, K>>;
155
161
  readAttributes(attributeNames: Array<keyof BallastConfigurationClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<BallastConfigurationClusterAttributes> & Record<number, unknown>>;
156
162
  writeAttributes(attributes: Partial<BallastConfigurationClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
163
+ on<K extends keyof BallastConfigurationClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: BallastConfigurationClusterAttributes[K]) => void): this;
164
+ once<K extends keyof BallastConfigurationClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: BallastConfigurationClusterAttributes[K]) => void): this;
157
165
  }
158
166
 
159
167
  export interface BasicClusterAttributes {
@@ -178,6 +186,8 @@ export interface BasicCluster extends ZCLNodeCluster {
178
186
  readAttributes<K extends 'zclVersion' | 'appVersion' | 'stackVersion' | 'hwVersion' | 'manufacturerName' | 'modelId' | 'dateCode' | 'powerSource' | 'appProfileVersion' | 'locationDesc' | 'physicalEnv' | 'deviceEnabled' | 'alarmMask' | 'disableLocalConfig' | 'swBuildId'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<BasicClusterAttributes, K>>;
179
187
  readAttributes(attributeNames: Array<keyof BasicClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<BasicClusterAttributes> & Record<number, unknown>>;
180
188
  writeAttributes(attributes: Partial<BasicClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
189
+ on<K extends keyof BasicClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: BasicClusterAttributes[K]) => void): this;
190
+ once<K extends keyof BasicClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: BasicClusterAttributes[K]) => void): this;
181
191
  factoryReset(opts?: ClusterCommandOptions): Promise<void>;
182
192
  }
183
193
 
@@ -197,6 +207,8 @@ export interface BinaryInputCluster extends ZCLNodeCluster {
197
207
  readAttributes<K extends 'activeText' | 'description' | 'inactiveText' | 'outOfService' | 'polarity' | 'presentValue' | 'reliability' | 'statusFlags' | 'applicationType'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<BinaryInputClusterAttributes, K>>;
198
208
  readAttributes(attributeNames: Array<keyof BinaryInputClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<BinaryInputClusterAttributes> & Record<number, unknown>>;
199
209
  writeAttributes(attributes: Partial<BinaryInputClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
210
+ on<K extends keyof BinaryInputClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: BinaryInputClusterAttributes[K]) => void): this;
211
+ once<K extends keyof BinaryInputClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: BinaryInputClusterAttributes[K]) => void): this;
200
212
  }
201
213
 
202
214
  export interface BinaryOutputClusterAttributes {
@@ -218,6 +230,8 @@ export interface BinaryOutputCluster extends ZCLNodeCluster {
218
230
  readAttributes<K extends 'activeText' | 'description' | 'inactiveText' | 'minimumOffTime' | 'minimumOnTime' | 'outOfService' | 'polarity' | 'presentValue' | 'reliability' | 'relinquishDefault' | 'statusFlags' | 'applicationType'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<BinaryOutputClusterAttributes, K>>;
219
231
  readAttributes(attributeNames: Array<keyof BinaryOutputClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<BinaryOutputClusterAttributes> & Record<number, unknown>>;
220
232
  writeAttributes(attributes: Partial<BinaryOutputClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
233
+ on<K extends keyof BinaryOutputClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: BinaryOutputClusterAttributes[K]) => void): this;
234
+ once<K extends keyof BinaryOutputClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: BinaryOutputClusterAttributes[K]) => void): this;
221
235
  }
222
236
 
223
237
  export interface BinaryValueClusterAttributes {
@@ -239,6 +253,8 @@ export interface BinaryValueCluster extends ZCLNodeCluster {
239
253
  readAttributes<K extends 'activeText' | 'description' | 'inactiveText' | 'minimumOffTime' | 'minimumOnTime' | 'outOfService' | 'polarity' | 'presentValue' | 'reliability' | 'relinquishDefault' | 'statusFlags' | 'applicationType'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<BinaryValueClusterAttributes, K>>;
240
254
  readAttributes(attributeNames: Array<keyof BinaryValueClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<BinaryValueClusterAttributes> & Record<number, unknown>>;
241
255
  writeAttributes(attributes: Partial<BinaryValueClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
256
+ on<K extends keyof BinaryValueClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: BinaryValueClusterAttributes[K]) => void): this;
257
+ once<K extends keyof BinaryValueClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: BinaryValueClusterAttributes[K]) => void): this;
242
258
  }
243
259
 
244
260
  export interface ColorControlClusterAttributes {
@@ -257,6 +273,8 @@ export interface ColorControlCluster extends ZCLNodeCluster {
257
273
  readAttributes<K extends 'currentHue' | 'currentSaturation' | 'currentX' | 'currentY' | 'colorTemperatureMireds' | 'colorMode' | 'colorCapabilities' | 'colorTempPhysicalMinMireds' | 'colorTempPhysicalMaxMireds'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<ColorControlClusterAttributes, K>>;
258
274
  readAttributes(attributeNames: Array<keyof ColorControlClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<ColorControlClusterAttributes> & Record<number, unknown>>;
259
275
  writeAttributes(attributes: Partial<ColorControlClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
276
+ on<K extends keyof ColorControlClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: ColorControlClusterAttributes[K]) => void): this;
277
+ once<K extends keyof ColorControlClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: ColorControlClusterAttributes[K]) => void): this;
260
278
  moveToHue(args: { hue: number; direction: 'shortestDistance' | 'longestDistance' | 'up' | 'down'; transitionTime: number }, opts?: ClusterCommandOptions): Promise<void>;
261
279
  moveToSaturation(args: { saturation: number; transitionTime: number }, opts?: ClusterCommandOptions): Promise<void>;
262
280
  moveToHueAndSaturation(args: { hue: number; saturation: number; transitionTime: number }, opts?: ClusterCommandOptions): Promise<void>;
@@ -283,6 +301,8 @@ export interface DeviceTemperatureCluster extends ZCLNodeCluster {
283
301
  readAttributes<K extends 'currentTemperature' | 'minTempExperienced' | 'maxTempExperienced' | 'overTempTotalDwell' | 'deviceTempAlarmMask' | 'lowTempThreshold' | 'highTempThreshold' | 'lowTempDwellTripPoint' | 'highTempDwellTripPoint'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<DeviceTemperatureClusterAttributes, K>>;
284
302
  readAttributes(attributeNames: Array<keyof DeviceTemperatureClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<DeviceTemperatureClusterAttributes> & Record<number, unknown>>;
285
303
  writeAttributes(attributes: Partial<DeviceTemperatureClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
304
+ on<K extends keyof DeviceTemperatureClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: DeviceTemperatureClusterAttributes[K]) => void): this;
305
+ once<K extends keyof DeviceTemperatureClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: DeviceTemperatureClusterAttributes[K]) => void): this;
286
306
  }
287
307
 
288
308
  export interface DiagnosticsCluster extends ZCLNodeCluster {
@@ -338,6 +358,8 @@ export interface DoorLockCluster extends ZCLNodeCluster {
338
358
  readAttributes<K extends 'lockState' | 'lockType' | 'actuatorEnabled' | 'doorState' | 'doorOpenEvents' | 'doorClosedEvents' | 'openPeriod' | 'numberOfLogRecordsSupported' | 'numberOfTotalUsersSupported' | 'numberOfPINUsersSupported' | 'numberOfRFIDUsersSupported' | 'numberOfWeekDaySchedulesSupportedPerUser' | 'numberOfYearDaySchedulesSupportedPerUser' | 'numberOfHolidaySchedulesSupported' | 'maxPINCodeLength' | 'minPINCodeLength' | 'maxRFIDCodeLength' | 'minRFIDCodeLength' | 'enableLogging' | 'language' | 'ledSettings' | 'autoRelockTime' | 'soundVolume' | 'operatingMode' | 'supportedOperatingModes' | 'defaultConfigurationRegister' | 'enableLocalProgramming' | 'enableOneTouchLocking' | 'enableInsideStatusLED' | 'enablePrivacyModeButton' | 'wrongCodeEntryLimit' | 'userCodeTemporaryDisableTime' | 'sendPINOverTheAir' | 'requirePINforRFOperation' | 'securityLevel' | 'alarmMask' | 'keypadOperationEventMask' | 'rfOperationEventMask' | 'manualOperationEventMask' | 'rfidOperationEventMask' | 'keypadProgrammingEventMask' | 'rfProgrammingEventMask' | 'rfidProgrammingEventMask'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<DoorLockClusterAttributes, K>>;
339
359
  readAttributes(attributeNames: Array<keyof DoorLockClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<DoorLockClusterAttributes> & Record<number, unknown>>;
340
360
  writeAttributes(attributes: Partial<DoorLockClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
361
+ on<K extends keyof DoorLockClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: DoorLockClusterAttributes[K]) => void): this;
362
+ once<K extends keyof DoorLockClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: DoorLockClusterAttributes[K]) => void): this;
341
363
  lockDoor(args?: { pinCode?: Buffer }, opts?: ClusterCommandOptions): Promise<{ status: number }>;
342
364
  unlockDoor(args?: { pinCode?: Buffer }, opts?: ClusterCommandOptions): Promise<{ status: number }>;
343
365
  toggle(args?: { pinCode?: Buffer }, opts?: ClusterCommandOptions): Promise<{ status: number }>;
@@ -395,6 +417,8 @@ export interface ElectricalMeasurementCluster extends ZCLNodeCluster {
395
417
  readAttributes<K extends 'measurementType' | 'acFrequency' | 'measuredPhase1stHarmonicCurrent' | 'acFrequencyMultiplier' | 'acFrequencyDivisor' | 'phaseHarmonicCurrentMultiplier' | 'rmsVoltage' | 'rmsCurrent' | 'activePower' | 'reactivePower' | 'acVoltageMultiplier' | 'acVoltageDivisor' | 'acCurrentMultiplier' | 'acCurrentDivisor' | 'acPowerMultiplier' | 'acPowerDivisor' | 'acAlarmsMask' | 'acVoltageOverload' | 'acCurrentOverload' | 'acActivePowerOverload'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<ElectricalMeasurementClusterAttributes, K>>;
396
418
  readAttributes(attributeNames: Array<keyof ElectricalMeasurementClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<ElectricalMeasurementClusterAttributes> & Record<number, unknown>>;
397
419
  writeAttributes(attributes: Partial<ElectricalMeasurementClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
420
+ on<K extends keyof ElectricalMeasurementClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: ElectricalMeasurementClusterAttributes[K]) => void): this;
421
+ once<K extends keyof ElectricalMeasurementClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: ElectricalMeasurementClusterAttributes[K]) => void): this;
398
422
  }
399
423
 
400
424
  export interface FanControlCluster extends ZCLNodeCluster {
@@ -411,6 +435,8 @@ export interface FlowMeasurementCluster extends ZCLNodeCluster {
411
435
  readAttributes<K extends 'measuredValue' | 'minMeasuredValue' | 'maxMeasuredValue' | 'tolerance'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<FlowMeasurementClusterAttributes, K>>;
412
436
  readAttributes(attributeNames: Array<keyof FlowMeasurementClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<FlowMeasurementClusterAttributes> & Record<number, unknown>>;
413
437
  writeAttributes(attributes: Partial<FlowMeasurementClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
438
+ on<K extends keyof FlowMeasurementClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: FlowMeasurementClusterAttributes[K]) => void): this;
439
+ once<K extends keyof FlowMeasurementClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: FlowMeasurementClusterAttributes[K]) => void): this;
414
440
  }
415
441
 
416
442
  export interface GroupsClusterAttributes {
@@ -421,6 +447,8 @@ export interface GroupsCluster extends ZCLNodeCluster {
421
447
  readAttributes<K extends 'nameSupport'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<GroupsClusterAttributes, K>>;
422
448
  readAttributes(attributeNames: Array<keyof GroupsClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<GroupsClusterAttributes> & Record<number, unknown>>;
423
449
  writeAttributes(attributes: Partial<GroupsClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
450
+ on<K extends keyof GroupsClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: GroupsClusterAttributes[K]) => void): this;
451
+ once<K extends keyof GroupsClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: GroupsClusterAttributes[K]) => void): this;
424
452
  addGroup(args: { groupId: number; groupName: string }, opts?: ClusterCommandOptions): Promise<{ status: 'SUCCESS' | 'FAILURE' | 'NOT_AUTHORIZED' | 'RESERVED_FIELD_NOT_ZERO' | 'MALFORMED_COMMAND' | 'UNSUP_CLUSTER_COMMAND' | 'UNSUP_GENERAL_COMMAND' | 'UNSUP_MANUF_CLUSTER_COMMAND' | 'UNSUP_MANUF_GENERAL_COMMAND' | 'INVALID_FIELD' | 'UNSUPPORTED_ATTRIBUTE' | 'INVALID_VALUE' | 'READ_ONLY' | 'INSUFFICIENT_SPACE' | 'DUPLICATE_EXISTS' | 'NOT_FOUND' | 'UNREPORTABLE_ATTRIBUTE' | 'INVALID_DATA_TYPE' | 'INVALID_SELECTOR' | 'WRITE_ONLY' | 'INCONSISTENT_STARTUP_STATE' | 'DEFINED_OUT_OF_BAND' | 'INCONSISTENT' | 'ACTION_DENIED' | 'TIMEOUT' | 'ABORT' | 'INVALID_IMAGE' | 'WAIT_FOR_DATA' | 'NO_IMAGE_AVAILABLE' | 'REQUIRE_MORE_IMAGE' | 'NOTIFICATION_PENDING' | 'HARDWARE_FAILURE' | 'SOFTWARE_FAILURE' | 'CALIBRATION_ERROR' | 'UNSUPPORTED_CLUSTER'; groupId: number }>;
425
453
  viewGroup(args: { groupId: number }, opts?: ClusterCommandOptions): Promise<{ status: 'SUCCESS' | 'FAILURE' | 'NOT_AUTHORIZED' | 'RESERVED_FIELD_NOT_ZERO' | 'MALFORMED_COMMAND' | 'UNSUP_CLUSTER_COMMAND' | 'UNSUP_GENERAL_COMMAND' | 'UNSUP_MANUF_CLUSTER_COMMAND' | 'UNSUP_MANUF_GENERAL_COMMAND' | 'INVALID_FIELD' | 'UNSUPPORTED_ATTRIBUTE' | 'INVALID_VALUE' | 'READ_ONLY' | 'INSUFFICIENT_SPACE' | 'DUPLICATE_EXISTS' | 'NOT_FOUND' | 'UNREPORTABLE_ATTRIBUTE' | 'INVALID_DATA_TYPE' | 'INVALID_SELECTOR' | 'WRITE_ONLY' | 'INCONSISTENT_STARTUP_STATE' | 'DEFINED_OUT_OF_BAND' | 'INCONSISTENT' | 'ACTION_DENIED' | 'TIMEOUT' | 'ABORT' | 'INVALID_IMAGE' | 'WAIT_FOR_DATA' | 'NO_IMAGE_AVAILABLE' | 'REQUIRE_MORE_IMAGE' | 'NOTIFICATION_PENDING' | 'HARDWARE_FAILURE' | 'SOFTWARE_FAILURE' | 'CALIBRATION_ERROR' | 'UNSUPPORTED_CLUSTER'; groupId: number; groupNames: string }>;
426
454
  getGroupMembership(args: { groupIds: number[] }, opts?: ClusterCommandOptions): Promise<{ capacity: number; groups: number[] }>;
@@ -447,6 +475,8 @@ export interface IASZoneCluster extends ZCLNodeCluster {
447
475
  readAttributes<K extends 'zoneState' | 'zoneType' | 'zoneStatus' | 'iasCIEAddress' | 'zoneId'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<IASZoneClusterAttributes, K>>;
448
476
  readAttributes(attributeNames: Array<keyof IASZoneClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<IASZoneClusterAttributes> & Record<number, unknown>>;
449
477
  writeAttributes(attributes: Partial<IASZoneClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
478
+ on<K extends keyof IASZoneClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: IASZoneClusterAttributes[K]) => void): this;
479
+ once<K extends keyof IASZoneClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: IASZoneClusterAttributes[K]) => void): this;
450
480
  zoneStatusChangeNotification(args: { zoneStatus: Partial<{ alarm1: boolean; alarm2: boolean; tamper: boolean; battery: boolean; supervisionReports: boolean; restoreReports: boolean; trouble: boolean; acMains: boolean; test: boolean; batteryDefect: boolean }>; extendedStatus: number; zoneId: number; delay: number }, opts?: ClusterCommandOptions): Promise<void>;
451
481
  zoneEnrollResponse(args: { enrollResponseCode: 'success' | 'notSupported' | 'noEnrollPermit' | 'tooManyZones'; zoneId: number }, opts?: ClusterCommandOptions): Promise<void>;
452
482
  zoneEnrollRequest(args: { zoneType: 'standard' | 'motionSensor' | 'contactSwitch' | 'fireSensor' | 'waterSensor' | 'carbonMonoxideSensor' | 'personalEmergencyDevice' | 'vibrationMovementSensor' | 'remoteControl' | 'keyFob' | 'keyPad' | 'standardWarningDevice' | 'glassBreakSensor' | 'securityRepeater' | 'invalid'; manufacturerCode: number }, opts?: ClusterCommandOptions): Promise<void>;
@@ -461,6 +491,8 @@ export interface IdentifyCluster extends ZCLNodeCluster {
461
491
  readAttributes<K extends 'identifyTime'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<IdentifyClusterAttributes, K>>;
462
492
  readAttributes(attributeNames: Array<keyof IdentifyClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<IdentifyClusterAttributes> & Record<number, unknown>>;
463
493
  writeAttributes(attributes: Partial<IdentifyClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
494
+ on<K extends keyof IdentifyClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: IdentifyClusterAttributes[K]) => void): this;
495
+ once<K extends keyof IdentifyClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: IdentifyClusterAttributes[K]) => void): this;
464
496
  identify(args: { identifyTime: number }, opts?: ClusterCommandOptions): Promise<void>;
465
497
  identifyQuery(opts?: ClusterCommandOptions): Promise<{ timeout: number }>;
466
498
  triggerEffect(args: { effectIdentifier: 'blink' | 'breathe' | 'okay' | 'channelChange' | 'finish' | 'stop'; effectVariant: number }, opts?: ClusterCommandOptions): Promise<void>;
@@ -476,6 +508,8 @@ export interface IlluminanceLevelSensingCluster extends ZCLNodeCluster {
476
508
  readAttributes<K extends 'levelStatus' | 'lightSensorType' | 'illuminanceTargetLevel'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<IlluminanceLevelSensingClusterAttributes, K>>;
477
509
  readAttributes(attributeNames: Array<keyof IlluminanceLevelSensingClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<IlluminanceLevelSensingClusterAttributes> & Record<number, unknown>>;
478
510
  writeAttributes(attributes: Partial<IlluminanceLevelSensingClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
511
+ on<K extends keyof IlluminanceLevelSensingClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: IlluminanceLevelSensingClusterAttributes[K]) => void): this;
512
+ once<K extends keyof IlluminanceLevelSensingClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: IlluminanceLevelSensingClusterAttributes[K]) => void): this;
479
513
  }
480
514
 
481
515
  export interface IlluminanceMeasurementClusterAttributes {
@@ -490,6 +524,8 @@ export interface IlluminanceMeasurementCluster extends ZCLNodeCluster {
490
524
  readAttributes<K extends 'measuredValue' | 'minMeasuredValue' | 'maxMeasuredValue' | 'tolerance' | 'lightSensorType'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<IlluminanceMeasurementClusterAttributes, K>>;
491
525
  readAttributes(attributeNames: Array<keyof IlluminanceMeasurementClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<IlluminanceMeasurementClusterAttributes> & Record<number, unknown>>;
492
526
  writeAttributes(attributes: Partial<IlluminanceMeasurementClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
527
+ on<K extends keyof IlluminanceMeasurementClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: IlluminanceMeasurementClusterAttributes[K]) => void): this;
528
+ once<K extends keyof IlluminanceMeasurementClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: IlluminanceMeasurementClusterAttributes[K]) => void): this;
493
529
  }
494
530
 
495
531
  export interface LevelControlClusterAttributes {
@@ -506,6 +542,8 @@ export interface LevelControlCluster extends ZCLNodeCluster {
506
542
  readAttributes<K extends 'currentLevel' | 'remainingTime' | 'onOffTransitionTime' | 'onLevel' | 'onTransitionTime' | 'offTransitionTime' | 'defaultMoveRate'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<LevelControlClusterAttributes, K>>;
507
543
  readAttributes(attributeNames: Array<keyof LevelControlClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<LevelControlClusterAttributes> & Record<number, unknown>>;
508
544
  writeAttributes(attributes: Partial<LevelControlClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
545
+ on<K extends keyof LevelControlClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: LevelControlClusterAttributes[K]) => void): this;
546
+ once<K extends keyof LevelControlClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: LevelControlClusterAttributes[K]) => void): this;
509
547
  moveToLevel(args: { level: number; transitionTime: number }, opts?: ClusterCommandOptions): Promise<void>;
510
548
  move(args: { moveMode: 'up' | 'down'; rate: number }, opts?: ClusterCommandOptions): Promise<void>;
511
549
  step(args: { mode: 'up' | 'down'; stepSize: number; transitionTime: number }, opts?: ClusterCommandOptions): Promise<void>;
@@ -724,6 +762,8 @@ export interface MeteringCluster extends ZCLNodeCluster {
724
762
  readAttributes<K extends 'currentSummationDelivered' | 'currentSummationReceived' | 'currentMaxDemandDelivered' | 'currentMaxDemandReceived' | 'dftSummation' | 'dailyFreezeTime' | 'powerFactor' | 'readingSnapShotTime' | 'currentMaxDemandDeliveredTime' | 'currentMaxDemandReceivedTime' | 'defaultUpdatePeriod' | 'fastPollUpdatePeriod' | 'currentBlockPeriodConsumptionDelivered' | 'dailyConsumptionTarget' | 'currentBlock' | 'profileIntervalPeriod' | 'currentTier1SummationDelivered' | 'currentTier1SummationReceived' | 'currentTier2SummationDelivered' | 'currentTier2SummationReceived' | 'currentTier3SummationDelivered' | 'currentTier3SummationReceived' | 'currentTier4SummationDelivered' | 'currentTier4SummationReceived' | 'status' | 'remainingBatteryLife' | 'hoursInOperation' | 'hoursInFault' | 'extendedStatus' | 'unitOfMeasure' | 'multiplier' | 'divisor' | 'summationFormatting' | 'demandFormatting' | 'historicalConsumptionFormatting' | 'meteringDeviceType' | 'siteId' | 'meterSerialNumber' | 'energyCarrierUnitOfMeasure' | 'energyCarrierSummationFormatting' | 'energyCarrierDemandFormatting' | 'temperatureUnitOfMeasure' | 'temperatureFormatting' | 'moduleSerialNumber' | 'operatingTariffLabelDelivered' | 'operatingTariffLabelReceived' | 'customerIdNumber' | 'alternativeUnitOfMeasure' | 'alternativeDemandFormatting' | 'alternativeConsumptionFormatting' | 'instantaneousDemand' | 'currentDayConsumptionDelivered' | 'currentDayConsumptionReceived' | 'previousDayConsumptionDelivered' | 'previousDayConsumptionReceived' | 'currentPartialProfileIntervalStartTimeDelivered' | 'currentPartialProfileIntervalStartTimeReceived' | 'currentPartialProfileIntervalValueDelivered' | 'currentPartialProfileIntervalValueReceived' | 'currentDayMaxPressure' | 'currentDayMinPressure' | 'previousDayMaxPressure' | 'previousDayMinPressure' | 'currentDayMaxDemand' | 'previousDayMaxDemand' | 'currentMonthMaxDemand' | 'currentYearMaxDemand' | 'currentDayMaxEnergyCarrierDemand' | 'previousDayMaxEnergyCarrierDemand' | 'currentMonthMaxEnergyCarrierDemand' | 'currentMonthMinEnergyCarrierDemand' | 'currentYearMaxEnergyCarrierDemand' | 'currentYearMinEnergyCarrierDemand' | 'maxNumberOfPeriodsDelivered' | 'currentDemandDelivered' | 'demandLimit' | 'demandIntegrationPeriod' | 'numberOfDemandSubintervals' | 'demandLimitArmDuration' | 'currentNoTierBlock1SummationDelivered' | 'currentNoTierBlock2SummationDelivered' | 'currentNoTierBlock3SummationDelivered' | 'currentNoTierBlock4SummationDelivered' | 'currentNoTierBlock5SummationDelivered' | 'currentNoTierBlock6SummationDelivered' | 'currentNoTierBlock7SummationDelivered' | 'currentNoTierBlock8SummationDelivered' | 'currentNoTierBlock9SummationDelivered' | 'currentNoTierBlock10SummationDelivered' | 'currentNoTierBlock11SummationDelivered' | 'currentNoTierBlock12SummationDelivered' | 'currentNoTierBlock13SummationDelivered' | 'currentNoTierBlock14SummationDelivered' | 'currentNoTierBlock15SummationDelivered' | 'currentNoTierBlock16SummationDelivered' | 'currentTier1Block1SummationDelivered' | 'currentTier1Block2SummationDelivered' | 'currentTier1Block3SummationDelivered' | 'currentTier1Block4SummationDelivered' | 'currentTier1Block5SummationDelivered' | 'currentTier1Block6SummationDelivered' | 'currentTier1Block7SummationDelivered' | 'currentTier1Block8SummationDelivered' | 'currentTier1Block9SummationDelivered' | 'currentTier1Block10SummationDelivered' | 'currentTier1Block11SummationDelivered' | 'currentTier1Block12SummationDelivered' | 'currentTier1Block13SummationDelivered' | 'currentTier1Block14SummationDelivered' | 'currentTier1Block15SummationDelivered' | 'currentTier1Block16SummationDelivered' | 'currentTier2Block1SummationDelivered' | 'currentTier2Block2SummationDelivered' | 'currentTier2Block3SummationDelivered' | 'currentTier2Block4SummationDelivered' | 'currentTier2Block5SummationDelivered' | 'currentTier2Block6SummationDelivered' | 'currentTier2Block7SummationDelivered' | 'currentTier2Block8SummationDelivered' | 'currentTier2Block9SummationDelivered' | 'currentTier2Block10SummationDelivered' | 'currentTier2Block11SummationDelivered' | 'currentTier2Block12SummationDelivered' | 'currentTier2Block13SummationDelivered' | 'currentTier2Block14SummationDelivered' | 'currentTier2Block15SummationDelivered' | 'currentTier2Block16SummationDelivered' | 'currentTier3Block1SummationDelivered' | 'currentTier3Block2SummationDelivered' | 'currentTier3Block3SummationDelivered' | 'currentTier3Block4SummationDelivered' | 'currentTier3Block5SummationDelivered' | 'currentTier3Block6SummationDelivered' | 'currentTier3Block7SummationDelivered' | 'currentTier3Block8SummationDelivered' | 'currentTier3Block9SummationDelivered' | 'currentTier3Block10SummationDelivered' | 'currentTier3Block11SummationDelivered' | 'currentTier3Block12SummationDelivered' | 'currentTier3Block13SummationDelivered' | 'currentTier3Block14SummationDelivered' | 'currentTier3Block15SummationDelivered' | 'currentTier3Block16SummationDelivered' | 'currentTier4Block1SummationDelivered' | 'currentTier4Block2SummationDelivered' | 'currentTier4Block3SummationDelivered' | 'currentTier4Block4SummationDelivered' | 'currentTier4Block5SummationDelivered' | 'currentTier4Block6SummationDelivered' | 'currentTier4Block7SummationDelivered' | 'currentTier4Block8SummationDelivered' | 'currentTier4Block9SummationDelivered' | 'currentTier4Block10SummationDelivered' | 'currentTier4Block11SummationDelivered' | 'currentTier4Block12SummationDelivered' | 'currentTier4Block13SummationDelivered' | 'currentTier4Block14SummationDelivered' | 'currentTier4Block15SummationDelivered' | 'currentTier4Block16SummationDelivered' | 'genericAlarmMask' | 'electricityAlarmMask' | 'genericFlowPressureAlarmMask' | 'waterSpecificAlarmMask' | 'heatAndCoolingSpecificAlarmMask' | 'gasSpecificAlarmMask' | 'extendedGenericAlarmMask' | 'manufacturerAlarmMask' | 'currentNoTierBlock1SummationReceived' | 'currentNoTierBlock2SummationReceived' | 'currentNoTierBlock3SummationReceived' | 'currentNoTierBlock4SummationReceived' | 'currentNoTierBlock5SummationReceived' | 'currentNoTierBlock6SummationReceived' | 'currentNoTierBlock7SummationReceived' | 'currentNoTierBlock8SummationReceived' | 'currentNoTierBlock9SummationReceived' | 'currentNoTierBlock10SummationReceived' | 'currentNoTierBlock11SummationReceived' | 'currentNoTierBlock12SummationReceived' | 'currentNoTierBlock13SummationReceived' | 'currentNoTierBlock14SummationReceived' | 'currentNoTierBlock15SummationReceived' | 'currentNoTierBlock16SummationReceived' | 'billToDateDelivered' | 'billToDateTimeStampDelivered' | 'projectedBillDelivered' | 'projectedBillTimeStampDelivered' | 'billDeliveredTrailingDigit' | 'billToDateReceived' | 'billToDateTimeStampReceived' | 'projectedBillReceived' | 'projectedBillTimeStampReceived' | 'billReceivedTrailingDigit' | 'proposedChangeSupplyImplementationTime' | 'proposedChangeSupplyStatus' | 'uncontrolledFlowThreshold' | 'uncontrolledFlowThresholdUnitOfMeasure' | 'uncontrolledFlowMultiplier' | 'uncontrolledFlowDivisor' | 'flowStabilisationPeriod' | 'flowMeasurementPeriod'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<MeteringClusterAttributes, K>>;
725
763
  readAttributes(attributeNames: Array<keyof MeteringClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<MeteringClusterAttributes> & Record<number, unknown>>;
726
764
  writeAttributes(attributes: Partial<MeteringClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
765
+ on<K extends keyof MeteringClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: MeteringClusterAttributes[K]) => void): this;
766
+ once<K extends keyof MeteringClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: MeteringClusterAttributes[K]) => void): this;
727
767
  }
728
768
 
729
769
  export interface MultistateInputClusterAttributes {
@@ -740,6 +780,8 @@ export interface MultistateInputCluster extends ZCLNodeCluster {
740
780
  readAttributes<K extends 'description' | 'numberOfStates' | 'outOfService' | 'presentValue' | 'reliability' | 'statusFlags' | 'applicationType'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<MultistateInputClusterAttributes, K>>;
741
781
  readAttributes(attributeNames: Array<keyof MultistateInputClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<MultistateInputClusterAttributes> & Record<number, unknown>>;
742
782
  writeAttributes(attributes: Partial<MultistateInputClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
783
+ on<K extends keyof MultistateInputClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: MultistateInputClusterAttributes[K]) => void): this;
784
+ once<K extends keyof MultistateInputClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: MultistateInputClusterAttributes[K]) => void): this;
743
785
  }
744
786
 
745
787
  export interface MultistateOutputClusterAttributes {
@@ -757,6 +799,8 @@ export interface MultistateOutputCluster extends ZCLNodeCluster {
757
799
  readAttributes<K extends 'description' | 'numberOfStates' | 'outOfService' | 'presentValue' | 'reliability' | 'relinquishDefault' | 'statusFlags' | 'applicationType'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<MultistateOutputClusterAttributes, K>>;
758
800
  readAttributes(attributeNames: Array<keyof MultistateOutputClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<MultistateOutputClusterAttributes> & Record<number, unknown>>;
759
801
  writeAttributes(attributes: Partial<MultistateOutputClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
802
+ on<K extends keyof MultistateOutputClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: MultistateOutputClusterAttributes[K]) => void): this;
803
+ once<K extends keyof MultistateOutputClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: MultistateOutputClusterAttributes[K]) => void): this;
760
804
  }
761
805
 
762
806
  export interface MultistateValueClusterAttributes {
@@ -774,6 +818,8 @@ export interface MultistateValueCluster extends ZCLNodeCluster {
774
818
  readAttributes<K extends 'description' | 'numberOfStates' | 'outOfService' | 'presentValue' | 'reliability' | 'relinquishDefault' | 'statusFlags' | 'applicationType'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<MultistateValueClusterAttributes, K>>;
775
819
  readAttributes(attributeNames: Array<keyof MultistateValueClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<MultistateValueClusterAttributes> & Record<number, unknown>>;
776
820
  writeAttributes(attributes: Partial<MultistateValueClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
821
+ on<K extends keyof MultistateValueClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: MultistateValueClusterAttributes[K]) => void): this;
822
+ once<K extends keyof MultistateValueClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: MultistateValueClusterAttributes[K]) => void): this;
777
823
  }
778
824
 
779
825
  export interface OccupancySensingClusterAttributes {
@@ -795,6 +841,8 @@ export interface OccupancySensingCluster extends ZCLNodeCluster {
795
841
  readAttributes<K extends 'occupancy' | 'occupancySensorType' | 'occupancySensorTypeBitmap' | 'pirOccupiedToUnoccupiedDelay' | 'pirUnoccupiedToOccupiedDelay' | 'pirUnoccupiedToOccupiedThreshold' | 'ultrasonicOccupiedToUnoccupiedDelay' | 'ultrasonicUnoccupiedToOccupiedDelay' | 'ultrasonicUnoccupiedToOccupiedThreshold' | 'physicalContactOccupiedToUnoccupiedDelay' | 'physicalContactUnoccupiedToOccupiedDelay' | 'physicalContactUnoccupiedToOccupiedThreshold'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<OccupancySensingClusterAttributes, K>>;
796
842
  readAttributes(attributeNames: Array<keyof OccupancySensingClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<OccupancySensingClusterAttributes> & Record<number, unknown>>;
797
843
  writeAttributes(attributes: Partial<OccupancySensingClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
844
+ on<K extends keyof OccupancySensingClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: OccupancySensingClusterAttributes[K]) => void): this;
845
+ once<K extends keyof OccupancySensingClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: OccupancySensingClusterAttributes[K]) => void): this;
798
846
  }
799
847
 
800
848
  export interface OnOffClusterAttributes {
@@ -807,6 +855,8 @@ export interface OnOffCluster extends ZCLNodeCluster {
807
855
  readAttributes<K extends 'onOff' | 'onTime' | 'offWaitTime'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<OnOffClusterAttributes, K>>;
808
856
  readAttributes(attributeNames: Array<keyof OnOffClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<OnOffClusterAttributes> & Record<number, unknown>>;
809
857
  writeAttributes(attributes: Partial<OnOffClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
858
+ on<K extends keyof OnOffClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: OnOffClusterAttributes[K]) => void): this;
859
+ once<K extends keyof OnOffClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: OnOffClusterAttributes[K]) => void): this;
810
860
  setOff(opts?: ClusterCommandOptions): Promise<void>;
811
861
  setOn(opts?: ClusterCommandOptions): Promise<void>;
812
862
  toggle(opts?: ClusterCommandOptions): Promise<void>;
@@ -835,6 +885,8 @@ export interface PollControlCluster extends ZCLNodeCluster {
835
885
  readAttributes<K extends 'checkInInterval' | 'longPollInterval' | 'shortPollInterval' | 'fastPollTimeout' | 'checkInIntervalMin' | 'longPollIntervalMin' | 'fastPollTimeoutMax'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<PollControlClusterAttributes, K>>;
836
886
  readAttributes(attributeNames: Array<keyof PollControlClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<PollControlClusterAttributes> & Record<number, unknown>>;
837
887
  writeAttributes(attributes: Partial<PollControlClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
888
+ on<K extends keyof PollControlClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: PollControlClusterAttributes[K]) => void): this;
889
+ once<K extends keyof PollControlClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: PollControlClusterAttributes[K]) => void): this;
838
890
  fastPollStop(opts?: ClusterCommandOptions): Promise<void>;
839
891
  setLongPollInterval(args: { newLongPollInterval: number }, opts?: ClusterCommandOptions): Promise<void>;
840
892
  setShortPollInterval(args: { newShortPollInterval: number }, opts?: ClusterCommandOptions): Promise<void>;
@@ -854,6 +906,8 @@ export interface PowerConfigurationCluster extends ZCLNodeCluster {
854
906
  readAttributes<K extends 'batteryVoltage' | 'batteryPercentageRemaining' | 'batterySize' | 'batteryQuantity' | 'batteryRatedVoltage' | 'batteryVoltageMinThreshold' | 'batteryAlarmState'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<PowerConfigurationClusterAttributes, K>>;
855
907
  readAttributes(attributeNames: Array<keyof PowerConfigurationClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<PowerConfigurationClusterAttributes> & Record<number, unknown>>;
856
908
  writeAttributes(attributes: Partial<PowerConfigurationClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
909
+ on<K extends keyof PowerConfigurationClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: PowerConfigurationClusterAttributes[K]) => void): this;
910
+ once<K extends keyof PowerConfigurationClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: PowerConfigurationClusterAttributes[K]) => void): this;
857
911
  }
858
912
 
859
913
  export interface PowerProfileCluster extends ZCLNodeCluster {
@@ -875,6 +929,8 @@ export interface PressureMeasurementCluster extends ZCLNodeCluster {
875
929
  readAttributes<K extends 'measuredValue' | 'minMeasuredValue' | 'maxMeasuredValue' | 'tolerance' | 'scaledValue' | 'minScaledValue' | 'maxScaledValue' | 'scaledTolerance' | 'scale'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<PressureMeasurementClusterAttributes, K>>;
876
930
  readAttributes(attributeNames: Array<keyof PressureMeasurementClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<PressureMeasurementClusterAttributes> & Record<number, unknown>>;
877
931
  writeAttributes(attributes: Partial<PressureMeasurementClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
932
+ on<K extends keyof PressureMeasurementClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: PressureMeasurementClusterAttributes[K]) => void): this;
933
+ once<K extends keyof PressureMeasurementClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: PressureMeasurementClusterAttributes[K]) => void): this;
878
934
  }
879
935
 
880
936
  export interface PumpConfigurationAndControlCluster extends ZCLNodeCluster {
@@ -891,6 +947,8 @@ export interface RelativeHumidityCluster extends ZCLNodeCluster {
891
947
  readAttributes<K extends 'measuredValue' | 'minMeasuredValue' | 'maxMeasuredValue' | 'tolerance'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<RelativeHumidityClusterAttributes, K>>;
892
948
  readAttributes(attributeNames: Array<keyof RelativeHumidityClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<RelativeHumidityClusterAttributes> & Record<number, unknown>>;
893
949
  writeAttributes(attributes: Partial<RelativeHumidityClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
950
+ on<K extends keyof RelativeHumidityClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: RelativeHumidityClusterAttributes[K]) => void): this;
951
+ once<K extends keyof RelativeHumidityClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: RelativeHumidityClusterAttributes[K]) => void): this;
894
952
  }
895
953
 
896
954
  export interface ScenesCluster extends ZCLNodeCluster {
@@ -909,6 +967,8 @@ export interface TemperatureMeasurementCluster extends ZCLNodeCluster {
909
967
  readAttributes<K extends 'measuredValue' | 'minMeasuredValue' | 'maxMeasuredValue'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<TemperatureMeasurementClusterAttributes, K>>;
910
968
  readAttributes(attributeNames: Array<keyof TemperatureMeasurementClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<TemperatureMeasurementClusterAttributes> & Record<number, unknown>>;
911
969
  writeAttributes(attributes: Partial<TemperatureMeasurementClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
970
+ on<K extends keyof TemperatureMeasurementClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: TemperatureMeasurementClusterAttributes[K]) => void): this;
971
+ once<K extends keyof TemperatureMeasurementClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: TemperatureMeasurementClusterAttributes[K]) => void): this;
912
972
  }
913
973
 
914
974
  export interface ThermostatClusterAttributes {
@@ -941,6 +1001,8 @@ export interface ThermostatCluster extends ZCLNodeCluster {
941
1001
  readAttributes<K extends 'localTemperature' | 'outdoorTemperature' | 'occupancy' | 'absMinHeatSetpointLimit' | 'absMaxHeatSetpointLimit' | 'absMinCoolSetpointLimit' | 'absMaxCoolSetpointLimit' | 'pICoolingDemand' | 'pIHeatingDemand' | 'localTemperatureCalibration' | 'occupiedCoolingSetpoint' | 'occupiedHeatingSetpoint' | 'unoccupiedCoolingSetpoint' | 'unoccupiedHeatingSetpoint' | 'minHeatSetpointLimit' | 'maxHeatSetpointLimit' | 'minCoolSetpointLimit' | 'maxCoolSetpointLimit' | 'minSetpointDeadBand' | 'remoteSensing' | 'controlSequenceOfOperation' | 'systemMode' | 'alarmMask'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<ThermostatClusterAttributes, K>>;
942
1002
  readAttributes(attributeNames: Array<keyof ThermostatClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<ThermostatClusterAttributes> & Record<number, unknown>>;
943
1003
  writeAttributes(attributes: Partial<ThermostatClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
1004
+ on<K extends keyof ThermostatClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: ThermostatClusterAttributes[K]) => void): this;
1005
+ once<K extends keyof ThermostatClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: ThermostatClusterAttributes[K]) => void): this;
944
1006
  setSetpoint(args: { mode: 'heat' | 'cool' | 'both'; amount: number }, opts?: ClusterCommandOptions): Promise<void>;
945
1007
  }
946
1008
 
@@ -978,6 +1040,8 @@ export interface WindowCoveringCluster extends ZCLNodeCluster {
978
1040
  readAttributes<K extends 'windowCoveringType' | 'physicalClosedLimitLift' | 'physicalClosedLimitTilt' | 'currentPositionLift' | 'currentPositionTilt' | 'numberofActuationsLift' | 'numberofActuationsTilt' | 'configStatus' | 'currentPositionLiftPercentage' | 'currentPositionTiltPercentage' | 'installedOpenLimitLift' | 'installedClosedLimitLift' | 'installedOpenLimitTilt' | 'installedClosedLimitTilt' | 'velocityLift' | 'accelerationTimeLift' | 'decelerationTimeLift' | 'mode' | 'intermediateSetpointsLift' | 'intermediateSetpointsTilt'>(attributeNames: K[], opts?: { timeout?: number }): Promise<Pick<WindowCoveringClusterAttributes, K>>;
979
1041
  readAttributes(attributeNames: Array<keyof WindowCoveringClusterAttributes | number>, opts?: { timeout?: number }): Promise<Partial<WindowCoveringClusterAttributes> & Record<number, unknown>>;
980
1042
  writeAttributes(attributes: Partial<WindowCoveringClusterAttributes>, opts?: { timeout?: number }): Promise<unknown>;
1043
+ on<K extends keyof WindowCoveringClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: WindowCoveringClusterAttributes[K]) => void): this;
1044
+ once<K extends keyof WindowCoveringClusterAttributes & string>(eventName: `attr.${K}`, listener: (value: WindowCoveringClusterAttributes[K]) => void): this;
981
1045
  upOpen(opts?: ClusterCommandOptions): Promise<void>;
982
1046
  downClose(opts?: ClusterCommandOptions): Promise<void>;
983
1047
  stop(opts?: ClusterCommandOptions): Promise<void>;
@@ -1037,6 +1101,118 @@ export interface ClusterRegistry {
1037
1101
  windowCovering?: WindowCoveringCluster;
1038
1102
  }
1039
1103
 
1104
+ /** Cluster type lookup by cluster NAME */
1105
+ export interface ClusterTypeByName {
1106
+ alarms: AlarmsCluster;
1107
+ analogInput: AnalogInputCluster;
1108
+ analogOutput: AnalogOutputCluster;
1109
+ analogValue: AnalogValueCluster;
1110
+ ballastConfiguration: BallastConfigurationCluster;
1111
+ basic: BasicCluster;
1112
+ binaryInput: BinaryInputCluster;
1113
+ binaryOutput: BinaryOutputCluster;
1114
+ binaryValue: BinaryValueCluster;
1115
+ colorControl: ColorControlCluster;
1116
+ dehumidificationControl: DehumidificationControlCluster;
1117
+ deviceTemperature: DeviceTemperatureCluster;
1118
+ diagnostics: DiagnosticsCluster;
1119
+ doorLock: DoorLockCluster;
1120
+ electricalMeasurement: ElectricalMeasurementCluster;
1121
+ fanControl: FanControlCluster;
1122
+ flowMeasurement: FlowMeasurementCluster;
1123
+ groups: GroupsCluster;
1124
+ iasACE: IASACECluster;
1125
+ iasWD: IASWDCluster;
1126
+ iasZone: IASZoneCluster;
1127
+ identify: IdentifyCluster;
1128
+ illuminanceLevelSensing: IlluminanceLevelSensingCluster;
1129
+ illuminanceMeasurement: IlluminanceMeasurementCluster;
1130
+ levelControl: LevelControlCluster;
1131
+ metering: MeteringCluster;
1132
+ multistateInput: MultistateInputCluster;
1133
+ multistateOutput: MultistateOutputCluster;
1134
+ multistateValue: MultistateValueCluster;
1135
+ occupancySensing: OccupancySensingCluster;
1136
+ onOff: OnOffCluster;
1137
+ onOffSwitch: OnOffSwitchCluster;
1138
+ ota: OTACluster;
1139
+ pollControl: PollControlCluster;
1140
+ powerConfiguration: PowerConfigurationCluster;
1141
+ powerProfile: PowerProfileCluster;
1142
+ pressureMeasurement: PressureMeasurementCluster;
1143
+ pumpConfigurationAndControl: PumpConfigurationAndControlCluster;
1144
+ relativeHumidity: RelativeHumidityCluster;
1145
+ scenes: ScenesCluster;
1146
+ shadeConfiguration: ShadeConfigurationCluster;
1147
+ temperatureMeasurement: TemperatureMeasurementCluster;
1148
+ thermostat: ThermostatCluster;
1149
+ time: TimeCluster;
1150
+ touchlink: TouchLinkCluster;
1151
+ windowCovering: WindowCoveringCluster;
1152
+ }
1153
+
1154
+ /** Cluster attributes lookup by cluster NAME */
1155
+ export interface ClusterAttributesByName {
1156
+ alarms: Record<string, unknown>;
1157
+ analogInput: AnalogInputClusterAttributes;
1158
+ analogOutput: AnalogOutputClusterAttributes;
1159
+ analogValue: AnalogValueClusterAttributes;
1160
+ ballastConfiguration: BallastConfigurationClusterAttributes;
1161
+ basic: BasicClusterAttributes;
1162
+ binaryInput: BinaryInputClusterAttributes;
1163
+ binaryOutput: BinaryOutputClusterAttributes;
1164
+ binaryValue: BinaryValueClusterAttributes;
1165
+ colorControl: ColorControlClusterAttributes;
1166
+ dehumidificationControl: Record<string, unknown>;
1167
+ deviceTemperature: DeviceTemperatureClusterAttributes;
1168
+ diagnostics: Record<string, unknown>;
1169
+ doorLock: DoorLockClusterAttributes;
1170
+ electricalMeasurement: ElectricalMeasurementClusterAttributes;
1171
+ fanControl: Record<string, unknown>;
1172
+ flowMeasurement: FlowMeasurementClusterAttributes;
1173
+ groups: GroupsClusterAttributes;
1174
+ iasACE: Record<string, unknown>;
1175
+ iasWD: Record<string, unknown>;
1176
+ iasZone: IASZoneClusterAttributes;
1177
+ identify: IdentifyClusterAttributes;
1178
+ illuminanceLevelSensing: IlluminanceLevelSensingClusterAttributes;
1179
+ illuminanceMeasurement: IlluminanceMeasurementClusterAttributes;
1180
+ levelControl: LevelControlClusterAttributes;
1181
+ metering: MeteringClusterAttributes;
1182
+ multistateInput: MultistateInputClusterAttributes;
1183
+ multistateOutput: MultistateOutputClusterAttributes;
1184
+ multistateValue: MultistateValueClusterAttributes;
1185
+ occupancySensing: OccupancySensingClusterAttributes;
1186
+ onOff: OnOffClusterAttributes;
1187
+ onOffSwitch: Record<string, unknown>;
1188
+ ota: Record<string, unknown>;
1189
+ pollControl: PollControlClusterAttributes;
1190
+ powerConfiguration: PowerConfigurationClusterAttributes;
1191
+ powerProfile: Record<string, unknown>;
1192
+ pressureMeasurement: PressureMeasurementClusterAttributes;
1193
+ pumpConfigurationAndControl: Record<string, unknown>;
1194
+ relativeHumidity: RelativeHumidityClusterAttributes;
1195
+ scenes: Record<string, unknown>;
1196
+ shadeConfiguration: Record<string, unknown>;
1197
+ temperatureMeasurement: TemperatureMeasurementClusterAttributes;
1198
+ thermostat: ThermostatClusterAttributes;
1199
+ time: Record<string, unknown>;
1200
+ touchlink: Record<string, unknown>;
1201
+ windowCovering: WindowCoveringClusterAttributes;
1202
+ }
1203
+
1204
+ /** Infer a typed cluster interface from a CLUSTER definition object. */
1205
+ export type ClusterTypeFromDefinition<TDef extends { NAME: string; ID: number }> =
1206
+ TDef['NAME'] extends keyof ClusterTypeByName
1207
+ ? ClusterTypeByName[TDef['NAME']]
1208
+ : ZCLNodeCluster;
1209
+
1210
+ /** Infer typed cluster attribute map from a CLUSTER definition object. */
1211
+ export type ClusterAttributesFromDefinition<TDef extends { NAME: string; ID: number }> =
1212
+ TDef['NAME'] extends keyof ClusterAttributesByName
1213
+ ? ClusterAttributesByName[TDef['NAME']]
1214
+ : Record<string, unknown>;
1215
+
1040
1216
  export type ZCLNodeEndpoint = {
1041
1217
  clusters: ClusterRegistry & {
1042
1218
  [clusterName: string]: ZCLNodeCluster | undefined;
@@ -1053,334 +1229,738 @@ export interface ZCLNode {
1053
1229
  ) => Promise<void>;
1054
1230
  }
1055
1231
 
1056
- declare module "zigbee-clusters" {
1057
- export const ZCLNode: {
1058
- new (node: ZCLNodeConstructorInput): ZCLNode;
1059
- };
1060
- export const CLUSTER: {
1061
- [key: string]: { ID: number; NAME: string; ATTRIBUTES: unknown; COMMANDS: unknown };
1062
- };
1063
- export { ZCLNodeCluster };
1064
- export const AlarmsCluster: {
1065
- new (...args: any[]): AlarmsCluster;
1232
+ export const ZCLNode: {
1233
+ new (node: ZCLNodeConstructorInput): ZCLNode;
1234
+ };
1235
+
1236
+ export const CLUSTER: {
1237
+
1238
+ ALARMS: {
1066
1239
  ID: number;
1067
- NAME: string;
1240
+ NAME: 'alarms';
1068
1241
  ATTRIBUTES: unknown;
1069
1242
  COMMANDS: unknown;
1070
1243
  };
1071
- export const AnalogInputCluster: {
1072
- new (...args: any[]): AnalogInputCluster;
1244
+ ANALOG_INPUT: {
1073
1245
  ID: number;
1074
- NAME: string;
1246
+ NAME: 'analogInput';
1075
1247
  ATTRIBUTES: unknown;
1076
1248
  COMMANDS: unknown;
1077
1249
  };
1078
- export const AnalogOutputCluster: {
1079
- new (...args: any[]): AnalogOutputCluster;
1250
+ ANALOG_OUTPUT: {
1080
1251
  ID: number;
1081
- NAME: string;
1252
+ NAME: 'analogOutput';
1082
1253
  ATTRIBUTES: unknown;
1083
1254
  COMMANDS: unknown;
1084
1255
  };
1085
- export const AnalogValueCluster: {
1086
- new (...args: any[]): AnalogValueCluster;
1256
+ ANALOG_VALUE: {
1087
1257
  ID: number;
1088
- NAME: string;
1258
+ NAME: 'analogValue';
1089
1259
  ATTRIBUTES: unknown;
1090
1260
  COMMANDS: unknown;
1091
1261
  };
1092
- export const BallastConfigurationCluster: {
1093
- new (...args: any[]): BallastConfigurationCluster;
1262
+ BALLAST_CONFIGURATION: {
1094
1263
  ID: number;
1095
- NAME: string;
1264
+ NAME: 'ballastConfiguration';
1096
1265
  ATTRIBUTES: unknown;
1097
1266
  COMMANDS: unknown;
1098
1267
  };
1099
- export const BasicCluster: {
1100
- new (...args: any[]): BasicCluster;
1268
+ BASIC: {
1101
1269
  ID: number;
1102
- NAME: string;
1270
+ NAME: 'basic';
1103
1271
  ATTRIBUTES: unknown;
1104
1272
  COMMANDS: unknown;
1105
1273
  };
1106
- export const BinaryInputCluster: {
1107
- new (...args: any[]): BinaryInputCluster;
1274
+ BINARY_INPUT: {
1108
1275
  ID: number;
1109
- NAME: string;
1276
+ NAME: 'binaryInput';
1110
1277
  ATTRIBUTES: unknown;
1111
1278
  COMMANDS: unknown;
1112
1279
  };
1113
- export const BinaryOutputCluster: {
1114
- new (...args: any[]): BinaryOutputCluster;
1280
+ BINARY_OUTPUT: {
1115
1281
  ID: number;
1116
- NAME: string;
1282
+ NAME: 'binaryOutput';
1117
1283
  ATTRIBUTES: unknown;
1118
1284
  COMMANDS: unknown;
1119
1285
  };
1120
- export const BinaryValueCluster: {
1121
- new (...args: any[]): BinaryValueCluster;
1286
+ BINARY_VALUE: {
1122
1287
  ID: number;
1123
- NAME: string;
1288
+ NAME: 'binaryValue';
1124
1289
  ATTRIBUTES: unknown;
1125
1290
  COMMANDS: unknown;
1126
1291
  };
1127
- export const ColorControlCluster: {
1128
- new (...args: any[]): ColorControlCluster;
1292
+ COLOR_CONTROL: {
1129
1293
  ID: number;
1130
- NAME: string;
1294
+ NAME: 'colorControl';
1131
1295
  ATTRIBUTES: unknown;
1132
1296
  COMMANDS: unknown;
1133
1297
  };
1134
- export const DehumidificationControlCluster: {
1135
- new (...args: any[]): DehumidificationControlCluster;
1298
+ DEVICE_TEMPERATURE: {
1136
1299
  ID: number;
1137
- NAME: string;
1300
+ NAME: 'deviceTemperature';
1138
1301
  ATTRIBUTES: unknown;
1139
1302
  COMMANDS: unknown;
1140
1303
  };
1141
- export const DeviceTemperatureCluster: {
1142
- new (...args: any[]): DeviceTemperatureCluster;
1304
+ DIAGNOSTICS: {
1143
1305
  ID: number;
1144
- NAME: string;
1306
+ NAME: 'diagnostics';
1145
1307
  ATTRIBUTES: unknown;
1146
1308
  COMMANDS: unknown;
1147
1309
  };
1148
- export const DiagnosticsCluster: {
1149
- new (...args: any[]): DiagnosticsCluster;
1310
+ DOOR_LOCK: {
1150
1311
  ID: number;
1151
- NAME: string;
1312
+ NAME: 'doorLock';
1152
1313
  ATTRIBUTES: unknown;
1153
1314
  COMMANDS: unknown;
1154
1315
  };
1155
- export const DoorLockCluster: {
1156
- new (...args: any[]): DoorLockCluster;
1316
+ ELECTRICAL_MEASUREMENT: {
1157
1317
  ID: number;
1158
- NAME: string;
1318
+ NAME: 'electricalMeasurement';
1159
1319
  ATTRIBUTES: unknown;
1160
1320
  COMMANDS: unknown;
1161
1321
  };
1162
- export const ElectricalMeasurementCluster: {
1163
- new (...args: any[]): ElectricalMeasurementCluster;
1322
+ FAN_CONTROL: {
1164
1323
  ID: number;
1165
- NAME: string;
1324
+ NAME: 'fanControl';
1166
1325
  ATTRIBUTES: unknown;
1167
1326
  COMMANDS: unknown;
1168
1327
  };
1169
- export const FanControlCluster: {
1170
- new (...args: any[]): FanControlCluster;
1328
+ FLOW_MEASUREMENT: {
1171
1329
  ID: number;
1172
- NAME: string;
1330
+ NAME: 'flowMeasurement';
1173
1331
  ATTRIBUTES: unknown;
1174
1332
  COMMANDS: unknown;
1175
1333
  };
1176
- export const FlowMeasurementCluster: {
1177
- new (...args: any[]): FlowMeasurementCluster;
1334
+ GROUPS: {
1178
1335
  ID: number;
1179
- NAME: string;
1336
+ NAME: 'groups';
1180
1337
  ATTRIBUTES: unknown;
1181
1338
  COMMANDS: unknown;
1182
1339
  };
1183
- export const GroupsCluster: {
1184
- new (...args: any[]): GroupsCluster;
1340
+ IAS_ACE: {
1185
1341
  ID: number;
1186
- NAME: string;
1342
+ NAME: 'iasACE';
1187
1343
  ATTRIBUTES: unknown;
1188
1344
  COMMANDS: unknown;
1189
1345
  };
1190
- export const IASACECluster: {
1191
- new (...args: any[]): IASACECluster;
1346
+ IAS_WD: {
1192
1347
  ID: number;
1193
- NAME: string;
1348
+ NAME: 'iasWD';
1194
1349
  ATTRIBUTES: unknown;
1195
1350
  COMMANDS: unknown;
1196
1351
  };
1197
- export const IASWDCluster: {
1198
- new (...args: any[]): IASWDCluster;
1352
+ IAS_ZONE: {
1199
1353
  ID: number;
1200
- NAME: string;
1354
+ NAME: 'iasZone';
1201
1355
  ATTRIBUTES: unknown;
1202
1356
  COMMANDS: unknown;
1203
1357
  };
1204
- export const IASZoneCluster: {
1205
- new (...args: any[]): IASZoneCluster;
1358
+ IDENTIFY: {
1206
1359
  ID: number;
1207
- NAME: string;
1360
+ NAME: 'identify';
1208
1361
  ATTRIBUTES: unknown;
1209
1362
  COMMANDS: unknown;
1210
1363
  };
1211
- export const IdentifyCluster: {
1212
- new (...args: any[]): IdentifyCluster;
1364
+ ILLUMINANCE_LEVEL_SENSING: {
1213
1365
  ID: number;
1214
- NAME: string;
1366
+ NAME: 'illuminanceLevelSensing';
1215
1367
  ATTRIBUTES: unknown;
1216
1368
  COMMANDS: unknown;
1217
1369
  };
1218
- export const IlluminanceLevelSensingCluster: {
1219
- new (...args: any[]): IlluminanceLevelSensingCluster;
1370
+ ILLUMINANCE_MEASUREMENT: {
1220
1371
  ID: number;
1221
- NAME: string;
1372
+ NAME: 'illuminanceMeasurement';
1222
1373
  ATTRIBUTES: unknown;
1223
1374
  COMMANDS: unknown;
1224
1375
  };
1225
- export const IlluminanceMeasurementCluster: {
1226
- new (...args: any[]): IlluminanceMeasurementCluster;
1376
+ LEVEL_CONTROL: {
1227
1377
  ID: number;
1228
- NAME: string;
1378
+ NAME: 'levelControl';
1229
1379
  ATTRIBUTES: unknown;
1230
1380
  COMMANDS: unknown;
1231
1381
  };
1232
- export const LevelControlCluster: {
1233
- new (...args: any[]): LevelControlCluster;
1382
+ METERING: {
1234
1383
  ID: number;
1235
- NAME: string;
1384
+ NAME: 'metering';
1236
1385
  ATTRIBUTES: unknown;
1237
1386
  COMMANDS: unknown;
1238
1387
  };
1239
- export const MeteringCluster: {
1240
- new (...args: any[]): MeteringCluster;
1388
+ MULTI_STATE_INPUT: {
1241
1389
  ID: number;
1242
- NAME: string;
1390
+ NAME: 'multistateInput';
1243
1391
  ATTRIBUTES: unknown;
1244
1392
  COMMANDS: unknown;
1245
1393
  };
1246
- export const MultistateInputCluster: {
1247
- new (...args: any[]): MultistateInputCluster;
1394
+ MULTI_STATE_OUTPUT: {
1248
1395
  ID: number;
1249
- NAME: string;
1396
+ NAME: 'multistateOutput';
1250
1397
  ATTRIBUTES: unknown;
1251
1398
  COMMANDS: unknown;
1252
1399
  };
1253
- export const MultistateOutputCluster: {
1254
- new (...args: any[]): MultistateOutputCluster;
1400
+ MULTI_STATE_VALUE: {
1255
1401
  ID: number;
1256
- NAME: string;
1402
+ NAME: 'multistateValue';
1257
1403
  ATTRIBUTES: unknown;
1258
1404
  COMMANDS: unknown;
1259
1405
  };
1260
- export const MultistateValueCluster: {
1261
- new (...args: any[]): MultistateValueCluster;
1406
+ OCCUPANCY_SENSING: {
1262
1407
  ID: number;
1263
- NAME: string;
1408
+ NAME: 'occupancySensing';
1264
1409
  ATTRIBUTES: unknown;
1265
1410
  COMMANDS: unknown;
1266
1411
  };
1267
- export const OccupancySensingCluster: {
1268
- new (...args: any[]): OccupancySensingCluster;
1412
+ ON_OFF: {
1269
1413
  ID: number;
1270
- NAME: string;
1414
+ NAME: 'onOff';
1271
1415
  ATTRIBUTES: unknown;
1272
1416
  COMMANDS: unknown;
1273
1417
  };
1274
- export const OnOffCluster: {
1275
- new (...args: any[]): OnOffCluster;
1418
+ ON_OFF_SWITCH: {
1276
1419
  ID: number;
1277
- NAME: string;
1420
+ NAME: 'onOffSwitch';
1278
1421
  ATTRIBUTES: unknown;
1279
1422
  COMMANDS: unknown;
1280
1423
  };
1281
- export const OnOffSwitchCluster: {
1282
- new (...args: any[]): OnOffSwitchCluster;
1424
+ OTA: {
1283
1425
  ID: number;
1284
- NAME: string;
1426
+ NAME: 'ota';
1285
1427
  ATTRIBUTES: unknown;
1286
1428
  COMMANDS: unknown;
1287
1429
  };
1288
- export const OTACluster: {
1289
- new (...args: any[]): OTACluster;
1430
+ POLL_CONTROL: {
1290
1431
  ID: number;
1291
- NAME: string;
1432
+ NAME: 'pollControl';
1292
1433
  ATTRIBUTES: unknown;
1293
1434
  COMMANDS: unknown;
1294
1435
  };
1295
- export const PollControlCluster: {
1296
- new (...args: any[]): PollControlCluster;
1436
+ POWER_CONFIGURATION: {
1297
1437
  ID: number;
1298
- NAME: string;
1438
+ NAME: 'powerConfiguration';
1299
1439
  ATTRIBUTES: unknown;
1300
1440
  COMMANDS: unknown;
1301
1441
  };
1302
- export const PowerConfigurationCluster: {
1303
- new (...args: any[]): PowerConfigurationCluster;
1442
+ POWER_PROFILE: {
1304
1443
  ID: number;
1305
- NAME: string;
1444
+ NAME: 'powerProfile';
1306
1445
  ATTRIBUTES: unknown;
1307
1446
  COMMANDS: unknown;
1308
1447
  };
1309
- export const PowerProfileCluster: {
1310
- new (...args: any[]): PowerProfileCluster;
1448
+ PRESSURE_MEASUREMENT: {
1311
1449
  ID: number;
1312
- NAME: string;
1450
+ NAME: 'pressureMeasurement';
1313
1451
  ATTRIBUTES: unknown;
1314
1452
  COMMANDS: unknown;
1315
1453
  };
1316
- export const PressureMeasurementCluster: {
1317
- new (...args: any[]): PressureMeasurementCluster;
1454
+ PUMP_CONFIGURATION_AND_CONTROL: {
1318
1455
  ID: number;
1319
- NAME: string;
1456
+ NAME: 'pumpConfigurationAndControl';
1320
1457
  ATTRIBUTES: unknown;
1321
1458
  COMMANDS: unknown;
1322
1459
  };
1323
- export const PumpConfigurationAndControlCluster: {
1324
- new (...args: any[]): PumpConfigurationAndControlCluster;
1460
+ RELATIVE_HUMIDITY_MEASUREMENT: {
1325
1461
  ID: number;
1326
- NAME: string;
1462
+ NAME: 'relativeHumidity';
1327
1463
  ATTRIBUTES: unknown;
1328
1464
  COMMANDS: unknown;
1329
1465
  };
1330
- export const RelativeHumidityCluster: {
1331
- new (...args: any[]): RelativeHumidityCluster;
1466
+ SCENES: {
1332
1467
  ID: number;
1333
- NAME: string;
1468
+ NAME: 'scenes';
1334
1469
  ATTRIBUTES: unknown;
1335
1470
  COMMANDS: unknown;
1336
1471
  };
1337
- export const ScenesCluster: {
1338
- new (...args: any[]): ScenesCluster;
1472
+ SHADE_CONFIGURATION: {
1339
1473
  ID: number;
1340
- NAME: string;
1474
+ NAME: 'shadeConfiguration';
1341
1475
  ATTRIBUTES: unknown;
1342
1476
  COMMANDS: unknown;
1343
1477
  };
1344
- export const ShadeConfigurationCluster: {
1345
- new (...args: any[]): ShadeConfigurationCluster;
1478
+ TEMPERATURE_MEASUREMENT: {
1346
1479
  ID: number;
1347
- NAME: string;
1480
+ NAME: 'temperatureMeasurement';
1348
1481
  ATTRIBUTES: unknown;
1349
1482
  COMMANDS: unknown;
1350
1483
  };
1351
- export const TemperatureMeasurementCluster: {
1352
- new (...args: any[]): TemperatureMeasurementCluster;
1484
+ THERMOSTAT: {
1353
1485
  ID: number;
1354
- NAME: string;
1486
+ NAME: 'thermostat';
1355
1487
  ATTRIBUTES: unknown;
1356
1488
  COMMANDS: unknown;
1357
1489
  };
1358
- export const ThermostatCluster: {
1359
- new (...args: any[]): ThermostatCluster;
1490
+ TIME: {
1360
1491
  ID: number;
1361
- NAME: string;
1492
+ NAME: 'time';
1362
1493
  ATTRIBUTES: unknown;
1363
1494
  COMMANDS: unknown;
1364
1495
  };
1365
- export const TimeCluster: {
1366
- new (...args: any[]): TimeCluster;
1496
+ TOUCHLINK: {
1367
1497
  ID: number;
1368
- NAME: string;
1498
+ NAME: 'touchlink';
1369
1499
  ATTRIBUTES: unknown;
1370
1500
  COMMANDS: unknown;
1371
1501
  };
1372
- export const TouchLinkCluster: {
1373
- new (...args: any[]): TouchLinkCluster;
1502
+ WINDOW_COVERING: {
1374
1503
  ID: number;
1375
- NAME: string;
1504
+ NAME: 'windowCovering';
1376
1505
  ATTRIBUTES: unknown;
1377
1506
  COMMANDS: unknown;
1378
1507
  };
1379
- export const WindowCoveringCluster: {
1380
- new (...args: any[]): WindowCoveringCluster;
1381
- ID: number;
1382
- NAME: string;
1383
- ATTRIBUTES: unknown;
1384
- COMMANDS: unknown;
1508
+ };
1509
+ export const AlarmsCluster: {
1510
+ new (...args: any[]): AlarmsCluster;
1511
+ ID: 9;
1512
+ NAME: 'alarms';
1513
+ ATTRIBUTES: unknown;
1514
+ COMMANDS: unknown;
1515
+ };
1516
+ export const AnalogInputCluster: {
1517
+ new (...args: any[]): AnalogInputCluster;
1518
+ ID: 12;
1519
+ NAME: 'analogInput';
1520
+ ATTRIBUTES: unknown;
1521
+ COMMANDS: unknown;
1522
+ };
1523
+ export const AnalogOutputCluster: {
1524
+ new (...args: any[]): AnalogOutputCluster;
1525
+ ID: 13;
1526
+ NAME: 'analogOutput';
1527
+ ATTRIBUTES: unknown;
1528
+ COMMANDS: unknown;
1529
+ };
1530
+ export const AnalogValueCluster: {
1531
+ new (...args: any[]): AnalogValueCluster;
1532
+ ID: 14;
1533
+ NAME: 'analogValue';
1534
+ ATTRIBUTES: unknown;
1535
+ COMMANDS: unknown;
1536
+ };
1537
+ export const BallastConfigurationCluster: {
1538
+ new (...args: any[]): BallastConfigurationCluster;
1539
+ ID: 769;
1540
+ NAME: 'ballastConfiguration';
1541
+ ATTRIBUTES: unknown;
1542
+ COMMANDS: unknown;
1543
+ };
1544
+ export const BasicCluster: {
1545
+ new (...args: any[]): BasicCluster;
1546
+ ID: 0;
1547
+ NAME: 'basic';
1548
+ ATTRIBUTES: unknown;
1549
+ COMMANDS: unknown;
1550
+ };
1551
+ export const BinaryInputCluster: {
1552
+ new (...args: any[]): BinaryInputCluster;
1553
+ ID: 15;
1554
+ NAME: 'binaryInput';
1555
+ ATTRIBUTES: unknown;
1556
+ COMMANDS: unknown;
1557
+ };
1558
+ export const BinaryOutputCluster: {
1559
+ new (...args: any[]): BinaryOutputCluster;
1560
+ ID: 16;
1561
+ NAME: 'binaryOutput';
1562
+ ATTRIBUTES: unknown;
1563
+ COMMANDS: unknown;
1564
+ };
1565
+ export const BinaryValueCluster: {
1566
+ new (...args: any[]): BinaryValueCluster;
1567
+ ID: 17;
1568
+ NAME: 'binaryValue';
1569
+ ATTRIBUTES: unknown;
1570
+ COMMANDS: unknown;
1571
+ };
1572
+ export const ColorControlCluster: {
1573
+ new (...args: any[]): ColorControlCluster;
1574
+ ID: 768;
1575
+ NAME: 'colorControl';
1576
+ ATTRIBUTES: unknown;
1577
+ COMMANDS: unknown;
1578
+ };
1579
+ export const DehumidificationControlCluster: {
1580
+ new (...args: any[]): DehumidificationControlCluster;
1581
+ ID: 515;
1582
+ NAME: 'dehumidificationControl';
1583
+ ATTRIBUTES: unknown;
1584
+ COMMANDS: unknown;
1585
+ };
1586
+ export const DeviceTemperatureCluster: {
1587
+ new (...args: any[]): DeviceTemperatureCluster;
1588
+ ID: 2;
1589
+ NAME: 'deviceTemperature';
1590
+ ATTRIBUTES: unknown;
1591
+ COMMANDS: unknown;
1592
+ };
1593
+ export const DiagnosticsCluster: {
1594
+ new (...args: any[]): DiagnosticsCluster;
1595
+ ID: 2821;
1596
+ NAME: 'diagnostics';
1597
+ ATTRIBUTES: unknown;
1598
+ COMMANDS: unknown;
1599
+ };
1600
+ export const DoorLockCluster: {
1601
+ new (...args: any[]): DoorLockCluster;
1602
+ ID: 257;
1603
+ NAME: 'doorLock';
1604
+ ATTRIBUTES: unknown;
1605
+ COMMANDS: unknown;
1606
+ };
1607
+ export const ElectricalMeasurementCluster: {
1608
+ new (...args: any[]): ElectricalMeasurementCluster;
1609
+ ID: 2820;
1610
+ NAME: 'electricalMeasurement';
1611
+ ATTRIBUTES: unknown;
1612
+ COMMANDS: unknown;
1613
+ };
1614
+ export const FanControlCluster: {
1615
+ new (...args: any[]): FanControlCluster;
1616
+ ID: 514;
1617
+ NAME: 'fanControl';
1618
+ ATTRIBUTES: unknown;
1619
+ COMMANDS: unknown;
1620
+ };
1621
+ export const FlowMeasurementCluster: {
1622
+ new (...args: any[]): FlowMeasurementCluster;
1623
+ ID: 1028;
1624
+ NAME: 'flowMeasurement';
1625
+ ATTRIBUTES: unknown;
1626
+ COMMANDS: unknown;
1627
+ };
1628
+ export const GroupsCluster: {
1629
+ new (...args: any[]): GroupsCluster;
1630
+ ID: 4;
1631
+ NAME: 'groups';
1632
+ ATTRIBUTES: unknown;
1633
+ COMMANDS: unknown;
1634
+ };
1635
+ export const IASACECluster: {
1636
+ new (...args: any[]): IASACECluster;
1637
+ ID: 1281;
1638
+ NAME: 'iasACE';
1639
+ ATTRIBUTES: unknown;
1640
+ COMMANDS: unknown;
1641
+ };
1642
+ export const IASWDCluster: {
1643
+ new (...args: any[]): IASWDCluster;
1644
+ ID: 1282;
1645
+ NAME: 'iasWD';
1646
+ ATTRIBUTES: unknown;
1647
+ COMMANDS: unknown;
1648
+ };
1649
+ export const IASZoneCluster: {
1650
+ new (...args: any[]): IASZoneCluster;
1651
+ ID: 1280;
1652
+ NAME: 'iasZone';
1653
+ ATTRIBUTES: unknown;
1654
+ COMMANDS: unknown;
1655
+ };
1656
+ export const IdentifyCluster: {
1657
+ new (...args: any[]): IdentifyCluster;
1658
+ ID: 3;
1659
+ NAME: 'identify';
1660
+ ATTRIBUTES: unknown;
1661
+ COMMANDS: unknown;
1662
+ };
1663
+ export const IlluminanceLevelSensingCluster: {
1664
+ new (...args: any[]): IlluminanceLevelSensingCluster;
1665
+ ID: 1025;
1666
+ NAME: 'illuminanceLevelSensing';
1667
+ ATTRIBUTES: unknown;
1668
+ COMMANDS: unknown;
1669
+ };
1670
+ export const IlluminanceMeasurementCluster: {
1671
+ new (...args: any[]): IlluminanceMeasurementCluster;
1672
+ ID: 1024;
1673
+ NAME: 'illuminanceMeasurement';
1674
+ ATTRIBUTES: unknown;
1675
+ COMMANDS: unknown;
1676
+ };
1677
+ export const LevelControlCluster: {
1678
+ new (...args: any[]): LevelControlCluster;
1679
+ ID: 8;
1680
+ NAME: 'levelControl';
1681
+ ATTRIBUTES: unknown;
1682
+ COMMANDS: unknown;
1683
+ };
1684
+ export const MeteringCluster: {
1685
+ new (...args: any[]): MeteringCluster;
1686
+ ID: 1794;
1687
+ NAME: 'metering';
1688
+ ATTRIBUTES: unknown;
1689
+ COMMANDS: unknown;
1690
+ };
1691
+ export const MultistateInputCluster: {
1692
+ new (...args: any[]): MultistateInputCluster;
1693
+ ID: 18;
1694
+ NAME: 'multistateInput';
1695
+ ATTRIBUTES: unknown;
1696
+ COMMANDS: unknown;
1697
+ };
1698
+ export const MultistateOutputCluster: {
1699
+ new (...args: any[]): MultistateOutputCluster;
1700
+ ID: 19;
1701
+ NAME: 'multistateOutput';
1702
+ ATTRIBUTES: unknown;
1703
+ COMMANDS: unknown;
1704
+ };
1705
+ export const MultistateValueCluster: {
1706
+ new (...args: any[]): MultistateValueCluster;
1707
+ ID: 20;
1708
+ NAME: 'multistateValue';
1709
+ ATTRIBUTES: unknown;
1710
+ COMMANDS: unknown;
1711
+ };
1712
+ export const OccupancySensingCluster: {
1713
+ new (...args: any[]): OccupancySensingCluster;
1714
+ ID: 1030;
1715
+ NAME: 'occupancySensing';
1716
+ ATTRIBUTES: unknown;
1717
+ COMMANDS: unknown;
1718
+ };
1719
+ export const OnOffCluster: {
1720
+ new (...args: any[]): OnOffCluster;
1721
+ ID: 6;
1722
+ NAME: 'onOff';
1723
+ ATTRIBUTES: unknown;
1724
+ COMMANDS: unknown;
1725
+ };
1726
+ export const OnOffSwitchCluster: {
1727
+ new (...args: any[]): OnOffSwitchCluster;
1728
+ ID: 7;
1729
+ NAME: 'onOffSwitch';
1730
+ ATTRIBUTES: unknown;
1731
+ COMMANDS: unknown;
1732
+ };
1733
+ export const OTACluster: {
1734
+ new (...args: any[]): OTACluster;
1735
+ ID: 25;
1736
+ NAME: 'ota';
1737
+ ATTRIBUTES: unknown;
1738
+ COMMANDS: unknown;
1739
+ };
1740
+ export const PollControlCluster: {
1741
+ new (...args: any[]): PollControlCluster;
1742
+ ID: 32;
1743
+ NAME: 'pollControl';
1744
+ ATTRIBUTES: unknown;
1745
+ COMMANDS: unknown;
1746
+ };
1747
+ export const PowerConfigurationCluster: {
1748
+ new (...args: any[]): PowerConfigurationCluster;
1749
+ ID: 1;
1750
+ NAME: 'powerConfiguration';
1751
+ ATTRIBUTES: unknown;
1752
+ COMMANDS: unknown;
1753
+ };
1754
+ export const PowerProfileCluster: {
1755
+ new (...args: any[]): PowerProfileCluster;
1756
+ ID: 26;
1757
+ NAME: 'powerProfile';
1758
+ ATTRIBUTES: unknown;
1759
+ COMMANDS: unknown;
1760
+ };
1761
+ export const PressureMeasurementCluster: {
1762
+ new (...args: any[]): PressureMeasurementCluster;
1763
+ ID: 1027;
1764
+ NAME: 'pressureMeasurement';
1765
+ ATTRIBUTES: unknown;
1766
+ COMMANDS: unknown;
1767
+ };
1768
+ export const PumpConfigurationAndControlCluster: {
1769
+ new (...args: any[]): PumpConfigurationAndControlCluster;
1770
+ ID: 512;
1771
+ NAME: 'pumpConfigurationAndControl';
1772
+ ATTRIBUTES: unknown;
1773
+ COMMANDS: unknown;
1774
+ };
1775
+ export const RelativeHumidityCluster: {
1776
+ new (...args: any[]): RelativeHumidityCluster;
1777
+ ID: 1029;
1778
+ NAME: 'relativeHumidity';
1779
+ ATTRIBUTES: unknown;
1780
+ COMMANDS: unknown;
1781
+ };
1782
+ export const ScenesCluster: {
1783
+ new (...args: any[]): ScenesCluster;
1784
+ ID: 5;
1785
+ NAME: 'scenes';
1786
+ ATTRIBUTES: unknown;
1787
+ COMMANDS: unknown;
1788
+ };
1789
+ export const ShadeConfigurationCluster: {
1790
+ new (...args: any[]): ShadeConfigurationCluster;
1791
+ ID: 256;
1792
+ NAME: 'shadeConfiguration';
1793
+ ATTRIBUTES: unknown;
1794
+ COMMANDS: unknown;
1795
+ };
1796
+ export const TemperatureMeasurementCluster: {
1797
+ new (...args: any[]): TemperatureMeasurementCluster;
1798
+ ID: 1026;
1799
+ NAME: 'temperatureMeasurement';
1800
+ ATTRIBUTES: unknown;
1801
+ COMMANDS: unknown;
1802
+ };
1803
+ export const ThermostatCluster: {
1804
+ new (...args: any[]): ThermostatCluster;
1805
+ ID: 513;
1806
+ NAME: 'thermostat';
1807
+ ATTRIBUTES: unknown;
1808
+ COMMANDS: unknown;
1809
+ };
1810
+ export const TimeCluster: {
1811
+ new (...args: any[]): TimeCluster;
1812
+ ID: 10;
1813
+ NAME: 'time';
1814
+ ATTRIBUTES: unknown;
1815
+ COMMANDS: unknown;
1816
+ };
1817
+ export const TouchLinkCluster: {
1818
+ new (...args: any[]): TouchLinkCluster;
1819
+ ID: 4096;
1820
+ NAME: 'touchlink';
1821
+ ATTRIBUTES: unknown;
1822
+ COMMANDS: unknown;
1823
+ };
1824
+ export const WindowCoveringCluster: {
1825
+ new (...args: any[]): WindowCoveringCluster;
1826
+ ID: 258;
1827
+ NAME: 'windowCovering';
1828
+ ATTRIBUTES: unknown;
1829
+ COMMANDS: unknown;
1830
+ };
1831
+
1832
+ export const ZIGBEE_PROFILE_ID: {
1833
+ INDUSTRIAL_PLANT_MONITORING: 257;
1834
+ HOME_AUTOMATION: 260;
1835
+ COMMERCIAL_BUILDING_AUTOMATION: 261;
1836
+ TELECOM_APPLICATIONS: 263;
1837
+ PERSONAL_HOME_AND_HOSPITAL_CARE: 264;
1838
+ ADVANCED_METERING_INITIATIVE: 265;
1839
+ };
1840
+
1841
+ export const ZIGBEE_DEVICE_ID: {
1842
+ GENERIC: {
1843
+ ON_OFF_SWITCH: 0;
1844
+ LEVEL_CONTROL_SWITCH: 1;
1845
+ ON_OFF_OUTPUT: 2;
1846
+ LEVEL_CONTROLLABLE_OUTPUT: 3;
1847
+ SCENE_SELECTOR: 4;
1848
+ CONFIGURATION_TOOL: 5;
1849
+ REMOTE_CONTROL: 6;
1850
+ COMBINED_INTERFACE: 7;
1851
+ RANGE_EXTENDER: 8;
1852
+ MAINS_POWER_OUTLET: 9;
1853
+ DOOR_LOCK: 10;
1854
+ DOOR_LOCK_CONTROLLER: 11;
1855
+ SIMPLE_SENSOR: 12;
1856
+ CONSUMPTION_AWARENESS_DEVICE: 13;
1857
+ HOME_GATEWAY: 80;
1858
+ SMART_PLUG: 81;
1859
+ WHITE_GOODS: 82;
1860
+ METER_INTERFACE: 83;
1861
+ };
1862
+ LIGHTING: {
1863
+ ON_OFF_LIGHT: 256;
1864
+ DIMMABLE_LIGHT: 257;
1865
+ COLOR_DIMMABLE_LIGHT: 258;
1866
+ ON_OFF_LIGHT_SWITCH: 259;
1867
+ DIMMER_SWITCH: 260;
1868
+ COLOR_DIMMER_SWITCH: 261;
1869
+ LIGHT_SENSOR: 262;
1870
+ OCCUPANCY_SENSOR: 263;
1385
1871
  };
1386
- }
1872
+ CLOSURES: {
1873
+ SHADE: 512;
1874
+ SHADE_CONTROLLER: 513;
1875
+ WINDOW_COVERING_DEVICE: 514;
1876
+ WINDOW_COVERING_CONTROLLER: 515;
1877
+ };
1878
+ HVAC: {
1879
+ HEATING_COOLING_UNIT: 768;
1880
+ THERMOSTAT: 769;
1881
+ TEMPERATURE_SENSOR: 770;
1882
+ PUMP: 771;
1883
+ PUMP_CONTROLLER: 772;
1884
+ PRESSURE_SENSOR: 773;
1885
+ FLOW_SENSOR: 774;
1886
+ };
1887
+ INTRUDER_ALARM_SYSTEMS: {
1888
+ IAS_CONTROL_INDICATING_EQUIPMENT: 1024;
1889
+ IAS_ANCILLARY_CONTROL_EQUIPMENT: 1025;
1890
+ IAS_ZONE: 1026;
1891
+ IAS_WARNING_DEVICE: 1027;
1892
+ };
1893
+ };
1894
+
1895
+ export const IAS_ZONE_TYPE: {
1896
+ STANDARD_CIE: 0;
1897
+ MOTION_SENSOR: 13;
1898
+ CONTACT_SWITCH: 21;
1899
+ FIRE_SENSOR: 40;
1900
+ WATER_SENSOR: 42;
1901
+ CARBON_MONOXIDE_SENSOR: 43;
1902
+ PERSONAL_EMERGENCY_DEVICE: 44;
1903
+ VIBRATION_MOVEMENT_SENSOR: 45;
1904
+ REMOTE_CONTROL: 271;
1905
+ KEY_FOB: 277;
1906
+ KEYPAD: 541;
1907
+ STANDARD_WARNING_DEVICE: 549;
1908
+ GLASS_BREAK_SENSOR: 550;
1909
+ SECURITY_REPEATER: 553;
1910
+ INVALID_ZONE_TYPE: 65535;
1911
+ };
1912
+
1913
+ declare const _default: {
1914
+ ZCLNode: typeof ZCLNode;
1915
+ CLUSTER: typeof CLUSTER;
1916
+ AlarmsCluster: typeof AlarmsCluster;
1917
+ AnalogInputCluster: typeof AnalogInputCluster;
1918
+ AnalogOutputCluster: typeof AnalogOutputCluster;
1919
+ AnalogValueCluster: typeof AnalogValueCluster;
1920
+ BallastConfigurationCluster: typeof BallastConfigurationCluster;
1921
+ BasicCluster: typeof BasicCluster;
1922
+ BinaryInputCluster: typeof BinaryInputCluster;
1923
+ BinaryOutputCluster: typeof BinaryOutputCluster;
1924
+ BinaryValueCluster: typeof BinaryValueCluster;
1925
+ ColorControlCluster: typeof ColorControlCluster;
1926
+ DehumidificationControlCluster: typeof DehumidificationControlCluster;
1927
+ DeviceTemperatureCluster: typeof DeviceTemperatureCluster;
1928
+ DiagnosticsCluster: typeof DiagnosticsCluster;
1929
+ DoorLockCluster: typeof DoorLockCluster;
1930
+ ElectricalMeasurementCluster: typeof ElectricalMeasurementCluster;
1931
+ FanControlCluster: typeof FanControlCluster;
1932
+ FlowMeasurementCluster: typeof FlowMeasurementCluster;
1933
+ GroupsCluster: typeof GroupsCluster;
1934
+ IASACECluster: typeof IASACECluster;
1935
+ IASWDCluster: typeof IASWDCluster;
1936
+ IASZoneCluster: typeof IASZoneCluster;
1937
+ IdentifyCluster: typeof IdentifyCluster;
1938
+ IlluminanceLevelSensingCluster: typeof IlluminanceLevelSensingCluster;
1939
+ IlluminanceMeasurementCluster: typeof IlluminanceMeasurementCluster;
1940
+ LevelControlCluster: typeof LevelControlCluster;
1941
+ MeteringCluster: typeof MeteringCluster;
1942
+ MultistateInputCluster: typeof MultistateInputCluster;
1943
+ MultistateOutputCluster: typeof MultistateOutputCluster;
1944
+ MultistateValueCluster: typeof MultistateValueCluster;
1945
+ OccupancySensingCluster: typeof OccupancySensingCluster;
1946
+ OnOffCluster: typeof OnOffCluster;
1947
+ OnOffSwitchCluster: typeof OnOffSwitchCluster;
1948
+ OTACluster: typeof OTACluster;
1949
+ PollControlCluster: typeof PollControlCluster;
1950
+ PowerConfigurationCluster: typeof PowerConfigurationCluster;
1951
+ PowerProfileCluster: typeof PowerProfileCluster;
1952
+ PressureMeasurementCluster: typeof PressureMeasurementCluster;
1953
+ PumpConfigurationAndControlCluster: typeof PumpConfigurationAndControlCluster;
1954
+ RelativeHumidityCluster: typeof RelativeHumidityCluster;
1955
+ ScenesCluster: typeof ScenesCluster;
1956
+ ShadeConfigurationCluster: typeof ShadeConfigurationCluster;
1957
+ TemperatureMeasurementCluster: typeof TemperatureMeasurementCluster;
1958
+ ThermostatCluster: typeof ThermostatCluster;
1959
+ TimeCluster: typeof TimeCluster;
1960
+ TouchLinkCluster: typeof TouchLinkCluster;
1961
+ WindowCoveringCluster: typeof WindowCoveringCluster;
1962
+ ZIGBEE_PROFILE_ID: typeof ZIGBEE_PROFILE_ID;
1963
+ ZIGBEE_DEVICE_ID: typeof ZIGBEE_DEVICE_ID;
1964
+ IAS_ZONE_TYPE: typeof IAS_ZONE_TYPE;
1965
+ };
1966
+ export default _default;