UNPKG

zigbee-herdsman

Version:

An open source Zigbee gateway solution with node.js.

1,145 lines 300 kB
import type { Foundation } from "./foundation"; import type { ExtensionFieldSet, Gpd, GpdAttributeReport, GpdChannelConfiguration, GpdChannelRequest, GpdCommissioningReply, GpdCustomReply, Struct, ThermoTransition, TuyaDataPointValue, ZclArray, ZoneInfo } from "./tstype"; export interface TClusters { genBasic: { attributes: { /** ID=0x0000 | type=UINT8 | required=true | max=255 | default=8 */ zclVersion: number; /** ID=0x0001 | type=UINT8 | max=255 | default=0 */ appVersion: number; /** ID=0x0002 | type=UINT8 | max=255 | default=0 */ stackVersion: number; /** ID=0x0003 | type=UINT8 | max=255 | default=0 */ hwVersion: number; /** ID=0x0004 | type=CHAR_STR | default= | maxLen=32 */ manufacturerName: string; /** ID=0x0005 | type=CHAR_STR | default= | maxLen=32 */ modelId: string; /** ID=0x0006 | type=CHAR_STR | default= | maxLen=16 */ dateCode: string; /** ID=0x0007 | type=ENUM8 | required=true | default=255 */ powerSource: number; /** ID=0x0008 | type=ENUM8 | default=255 */ genericDeviceClass: number; /** ID=0x0009 | type=ENUM8 | default=255 */ genericDeviceType: number; /** ID=0x000a | type=OCTET_STR | default= */ productCode: Buffer; /** ID=0x000b | type=CHAR_STR | default= */ productUrl: string; /** ID=0x000c | type=CHAR_STR | default= */ manufacturerVersionDetails: string; /** ID=0x000d | type=CHAR_STR | default= */ serialNumber: string; /** ID=0x000e | type=CHAR_STR | default= */ productLabel: string; /** ID=0x0010 | type=CHAR_STR | write=true | default= | maxLen=16 */ locationDesc: string; /** ID=0x0011 | type=ENUM8 | write=true | default=0 */ physicalEnv: number; /** ID=0x0012 | type=BOOLEAN | write=true | default=1 */ deviceEnabled: number; /** ID=0x0013 | type=BITMAP8 | write=true | default=0 */ alarmMask: number; /** ID=0x0014 | type=BITMAP8 | write=true | default=0 */ disableLocalConfig: number; /** ID=0x4000 | type=CHAR_STR | default= | maxLen=16 */ swBuildId: string; }; commands: { /** ID=0x00 */ resetFactDefault: Record<string, never>; }; commandResponses: never; }; genPowerCfg: { attributes: { /** ID=0x0000 | type=UINT16 | max=65535 */ mainsVoltage: number; /** ID=0x0001 | type=UINT8 | max=255 */ mainsFrequency: number; /** ID=0x0010 | type=BITMAP8 | write=true | default=0 */ mainsAlarmMask: number; /** ID=0x0011 | type=UINT16 | write=true | max=65535 | default=0 */ mainsVoltMinThres: number; /** ID=0x0012 | type=UINT16 | write=true | max=65535 | default=65535 */ mainsVoltMaxThres: number; /** ID=0x0013 | type=UINT16 | write=true | max=65535 | default=0 */ mainsVoltageDwellTripPoint: number; /** ID=0x0020 | type=UINT8 | max=255 */ batteryVoltage: number; /** ID=0x0021 | type=UINT8 | report=true | max=255 | default=0 */ batteryPercentageRemaining: number; /** ID=0x0030 | type=CHAR_STR | write=true | default= | maxLen=16 */ batteryManufacturer: string; /** ID=0x0031 | type=ENUM8 | write=true | default=255 */ batterySize: number; /** ID=0x0032 | type=UINT16 | write=true | max=65535 */ batteryAHrRating: number; /** ID=0x0033 | type=UINT8 | write=true | max=255 */ batteryQuantity: number; /** ID=0x0034 | type=UINT8 | write=true | max=255 */ batteryRatedVoltage: number; /** ID=0x0035 | type=BITMAP8 | write=true | default=0 */ batteryAlarmMask: number; /** ID=0x0036 | type=UINT8 | write=true | max=255 | default=0 */ batteryVoltMinThres: number; /** ID=0x0037 | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ batteryVoltThres1: number; /** ID=0x0038 | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ batteryVoltThres2: number; /** ID=0x0039 | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ batteryVoltThres3: number; /** ID=0x003a | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ batteryPercentMinThres: number; /** ID=0x003b | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ batteryPercentThres1: number; /** ID=0x003c | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ batteryPercentThres2: number; /** ID=0x003d | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ batteryPercentThres3: number; /** ID=0x003e | type=BITMAP32 | report=true | default=0 */ batteryAlarmState: number; /** ID=0x0040 | type=UINT8 | max=255 */ battery2Voltage: number; /** ID=0x0041 | type=UINT8 | report=true | max=255 | default=0 */ battery2PercentageRemaining: number; /** ID=0x0050 | type=CHAR_STR | write=true | default= | maxLen=16 */ battery2Manufacturer: string; /** ID=0x0051 | type=ENUM8 | write=true | default=255 */ battery2Size: number; /** ID=0x0052 | type=UINT16 | write=true | max=65535 */ battery2AHrRating: number; /** ID=0x0053 | type=UINT8 | write=true | max=255 */ battery2Quantity: number; /** ID=0x0054 | type=UINT8 | write=true | max=255 */ battery2RatedVoltage: number; /** ID=0x0055 | type=BITMAP8 | write=true | default=0 */ battery2AlarmMask: number; /** ID=0x0056 | type=UINT8 | write=true | max=255 | default=0 */ battery2VoltageMinThreshold: number; /** ID=0x0057 | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery2VoltageThreshold1: number; /** ID=0x0058 | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery2VoltageThreshold2: number; /** ID=0x0059 | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery2VoltageThreshold3: number; /** ID=0x005a | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery2PercentageMinThreshold: number; /** ID=0x005b | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery2PercentageThreshold1: number; /** ID=0x005c | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery2PercentageThreshold2: number; /** ID=0x005d | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery2PercentageThreshold3: number; /** ID=0x005e | type=BITMAP32 | report=true | default=0 */ battery2AlarmState: number; /** ID=0x0060 | type=UINT8 | max=255 */ battery3Voltage: number; /** ID=0x0061 | type=UINT8 | report=true | max=255 | default=0 */ battery3PercentageRemaining: number; /** ID=0x0070 | type=CHAR_STR | write=true | default= | maxLen=16 */ battery3Manufacturer: string; /** ID=0x0071 | type=ENUM8 | write=true | default=255 */ battery3Size: number; /** ID=0x0072 | type=UINT16 | write=true | max=65535 */ battery3AHrRating: number; /** ID=0x0073 | type=UINT8 | write=true | max=255 */ battery3Quantity: number; /** ID=0x0074 | type=UINT8 | write=true | max=255 */ battery3RatedVoltage: number; /** ID=0x0075 | type=BITMAP8 | write=true | default=0 */ battery3AlarmMask: number; /** ID=0x0076 | type=UINT8 | write=true | max=255 | default=0 */ battery3VoltageMinThreshold: number; /** ID=0x0077 | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery3VoltageThreshold1: number; /** ID=0x0078 | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery3VoltageThreshold2: number; /** ID=0x0079 | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery3VoltageThreshold3: number; /** ID=0x007a | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery3PercentageMinThreshold: number; /** ID=0x007b | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery3PercentageThreshold1: number; /** ID=0x007c | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery3PercentageThreshold2: number; /** ID=0x007d | type=UINT8 | write=true | writeOptional=true | max=255 | default=0 */ battery3PercentageThreshold3: number; /** ID=0x007e | type=BITMAP32 | report=true | default=0 */ battery3AlarmState: number; }; commands: never; commandResponses: never; }; genDeviceTempCfg: { attributes: { /** ID=0x0000 | type=INT16 | required=true | min=-200 | max=200 */ currentTemperature: number; /** ID=0x0001 | type=INT16 | min=-200 | max=200 */ minTempExperienced: number; /** ID=0x0002 | type=INT16 | min=-200 | max=200 */ maxTempExperienced: number; /** ID=0x0003 | type=UINT16 | max=65535 | default=0 */ overTempTotalDwell: number; /** ID=0x0010 | type=BITMAP8 | write=true | default=0 */ devTempAlarmMask: number; /** ID=0x0011 | type=INT16 | write=true | min=-200 | max=200 */ lowTempThres: number; /** ID=0x0012 | type=INT16 | write=true | min=-200 | max=200 */ highTempThres: number; /** ID=0x0013 | type=UINT24 | write=true | max=16777215 */ lowTempDwellTripPoint: number; /** ID=0x0014 | type=UINT24 | write=true | max=16777215 */ highTempDwellTripPoint: number; }; commands: never; commandResponses: never; }; genIdentify: { attributes: { /** ID=0x0000 | type=UINT16 | write=true | required=true | max=65535 | default=0 */ identifyTime: number; }; commands: { /** ID=0x00 | required=true */ identify: { /** type=UINT16 */ identifytime: number; }; /** ID=0x01 | required=true */ identifyQuery: Record<string, never>; /** ID=0x40 */ triggerEffect: { /** type=ENUM8 */ effectid: number; /** type=ENUM8 */ effectvariant: number; }; }; commandResponses: { /** ID=0x00 | required=true */ identifyQueryRsp: { /** type=UINT16 | max=65535 */ timeout: number; }; }; }; genGroups: { attributes: { /** ID=0x0000 | type=BITMAP8 | required=true | default=0 */ nameSupport: number; }; commands: { /** ID=0x00 | response=0 | required=true */ add: { /** type=UINT16 */ groupid: number; /** type=CHAR_STR */ groupname: string; }; /** ID=0x01 | response=1 | required=true */ view: { /** type=UINT16 */ groupid: number; }; /** ID=0x02 | response=2 | required=true */ getMembership: { /** type=UINT8 */ groupcount: number; /** type=LIST_UINT16 */ grouplist: number[]; }; /** ID=0x03 | response=3 | required=true */ remove: { /** type=UINT16 */ groupid: number; }; /** ID=0x04 | required=true */ removeAll: Record<string, never>; /** ID=0x05 | required=true */ addIfIdentifying: { /** type=UINT16 */ groupid: number; /** type=CHAR_STR */ groupname: string; }; }; commandResponses: { /** ID=0x00 | required=true */ addRsp: { /** type=ENUM8 */ status: number; /** type=UINT16 */ groupid: number; }; /** ID=0x01 | required=true */ viewRsp: { /** type=ENUM8 */ status: number; /** type=UINT16 */ groupid: number; /** type=CHAR_STR */ groupname: string; }; /** ID=0x02 | required=true */ getMembershipRsp: { /** type=UINT8 */ capacity: number; /** type=UINT8 */ groupcount: number; /** type=LIST_UINT16 */ grouplist: number[]; }; /** ID=0x03 | required=true */ removeRsp: { /** type=ENUM8 */ status: number; /** type=UINT16 */ groupid: number; }; }; }; genScenes: { attributes: { /** ID=0x0000 | type=UINT8 | required=true | max=255 | default=0 */ count: number; /** ID=0x0001 | type=UINT8 | required=true | max=255 | default=0 */ currentScene: number; /** ID=0x0002 | type=UINT16 | required=true | max=65527 | default=0 */ currentGroup: number; /** ID=0x0003 | type=BOOLEAN | required=true | default=0 */ sceneValid: number; /** ID=0x0004 | type=BITMAP8 | required=true | default=0 */ nameSupport: number; /** ID=0x0005 | type=IEEE_ADDR | special=UnknownOrNotConfigured,ffffffffffffffff */ lastCfgBy: string; }; commands: { /** ID=0x00 | response=0 | required=true */ add: { /** type=UINT16 */ groupid: number; /** type=UINT8 */ sceneid: number; /** type=UINT16 */ transtime: number; /** type=CHAR_STR */ scenename: string; /** type=EXTENSION_FIELD_SETS */ extensionfieldsets: ExtensionFieldSet[]; }; /** ID=0x01 | response=1 | required=true */ view: { /** type=UINT16 */ groupid: number; /** type=UINT8 */ sceneid: number; }; /** ID=0x02 | response=2 | required=true */ remove: { /** type=UINT16 */ groupid: number; /** type=UINT8 */ sceneid: number; }; /** ID=0x03 | response=3 | required=true */ removeAll: { /** type=UINT16 */ groupid: number; }; /** ID=0x04 | response=4 | required=true */ store: { /** type=UINT16 */ groupid: number; /** type=UINT8 */ sceneid: number; }; /** ID=0x05 | required=true */ recall: { /** type=UINT16 */ groupid: number; /** type=UINT8 */ sceneid: number; /** type=UINT16 | conditions=[{minimumRemainingBufferBytes value=2}] */ transitionTime?: number; }; /** ID=0x06 | response=6 | required=true */ getSceneMembership: { /** type=UINT16 */ groupid: number; }; /** ID=0x40 | response=64 */ enhancedAdd: { /** type=UINT16 */ groupid: number; /** type=UINT8 */ sceneid: number; /** type=UINT16 */ transtime: number; /** type=CHAR_STR */ scenename: string; /** type=EXTENSION_FIELD_SETS */ extensionfieldsets: ExtensionFieldSet[]; }; /** ID=0x41 | response=65 */ enhancedView: { /** type=UINT16 */ groupid: number; /** type=UINT8 */ sceneid: number; }; /** ID=0x42 | response=66 */ copy: { /** type=BITMAP8 */ mode: number; /** type=UINT16 */ groupidfrom: number; /** type=UINT8 */ sceneidfrom: number; /** type=UINT16 */ groupidto: number; /** type=UINT8 */ sceneidto: number; }; }; commandResponses: { /** ID=0x00 | required=true */ addRsp: { /** type=ENUM8 */ status: number; /** type=UINT16 */ groupId: number; /** type=UINT8 */ sceneId: number; }; /** ID=0x01 | required=true */ viewRsp: { /** type=ENUM8 */ status: number; /** type=UINT16 */ groupid: number; /** type=UINT8 */ sceneid: number; /** type=UINT16 | conditions=[{fieldEquals field=status value=0}] */ transtime?: number; /** type=CHAR_STR | conditions=[{fieldEquals field=status value=0}] */ scenename?: string; /** type=EXTENSION_FIELD_SETS | conditions=[{fieldEquals field=status value=0}] */ extensionfieldsets?: ExtensionFieldSet[]; }; /** ID=0x02 | required=true */ removeRsp: { /** type=ENUM8 */ status: number; /** type=UINT16 */ groupid: number; /** type=UINT8 */ sceneid: number; }; /** ID=0x03 | required=true */ removeAllRsp: { /** type=ENUM8 */ status: number; /** type=UINT16 */ groupid: number; }; /** ID=0x04 | required=true */ storeRsp: { /** type=ENUM8 */ status: number; /** type=UINT16 */ groupid: number; /** type=UINT8 */ sceneid: number; }; /** ID=0x06 | required=true */ getSceneMembershipRsp: { /** type=ENUM8 */ status: number; /** type=UINT8 | min=0 | max=255 | special=NoFurtherScenesMayBeAdded,00,AtLeastOneFurtherSceneMayBeAdded,fe,Unknown,ff */ capacity: number; /** type=UINT16 */ groupid: number; /** type=UINT8 | conditions=[{fieldEquals field=status value=0}] */ scenecount?: number; /** type=LIST_UINT8 | conditions=[{fieldEquals field=status value=0}] */ scenelist?: number[]; }; /** ID=0x40 */ enhancedAddRsp: { /** type=ENUM8 */ status: number; /** type=UINT16 */ groupId: number; /** type=UINT8 */ sceneId: number; }; /** ID=0x41 */ enhancedViewRsp: { /** type=ENUM8 */ status: number; /** type=UINT16 */ groupid: number; /** type=UINT8 */ sceneid: number; /** type=UINT16 | conditions=[{fieldEquals field=status value=0}] */ transtime?: number; /** type=CHAR_STR | conditions=[{fieldEquals field=status value=0}] */ scenename?: string; /** type=EXTENSION_FIELD_SETS | conditions=[{fieldEquals field=status value=0}] */ extensionfieldsets?: ExtensionFieldSet[]; }; /** ID=0x42 */ copyRsp: { /** type=ENUM8 */ status: number; /** type=UINT16 */ groupidfrom: number; /** type=UINT8 */ sceneidfrom: number; }; }; }; genOnOff: { attributes: { /** ID=0x0000 | type=BOOLEAN | report=true | scene=true | required=true | default=0 */ onOff: number; /** ID=0x4000 | type=BOOLEAN | default=1 */ globalSceneCtrl: number; /** ID=0x4001 | type=UINT16 | write=true | max=65535 | default=0 */ onTime: number; /** ID=0x4002 | type=UINT16 | write=true | max=65535 | default=0 */ offWaitTime: number; /** ID=0x4003 | type=ENUM8 | write=true | max=255 | special=SetToPreviousValue,ff */ startUpOnOff: number; }; commands: { /** ID=0x00 | required=true */ off: Record<string, never>; /** ID=0x01 | required=true */ on: Record<string, never>; /** ID=0x02 | required=true */ toggle: Record<string, never>; /** ID=0x40 */ offWithEffect: { /** type=ENUM8 */ effectid: number; /** type=UINT8 */ effectvariant: number; }; /** ID=0x41 */ onWithRecallGlobalScene: Record<string, never>; /** ID=0x42 */ onWithTimedOff: { /** type=UINT8 */ ctrlbits: number; /** type=UINT16 */ ontime: number; /** type=UINT16 */ offwaittime: number; }; }; commandResponses: never; }; genOnOffSwitchCfg: { attributes: { /** ID=0x0000 | type=ENUM8 | required=true | min=0 | max=2 */ switchType: number; /** ID=0x0010 | type=ENUM8 | required=true | write=true | min=0 | max=2 */ switchActions: number; }; commands: never; commandResponses: never; }; genLevelCtrl: { attributes: { /** ID=0x0000 | type=UINT8 | report=true | scene=true | required=true | default=255 */ currentLevel: number; /** ID=0x0001 | type=UINT16 | max=65535 | default=0 */ remainingTime: number; /** ID=0x0002 | type=UINT8 | default=0 */ minLevel: number; /** ID=0x0003 | type=UINT8 | max=255 | default=255 */ maxLevel: number; /** ID=0x0004 | type=UINT16 | report=true | default=0 */ currentFrequency: number; /** ID=0x0005 | type=UINT16 | default=0 */ minFrequency: number; /** ID=0x0006 | type=UINT16 | max=65535 | default=0 */ maxFrequency: number; /** ID=0x000f | type=BITMAP8 | write=true | default=0 */ options: number; /** ID=0x0010 | type=UINT16 | write=true | max=65535 | default=0 */ onOffTransitionTime: number; /** ID=0x0011 | type=UINT8 | write=true | default=255 */ onLevel: number; /** ID=0x0012 | type=UINT16 | write=true | max=65534 | default=65535 */ onTransitionTime: number; /** ID=0x0013 | type=UINT16 | write=true | max=65534 | default=65535 */ offTransitionTime: number; /** ID=0x0014 | type=UINT8 | write=true | max=254 */ defaultMoveRate: number; /** ID=0x4000 | type=UINT8 | write=true | max=255 | special=MinimumDeviceValuePermitted,00,SetToPreviousValue,ff */ startUpCurrentLevel: number; }; commands: { /** ID=0x00 | required=true */ moveToLevel: { /** type=UINT8 */ level: number; /** type=UINT16 */ transtime: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsMask?: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsOverride?: number; }; /** ID=0x01 | required=true */ move: { /** type=ENUM8 */ movemode: number; /** type=UINT8 */ rate: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsMask?: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsOverride?: number; }; /** ID=0x02 | required=true */ step: { /** type=ENUM8 */ stepmode: number; /** type=UINT8 */ stepsize: number; /** type=UINT16 */ transtime: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsMask?: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsOverride?: number; }; /** ID=0x03 | required=true */ stop: { /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsMask?: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsOverride?: number; }; /** ID=0x04 | required=true */ moveToLevelWithOnOff: { /** type=UINT8 */ level: number; /** type=UINT16 */ transtime: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsMask?: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsOverride?: number; }; /** ID=0x05 | required=true */ moveWithOnOff: { /** type=ENUM8 */ movemode: number; /** type=UINT8 */ rate: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsMask?: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsOverride?: number; }; /** ID=0x06 | required=true */ stepWithOnOff: { /** type=ENUM8 */ stepmode: number; /** type=UINT8 */ stepsize: number; /** type=UINT16 */ transtime: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsMask?: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsOverride?: number; }; /** ID=0x07 | required=true */ stopWithOnOff: { /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsMask?: number; /** type=BITMAP8 | conditions=[{minimumRemainingBufferBytes value=1}] */ optionsOverride?: number; }; /** ID=0x08 */ moveToClosestFrequency: { /** type=UINT16 */ frequency: number; }; }; commandResponses: never; }; genAlarms: { attributes: { /** ID=0x0000 | type=UINT16 | max=65535 | default=0 */ alarmCount: number; }; commands: { /** ID=0x00 | required=true */ reset: { /** type=ENUM8 */ alarmcode: number; /** type=CLUSTER_ID */ clusterid: number; }; /** ID=0x01 | required=true */ resetAll: Record<string, never>; /** ID=0x02 */ getAlarm: Record<string, never>; /** ID=0x03 */ resetLog: Record<string, never>; }; commandResponses: { /** ID=0x00 | required=true */ alarm: { /** type=ENUM8 */ alarmcode: number; /** type=CLUSTER_ID */ clusterid: number; }; /** ID=0x01 */ getRsp: { /** type=ENUM8 */ status: number; /** type=ENUM8 | conditions=[{fieldEquals field=status value=0}] */ alarmcode?: number; /** type=CLUSTER_ID | conditions=[{fieldEquals field=status value=0}] */ clusterid?: number; /** type=UINT32 | conditions=[{fieldEquals field=status value=0}] */ timestamp?: number; }; }; }; genTime: { attributes: { /** ID=0x0000 | type=UTC | write=true | required=true | max=4294967294 | default=4294967295 */ time: number; /** ID=0x0001 | type=BITMAP8 | write=true | required=true | default=0 */ timeStatus: number; /** ID=0x0002 | type=INT32 | write=true | min=-86400 | max=86400 | default=0 */ timeZone: number; /** ID=0x0003 | type=UINT32 | write=true | max=4294967294 | default=4294967295 */ dstStart: number; /** ID=0x0004 | type=UINT32 | write=true | max=4294967294 | default=4294967295 */ dstEnd: number; /** ID=0x0005 | type=INT32 | write=true | min=-86400 | max=86400 | default=0 */ dstShift: number; /** ID=0x0006 | type=UINT32 | max=4294967294 | default=4294967295 */ standardTime: number; /** ID=0x0007 | type=UINT32 | max=4294967294 | default=4294967295 */ localTime: number; /** ID=0x0008 | type=UTC | default=4294967295 */ lastSetTime: number; /** ID=0x0009 | type=UTC | write=true | default=4294967295 */ validUntilTime: number; }; commands: never; commandResponses: never; }; genRssiLocation: { attributes: { /** ID=0x0000 | type=DATA8 | required=true | write=true */ type: number; /** ID=0x0001 | type=ENUM8 | required=true | write=true */ method: number; /** ID=0x0002 | type=UINT16 | max=65535 */ age: number; /** ID=0x0003 | type=UINT8 | max=100 */ qualityMeasure: number; /** ID=0x0004 | type=UINT8 | max=255 */ numOfDevices: number; /** ID=0x0010 | type=INT16 | required=true | write=true | min=-32768 | max=32767 */ coordinate1: number; /** ID=0x0011 | type=INT16 | required=true | write=true | min=-32768 | max=32767 */ coordinate2: number; /** ID=0x0012 | type=INT16 | write=true | min=-32768 | max=32767 */ coordinate3: number; /** ID=0x0013 | type=INT16 | required=true | write=true | min=-32768 | max=32767 */ power: number; /** ID=0x0014 | type=UINT16 | required=true | write=true */ pathLossExponent: number; /** ID=0x0015 | type=UINT16 | write=true | max=65535 */ reportingPeriod: number; /** ID=0x0016 | type=UINT16 | write=true | max=65535 */ calcPeriod: number; /** ID=0x0017 | type=UINT8 | required=true | write=true | min=1 | max=255 */ numRSSIMeasurements: number; }; commands: { /** ID=0x00 | required=true */ setAbsolute: { /** type=INT16 */ coordinate1: number; /** type=INT16 */ coordinate2: number; /** type=INT16 */ coordinate3: number; /** type=INT16 */ power: number; /** type=UINT16 */ pathLossExponent: number; }; /** ID=0x01 | required=true */ setDeviceConfig: { /** type=INT16 */ power: number; /** type=UINT16 */ pathLossExponent: number; /** type=UINT16 */ calcPeriod: number; /** type=UINT8 */ numRssiMeasurements: number; /** type=UINT16 */ reportingPeriod: number; }; /** ID=0x02 | required=true */ getDeviceConfig: { /** type=IEEE_ADDR */ targetAddr: string; }; /** ID=0x03 | required=true */ getLocationData: { /** type=BITMAP8 */ info: number; /** type=UINT8 */ numResponses: number; /** type=IEEE_ADDR | conditions=[{bitMaskSet param=info mask=4 reversed=true}] */ targetAddr?: string; }; /** ID=0x04 */ rssiResponse: { /** type=IEEE_ADDR */ replyingDevice: string; /** type=INT16 */ x: number; /** type=INT16 */ y: number; /** type=INT16 */ z: number; /** type=INT8 */ rssi: number; /** type=UINT8 */ numRssiMeasurements: number; }; /** ID=0x05 */ sendPings: { /** type=IEEE_ADDR */ targetAddr: string; /** type=UINT8 */ numRssiMeasurements: number; /** type=UINT16 */ calcPeriod: number; }; /** ID=0x06 */ anchorNodeAnnounce: { /** type=IEEE_ADDR */ anchorNodeAddr: string; /** type=INT16 */ x: number; /** type=INT16 */ y: number; /** type=INT16 */ z: number; }; }; commandResponses: { /** ID=0x00 | required=true */ deviceConfigResponse: { /** type=ENUM8 */ status: number; /** type=INT16 | conditions=[{fieldEquals field=status value=0}] */ power?: number; /** type=UINT16 | conditions=[{fieldEquals field=status value=0}] */ pathLossExponent?: number; /** type=UINT16 | conditions=[{fieldEquals field=status value=0}] */ calcPeriod?: number; /** type=UINT8 | conditions=[{fieldEquals field=status value=0}] */ numRssiMeasurements?: number; /** type=UINT16 | conditions=[{fieldEquals field=status value=0}] */ reportingPeriod?: number; }; /** ID=0x01 | required=true */ locationDataResponse: { /** type=ENUM8 */ status: number; /** type=DATA8 | conditions=[{fieldEquals field=status value=0}] */ type?: number; /** type=INT16 | conditions=[{fieldEquals field=status value=0}] */ coordinate1?: number; /** type=INT16 | conditions=[{fieldEquals field=status value=0}] */ coordinate2?: number; /** type=INT16 | conditions=[{fieldEquals field=status value=0}] */ coordinate3?: number; /** type=INT16 | conditions=[{fieldEquals field=status value=0}] */ power?: number; /** type=UINT16 | conditions=[{fieldEquals field=status value=0}] */ pathLossExponent?: number; /** type=ENUM8 | conditions=[{fieldEquals field=status value=0}] */ method?: number; /** type=UINT8 | conditions=[{fieldEquals field=status value=0}] */ qualityMeasure?: number; /** type=UINT16 | conditions=[{fieldEquals field=status value=0}] */ age?: number; }; /** ID=0x02 */ locationDataNotification: { /** type=DATA8 */ type: number; /** type=INT16 */ coordinate1: number; /** type=INT16 */ coordinate2: number; /** type=INT16 | conditions=[{bitMaskSet param=type mask=2 reversed=true}] */ coordinate3?: number; /** type=INT16 */ power: number; /** type=UINT16 */ pathLossExponent: number; /** type=ENUM8 | conditions=[{bitMaskSet param=type mask=1 reversed=true}] */ method?: number; /** type=UINT8 | conditions=[{bitMaskSet param=type mask=1 reversed=true}] */ qualityMeasure?: number; /** type=UINT16 | conditions=[{bitMaskSet param=type mask=1 reversed=true}] */ age?: number; }; /** ID=0x03 | required=true */ compactLocationDataNotification: { /** type=DATA8 */ type: number; /** type=INT16 */ coordinate1: number; /** type=INT16 */ coordinate2: number; /** type=INT16 | conditions=[{bitMaskSet param=type mask=2 reversed=true}] */ coordinate3?: number; /** type=UINT8 | conditions=[{bitMaskSet param=type mask=1 reversed=true}] */ qualityMeasure?: number; /** type=UINT16 | conditions=[{bitMaskSet param=type mask=1 reversed=true}] */ age?: number; }; /** ID=0x04 | required=true */ rssiPing: { /** type=DATA8 */ type: number; }; /** ID=0x05 */ rssiRequest: Record<string, never>; /** ID=0x06 */ reportRssiMeasurements: { /** type=IEEE_ADDR */ measuringDeviceAddr: string; /** type=UINT8 */ numNeighbors: number; }; /** ID=0x07 */ requestOwnLocation: { /** type=IEEE_ADDR */ blindNodeAddr: string; }; }; }; genAnalogInput: { attributes: { /** ID=0x001c | type=CHAR_STR | write=true | writeOptional=true | default= */ description: string; /** ID=0x0041 | type=SINGLE_PREC | write=true | writeOptional=true */ maxPresentValue: number; /** ID=0x0045 | type=SINGLE_PREC | write=true | writeOptional=true */ minPresentValue: number; /** ID=0x0051 | type=BOOLEAN | required=true | write=true | writeOptional=true | default=0 */ outOfService: number; /** ID=0x0055 | type=SINGLE_PREC | required=true | write=true | report=true */ presentValue: number; /** ID=0x0067 | type=ENUM8 | write=true | writeOptional=true | default=0 */ reliability: number; /** ID=0x006a | type=SINGLE_PREC | write=true | writeOptional=true */ resolution: number; /** ID=0x006f | type=BITMAP8 | required=true | report=true | max=15 | default=0 */ statusFlags: number; /** ID=0x0075 | type=ENUM16 | write=true | writeOptional=true | max=65535 */ engineeringUnits: number; /** ID=0x0100 | type=UINT32 | max=4294967295 */ applicationType: number; }; commands: never; commandResponses: never; }; genAnalogOutput: { attributes: { /** ID=0x001c | type=CHAR_STR | write=true | writeOptional=true | default= */ description: string; /** ID=0x0041 | type=SINGLE_PREC | write=true | writeOptional=true */ maxPresentValue: number; /** ID=0x0045 | type=SINGLE_PREC | write=true | writeOptional=true */ minPresentValue: number; /** ID=0x0051 | type=BOOLEAN | required=true | write=true | writeOptional=true | default=0 */ outOfService: number; /** ID=0x0055 | type=SINGLE_PREC | required=true | write=true | report=true */ presentValue: number; /** ID=0x0057 | type=ARRAY | write=true */ priorityArray: ZclArray | unknown[]; /** ID=0x0067 | type=ENUM8 | write=true | writeOptional=true | default=0 */ reliability: number; /** ID=0x0068 | type=SINGLE_PREC | write=true | writeOptional=true */ relinquishDefault: number; /** ID=0x006a | type=SINGLE_PREC | write=true | writeOptional=true */ resolution: number; /** ID=0x006f | type=BITMAP8 | required=true | report=true | max=15 | default=0 */ statusFlags: number; /** ID=0x0075 | type=ENUM16 | write=true | writeOptional=true | max=65535 */ engineeringUnits: number; /** ID=0x0100 | type=UINT32 | max=4294967295 */ applicationType: number; }; commands: never; commandResponses: never; }; genAnalogValue: { attributes: { /** ID=0x001c | type=CHAR_STR | write=true | writeOptional=true | default= */ description: string; /** ID=0x0051 | type=BOOLEAN | required=true | write=true | writeOptional=true | default=0 */ outOfService: number; /** ID=0x0055 | type=SINGLE_PREC | required=true | write=true */ presentValue: number; /** ID=0x0057 | type=ARRAY | write=true */ priorityArray: ZclArray | unknown[]; /** ID=0x0067 | type=ENUM8 | write=true | writeOptional=true | default=0 */ reliability: number; /** ID=0x0068 | type=SINGLE_PREC | write=true | writeOptional=true */ relinquishDefault: number; /** ID=0x006f | type=BITMAP8 | required=true | max=15 | default=0 */ statusFlags: number; /** ID=0x0075 | type=ENUM16 | write=true | writeOptional=true | max=65535 */ engineeringUnits: number; /** ID=0x0100 | type=UINT32 | max=4294967295 */ applicationType: number; }; commands: never; commandResponses: never; }; genBinaryInput: { attributes: { /** ID=0x0004 | type=CHAR_STR | write=true | writeOptional=true | default= */ activeText: string; /** ID=0x001c | type=CHAR_STR | write=true | writeOptional=true | default= */ description: string; /** ID=0x002e | type=CHAR_STR | write=true | writeOptional=true | default= */ inactiveText: string; /** ID=0x0051 | type=BOOLEAN | required=true | write=true | writeOptional=true | default=0 */ outOfService: number; /** ID=0x0054 | type=ENUM8 | default=0 */ polarity: number; /** ID=0x0055 | type=BOOLEAN | required=true | write=true | writeOptional=true */ presentValue: number; /** ID=0x0067 | type=ENUM8 | write=true | writeOptional=true | default=0 */ reliability: number; /** ID=0x006f | type=BITMAP8 | required=true | max=15 | default=0 */ statusFlags: number; /** ID=0x0100 | type=UINT32 | max=4294967295 */ applicationType: number; }; commands: never; commandResponses: never; }; genBinaryOutput: { attributes: { /** ID=0x0004 | type=CHAR_STR | write=true | writeOptional=true | default= */ activeText: string; /** ID=0x001c | type=CHAR_STR | write=true | writeOptional=true | default= */ description: string; /** ID=0x002e | type=CHAR_STR | write=true | writeOptional=true | default= */ inactiveText: string; /** ID=0x0042 | type=UINT32 | write=true | writeOptional=true | default=4294967295 */ minimumOffTime: number; /** ID=0x0043 | type=UINT32 | write=true | writeOptional=true | default=4294967295 */ minimumOnTime: number; /** ID=0x0051 | type=BOOLEAN | required=true | writeOptional=true | write=true | default=0 */ outOfService: number; /** ID=0x0054 | type=ENUM8 | default=0 */ polarity: number; /** ID=0x0055 | type=BOOLEAN | required=true | write=true | writeOptional=true */ presentValue: number; /** ID=0x0057 | type=ARRAY | write=true */ priorityArray: ZclArray | unknown[]; /** ID=0x0067 | type=ENUM8 | write=true | writeOptional=true */ reliability: number; /** ID=0x0068 | type=BOOLEAN | write=true | writeOptional=true */ relinquishDefault: number; /** ID=0x006f | type=BITMAP8 | required=true | max=15 | default=0 */ statusFlags: number; /** ID=0x0100 | type=UINT32 | max=4294967295 */ applicationType: number; }; commands: never; commandResponses: never; }; genBinaryValue: { attributes: { /** ID=0x0004 | type=CHAR_STR | write=true | writeOptional=true | default= */ activeText: string; /** ID=0x001c | type=CHAR_STR | write=true | writeOptional=true | default= */ description: string; /** ID=0x002e | type=CHAR_STR | write=true | writeOptional=true | default= */ inactiveText: string; /** ID=0x0042 | type=UINT32 | write=true | writeOptional=true | default=4294967295 */ minimumOffTime: number; /** ID=0x0043 | type=UINT32 | write=true | writeOptional=true | default=4294967295 */ minimumOnTime: number; /** ID=0x0051 | type=BOOLEAN | required=true | writeOptional=true | write=true | default=0 */ outOfService: number; /** ID=0x0055 | type=BOOLEAN | required=true | writeOptional=true | write=true */ presentValue: number; /** ID=0x0057 | type=ARRAY | write=true */ priorityArray: ZclArray | unknown[]; /** ID=0x0067 | type=ENUM8 | write=true | writeOptional=true */ reliability: number; /** ID=0x0068 | type=BOOLEAN | write=true | writeOptional=true */ relinquishDefault: number; /** ID=0x006f | type=BITMAP8 | required=true | max=15 | default=0 */ statusFlags: number; /** ID=0x0100 | type=UINT32 | max=4294967295 */ applicationType: number; }; commands: never; commandResponses: never; }; genMultistateInput: { attributes: { /** ID=0x000e | type=ARRAY | write=true | writeOptional=true */ stateText: ZclArray | unknown[]; /** ID=0x001c | type=CHAR_STR | write=true | writeOptional=true | default= */ description: string; /** ID=0x004a | type=UINT16 | required=true | write=true | writeOptional=true | min=1 | max=65535 | default=0 */ numberOfStates: number; /** ID=0x0051 | type=BOOLEAN | required=true | write=true | writeOptional=true | default=0 */ outOfService: number; /** ID=0x0055 | type=UINT16 | required=true | write=true | writeOptional=true */ presentValue: number; /** ID=0x0067 | type=ENUM8 | write=true | writeOptional=true | default=0 */ reliability: number; /** ID=0x006f | type=BITMAP8 | required=true | max=15 | default=0 */ statusFlags: number; /** ID=0x0100 | type=UINT32 | max=4294967295 */ applicationType: number; }; commands: never; commandResponses: never; }; genMultistateOutput: { attributes: { /** ID=0x000e | type=ARRAY | write=true | writeOptional=true */ stateText: ZclArray | unknown[]; /** ID=0x001c | type=CHAR_STR | write=true | writeOptional=true | default= */ description: string; /** ID=0x004a | type=UINT16 | required=true | write=true | writeOptional=true | min=1 | max=65535 | default=0 */ numberOfStates: number; /** ID=0x0051 | type=BOOLEAN | required=true | write=true | writeOptional=true | default=0 */ outOfService: numbe