zigbee-herdsman
    Preparing search index...
    interface TClusters {
        barrierControl: {
            attributes: {
                barrierPosition: number;
                capabilities: number;
                closeEvents: number;
                closePeriod: number;
                commandCloseEvents: number;
                commandOpenEvents: number;
                movingState: number;
                openEvents: number;
                openPeriod: number;
                safetyStatus: number;
            };
            commandResponses: never;
            commands: {
                goToPercent: { percentOpen: number };
                stop: Record<string, never>;
            };
        };
        closuresDoorLock: {
            attributes: {
                actuatorEnabled: number;
                alarmMask: number;
                autoRelockTime: number;
                defaultConfigurationRegister: number;
                doorClosedEvents: number;
                doorOpenEvents: number;
                doorState: number;
                enableInsideStatusLed: number;
                enableLocalProgramming: number;
                enableLogging: number;
                enableOneTouchLocking: number;
                enablePrivacyModeButton: number;
                keypadOperationEventMask: number;
                keypadProgrammingEventMask: number;
                language: string;
                ledSettings: number;
                lockState: number;
                lockType: number;
                manualOperationEventMask: number;
                maxPinLen: number;
                maxRfidLen: number;
                minPinLen: number;
                minRfidLen: number;
                numOfHolidayScheduledsSupported: number;
                numOfLockRecordsSupported: number;
                numOfPinUsersSupported: number;
                numOfRfidUsersSupported: number;
                numOfTotalUsersSupported: number;
                numOfWeekDaySchedulesSupportedPerUser: number;
                numOfYearDaySchedulesSupportedPerUser: number;
                openPeriod: number;
                operatingMode: number;
                requirePinForRfOperation: number;
                rfidOperationEventMask: number;
                rfidProgrammingEventMask: number;
                rfOperationEventMask: number;
                rfProgrammingEventMask: number;
                sendPinOta: number;
                soundVolume: number;
                userCodeTemporaryDisableTime: number;
                wrongCodeEntryLimit: number;
                zigbeeSecurityLevel: number;
            };
            commandResponses: {
                clearAllPinCodesRsp: { status: number };
                clearAllRfidCodesRsp: { status: number };
                clearHolidayScheduleRsp: { status: number };
                clearPinCodeRsp: { status: number };
                clearRfidCodeRsp: { status: number };
                clearWeekDayScheduleRsp: { status: number };
                clearYearDayScheduleRsp: { status: number };
                getHolidayScheduleRsp: {
                    holidayscheduleid: number;
                    opermodelduringholiday: number;
                    status: number;
                    zigbeelocalendtime: number;
                    zigbeelocalstarttime: number;
                };
                getLogRecordRsp: {
                    eventidalarmcode: number;
                    eventtype: number;
                    logentryid: number;
                    pincodevalue: string;
                    source: number;
                    timestamp: number;
                    userid: number;
                };
                getPinCodeRsp: {
                    pincodevalue: string;
                    userid: number;
                    userstatus: number;
                    usertype: number;
                };
                getRfidCodeRsp: {
                    pincodevalue: string;
                    userid: number;
                    userstatus: number;
                    usertype: number;
                };
                getUserStatusRsp: { userid: number; userstatus: number };
                getUserTypeRsp: { userid: number; usertype: number };
                getWeekDayScheduleRsp: {
                    daysmask: number;
                    endhour: number;
                    endminute: number;
                    scheduleid: number;
                    starthour: number;
                    startminute: number;
                    status: number;
                    userid: number;
                };
                getYearDayScheduleRsp: {
                    scheduleid: number;
                    status: number;
                    userid: number;
                    zigbeelocalendtime: number;
                    zigbeelocalstarttime: number;
                };
                lockDoorRsp: { status: number };
                operationEventNotification: {
                    data: number;
                    opereventcode: number;
                    opereventsrc: number;
                    pin: Buffer;
                    userid: number;
                    zigbeelocaltime: number;
                };
                programmingEventNotification: {
                    data: number;
                    pin: Buffer;
                    programeventcode: number;
                    programeventsrc: number;
                    userid: number;
                    userstatus: number;
                    usertype: number;
                    zigbeelocaltime: number;
                };
                setHolidayScheduleRsp: { status: number };
                setPinCodeRsp: { status: number };
                setRfidCodeRsp: { status: number };
                setUserStatusRsp: { status: number };
                setUserTypeRsp: { status: number };
                setWeekDayScheduleRsp: { status: number };
                setYearDayScheduleRsp: { status: number };
                toggleDoorRsp: { status: number };
                unlockDoorRsp: { status: number };
                unlockWithTimeoutRsp: { status: number };
            };
            commands: {
                clearAllPinCodes: Record<string, never>;
                clearAllRfidCodes: Record<string, never>;
                clearHolidaySchedule: { holidayscheduleid: number };
                clearPinCode: { userid: number };
                clearRfidCode: { userid: number };
                clearWeekDaySchedule: { scheduleid: number; userid: number };
                clearYearDaySchedule: { scheduleid: number; userid: number };
                getHolidaySchedule: { holidayscheduleid: number };
                getLogRecord: { logindex: number };
                getPinCode: { userid: number };
                getRfidCode: { userid: number };
                getUserStatus: { userid: number };
                getUserType: { userid: number };
                getWeekDaySchedule: { scheduleid: number; userid: number };
                getYearDaySchedule: { scheduleid: number; userid: number };
                lockDoor: { pincodevalue: string };
                setHolidaySchedule: {
                    holidayscheduleid: number;
                    opermodelduringholiday: number;
                    zigbeelocalendtime: number;
                    zigbeelocalstarttime: number;
                };
                setPinCode: {
                    pincodevalue: string;
                    userid: number;
                    userstatus: number;
                    usertype: number;
                };
                setRfidCode: {
                    pincodevalue: string;
                    userid: number;
                    userstatus: number;
                    usertype: number;
                };
                setUserStatus: { userid: number; userstatus: number };
                setUserType: { userid: number; usertype: number };
                setWeekDaySchedule: {
                    daysmask: number;
                    endhour: number;
                    endminute: number;
                    scheduleid: number;
                    starthour: number;
                    startminute: number;
                    userid: number;
                };
                setYearDaySchedule: {
                    scheduleid: number;
                    userid: number;
                    zigbeelocalendtime: number;
                    zigbeelocalstarttime: number;
                };
                toggleDoor: { pincodevalue: string };
                unlockDoor: { pincodevalue: string };
                unlockWithTimeout: { pincodevalue: string; timeout: number };
            };
        };
        closuresShadeCfg: {
            attributes: {
                losedLimit: number;
                mode: number;
                motorStepSize: number;
                physicalClosedLimit: number;
                status: number;
            };
            commandResponses: never;
            commands: never;
        };
        closuresWindowCovering: {
            attributes: {
                accelerationTimeLift: number;
                calibrationMode?: number;
                configStatus: number;
                currentPositionLiftCm: number;
                currentPositionLiftPercentage: number;
                currentPositionTiltDdegree: number;
                currentPositionTiltPercentage: number;
                decelerationTimeLift: number;
                elkoDriveCloseDuration?: number;
                elkoLiftDriveDownTime?: number;
                elkoLiftDriveUpTime?: number;
                elkoProtectionSensor?: number;
                elkoProtectionStatus?: number;
                elkoSunProtectionIlluminanceThreshold?: number;
                elkoTiltOpenCloseAndStepTime?: number;
                elkoTiltPositionPercentageAfterMoveToLevel?: number;
                installedClosedLimitLiftCm: number;
                installedClosedLimitTiltDdegree: number;
                installedOpenLimitLiftCm: number;
                installedOpenLimitTiltDdegree: number;
                intermediateSetpointsLift: Buffer;
                intermediateSetpointsTilt: Buffer;
                moesCalibrationTime: number;
                nikoCalibrationTimeDown?: number;
                nikoCalibrationTimeUp?: number;
                numOfActuationsLift: number;
                numOfActuationsTilt: number;
                operationalStatus: number;
                physicalClosedLimitLiftCm: number;
                physicalClosedLimitTiltDdegree: number;
                stepPositionLift?: number;
                stepPositionTilt?: number;
                targetPositionTiltPercentage?: number;
                tuyaCalibration: number;
                tuyaMotorReversal: number;
                tuyaMovingState: number;
                velocityLift: number;
                windowCoveringMode: number;
                windowCoveringType: number;
            };
            commandResponses: never;
            commands: {
                downClose: Record<string, never>;
                elkoStopOrStepLiftPercentage: { direction: number; stepvalue: number };
                goToLiftPercentage: { percentageliftvalue: number };
                goToLiftValue: { liftvalue: number };
                goToTiltPercentage: { percentagetiltvalue: number };
                goToTiltValue: { tiltvalue: number };
                stop: Record<string, never>;
                upOpen: Record<string, never>;
            };
        };
        elkoOccupancySettingClusterServer: {
            attributes: {
                AmbienceLightThreshold: number;
                OccupancyActions: number;
                UnoccupiedLevel: number;
                UnoccupiedLevelDflt: number;
            };
            commandResponses: never;
            commands: never;
        };
        elkoSwitchConfigurationClusterServer: {
            attributes: {
                DownGroupID: number;
                DownSceneID: number;
                SwitchActions: number;
                SwitchIndication: number;
                UpGroupID: number;
                UpSceneID: number;
            };
            commandResponses: never;
            commands: never;
        };
        genAlarms: {
            attributes: { alarmCount: number };
            commandResponses: {
                alarm: { alarmcode: number; clusterid: number };
                getEventLog: Record<string, never>;
                getRsp: {
                    alarmcode: number;
                    clusterid: number;
                    status: number;
                    timestamp: number;
                };
            };
            commands: {
                getAlarm: Record<string, never>;
                publishEventLog: Record<string, never>;
                reset: { alarmcode: number; clusterid: number };
                resetAll: Record<string, never>;
                resetLog: Record<string, never>;
            };
        };
        genAnalogInput: {
            attributes: {
                applicationType: number;
                description: string;
                engineeringUnits: number;
                maxPresentValue: number;
                minPresentValue: number;
                outOfService: number;
                presentValue: number;
                reliability: number;
                resolution: number;
                statusFlags: number;
            };
            commandResponses: never;
            commands: never;
        };
        genAnalogOutput: {
            attributes: {
                applicationType: number;
                description: string;
                engineeringUnits: number;
                maxPresentValue: number;
                minPresentValue: number;
                outOfService: number;
                presentValue: number;
                priorityArray: unknown[]
                | ZclArray;
                reliability: number;
                relinquishDefault: number;
                resolution: number;
                statusFlags: number;
            };
            commandResponses: never;
            commands: never;
        };
        genAnalogValue: {
            attributes: {
                applicationType: number;
                description: string;
                engineeringUnits: number;
                outOfService: number;
                presentValue: number;
                priorityArray: unknown[]
                | ZclArray;
                reliability: number;
                relinquishDefault: number;
                statusFlags: number;
            };
            commandResponses: never;
            commands: never;
        };
        genBasic: {
            attributes: {
                alarmMask: number;
                appProfileVersion: number;
                appVersion: number;
                dateCode: string;
                deviceEnabled: number;
                disableLocalConfig: number;
                genericDeviceType: number;
                hwVersion: number;
                locationDesc: string;
                manufacturerName: string;
                manufacturerVersionDetails: string;
                modelId: string;
                physicalEnv: number;
                powerSource: number;
                productCode: Buffer;
                productLabel: string;
                productUrl: string;
                schneiderMeterRadioPower?: number;
                serialNumber: string;
                stackVersion: number;
                swBuildId: string;
                zclVersion: number;
            };
            commandResponses: never;
            commands: {
                resetFactDefault: Record<string, never>;
                tuyaSetup: Record<string, never>;
            };
        };
        genBinaryInput: {
            attributes: {
                activeText: string;
                applicationType: number;
                description: string;
                inactiveText: string;
                outOfService: number;
                polarity: number;
                presentValue: number;
                reliability: number;
                statusFlags: number;
            };
            commandResponses: never;
            commands: never;
        };
        genBinaryOutput: {
            attributes: {
                activeText: string;
                applicationType: number;
                description: string;
                inactiveText: string;
                minimumOffTime: number;
                minimumOnTime: number;
                outOfService: number;
                polarity: number;
                presentValue: number;
                priorityArray: unknown[]
                | ZclArray;
                reliability: number;
                relinquishDefault: number;
                statusFlags: number;
            };
            commandResponses: never;
            commands: never;
        };
        genBinaryValue: {
            attributes: {
                activeText: string;
                applicationType: number;
                description: string;
                inactiveText: string;
                minimumOffTime: number;
                minimumOnTime: number;
                outOfService: number;
                presentValue: number;
                priorityArray: unknown[]
                | ZclArray;
                reliability: number;
                relinquishDefault: number;
                statusFlags: number;
            };
            commandResponses: never;
            commands: never;
        };
        genCommissioning: {
            attributes: {
                channelmask: number;
                concentratorDiscoveryTime: number;
                concentratorFlag: number;
                concentratorRus: number;
                extendedPANId: string;
                indirectPollRate: number;
                maxRejoinInterval: number;
                networkKey: Buffer;
                networkKeySeqNum: number;
                networkKeyType: number;
                networkManagerress: number;
                panId: number;
                parentRetryThreshold: number;
                preconfiguredLinkKey: Buffer;
                protocolVersion: number;
                rejoinInterval: number;
                scanAttempts: number;
                shortress: number;
                stackProfile: number;
                startupControl: number;
                timeBetweenScans: number;
                trustCenterMasterKey: Buffer;
                trustCenterress: string;
                useInsecureJoin: number;
            };
            commandResponses: {
                resetStartupParamsRsp: { status: number };
                restartDeviceRsp: { status: number };
                restoreStartupParamsRsp: { status: number };
                saveStartupParamsRsp: { status: number };
            };
            commands: {
                resetStartupParams: { index: number; options: number };
                restartDevice: { delay: number; jitter: number; options: number };
                restoreStartupParams: { index: number; options: number };
                saveStartupParams: { index: number; options: number };
            };
        };
        genDeviceTempCfg: {
            attributes: {
                currentTemperature: number;
                devTempAlarmMask: number;
                highTempDwellTripPoint: number;
                highTempThres: number;
                lowTempDwellTripPoint: number;
                lowTempThres: number;
                maxTempExperienced: number;
                minTempExperienced: number;
                overTempTotalDwell: number;
            };
            commandResponses: never;
            commands: never;
        };
        genGroups: {
            attributes: { nameSupport: number };
            commandResponses: {
                addRsp: { groupid: number; status: number };
                getMembershipRsp: {
                    capacity: number;
                    groupcount: number;
                    grouplist: number[];
                };
                removeRsp: { groupid: number; status: number };
                viewRsp: { groupid: number; groupname: string; status: number };
            };
            commands: {
                add: { groupid: number; groupname: string };
                addIfIdentifying: { groupid: number; groupname: string };
                getMembership: { groupcount: number; grouplist: number[] };
                miboxerSetZones: { zones: MiboxerZone[] };
                remove: { groupid: number };
                removeAll: Record<string, never>;
                view: { groupid: number };
            };
        };
        genIdentify: {
            attributes: { identifyCommissionState: never; identifyTime: number };
            commandResponses: { identifyQueryRsp: { timeout: number } };
            commands: {
                ezmodeInvoke: { action: number };
                identify: { identifytime: number };
                identifyQuery: Record<string, never>;
                triggerEffect: { effectid: number; effectvariant: number };
                updateCommissionState: { action: number; commstatemask: number };
            };
        };
        genLevelCtrl: {
            attributes: {
                currentLevel: number;
                defaultMoveRate: number;
                elkoStartUpCurrentLevel?: number;
                maxLevel: number;
                minLevel: number;
                offTransitionTime: number;
                onLevel: number;
                onOffTransitionTime: number;
                onTransitionTime: number;
                options: number;
                remainingTime: number;
                startUpCurrentLevel: number;
            };
            commandResponses: never;
            commands: {
                move: { movemode: number; rate: number };
                moveToLevel: { level: number; transtime: number };
                moveToLevelTuya: { level: number; transtime: number };
                moveToLevelWithOnOff: { level: number; transtime: number };
                moveWithOnOff: { movemode: number; rate: number };
                step: { stepmode: number; stepsize: number; transtime: number };
                stepWithOnOff: { stepmode: number; stepsize: number; transtime: number };
                stop: Record<string, never>;
                stopWithOnOff: Record<string, never>;
            };
        };
        genMultistateInput: {
            attributes: {
                applicationType: number;
                description: string;
                numberOfStates: number;
                outOfService: number;
                presentValue: number;
                reliability: number;
                stateText: unknown[]
                | ZclArray;
                statusFlags: number;
            };
            commandResponses: never;
            commands: never;
        };
        genMultistateOutput: {
            attributes: {
                applicationType: number;
                description: string;
                numberOfStates: number;
                outOfService: number;
                presentValue: number;
                priorityArray: unknown[]
                | ZclArray;
                reliability: number;
                relinquishDefault: number;
                stateText: unknown[] | ZclArray;
                statusFlags: number;
            };
            commandResponses: never;
            commands: never;
        };
        genMultistateValue: {
            attributes: {
                applicationType: number;
                description: string;
                numberOfStates: number;
                outOfService: number;
                presentValue: number;
                priorityArray: unknown[]
                | ZclArray;
                reliability: number;
                relinquishDefault: number;
                stateText: unknown[] | ZclArray;
                statusFlags: number;
            };
            commandResponses: never;
            commands: never;
        };
        genOnOff: {
            attributes: {
                elkoOnTimeReload?: number;
                elkoOnTimeReloadOptions?: number;
                elkoPreWarningTime?: number;
                globalSceneCtrl: number;
                moesStartUpOnOff: number;
                nodonTransitionTime?: number;
                offWaitTime: number;
                onOff: number;
                onTime: number;
                startUpOnOff: number;
                tuyaBacklightMode: number;
                tuyaBacklightSwitch: number;
                tuyaOperationMode: number;
            };
            commandResponses: never;
            commands: {
                off: Record<string, never>;
                offWithEffect: { effectid: number; effectvariant: number };
                on: Record<string, never>;
                onWithRecallGlobalScene: Record<string, never>;
                onWithTimedOff: { ctrlbits: number; offwaittime: number; ontime: number };
                toggle: Record<string, never>;
                tuyaAction: { data: Buffer; value: number };
                tuyaAction2: { value: number };
            };
        };
        genOnOffSwitchCfg: {
            attributes: {
                switchActions: number;
                switchMultiFunction: never;
                switchType: number;
            };
            commandResponses: never;
            commands: never;
        };
        genOta: {
            attributes: {
                currentFileVersion: number;
                currentZigbeeStackVersion: number;
                downloadedFileVersion: number;
                downloadedZigbeeStackVersion: number;
                fileOffset: number;
                imageStamp: number;
                imageTypeId: number;
                imageUpgradeStatus: number;
                manufacturerId: number;
                minimumBlockReqDelay: number;
                upgradeServerId: string;
            };
            commandResponses: {
                imageBlockResponse: {
                    currentTime?: number;
                    data?: Buffer<ArrayBufferLike>;
                    dataSize?: number;
                    fileOffset?: number;
                    fileVersion?: number;
                    imageType?: number;
                    manufacturerCode?: number;
                    minimumBlockPeriod?: number;
                    requestTime?: number;
                    status: number;
                };
                imageNotify: {
                    fileVersion?: number;
                    imageType?: number;
                    manufacturerCode?: number;
                    payloadType: number;
                    queryJitter: number;
                };
                queryDeviceSpecificFileResponse: {
                    fileVersion?: number;
                    imageSize?: number;
                    imageType?: number;
                    manufacturerCode?: number;
                    status: number;
                };
                queryNextImageResponse: {
                    fileVersion?: number;
                    imageSize?: number;
                    imageType?: number;
                    manufacturerCode?: number;
                    status: number;
                };
                upgradeEndResponse: {
                    currentTime: number;
                    fileVersion: number;
                    imageType: number;
                    manufacturerCode: number;
                    upgradeTime: number;
                };
            };
            commands: {
                imageBlockRequest: {
                    fieldControl: number;
                    fileOffset: number;
                    fileVersion: number;
                    imageType: number;
                    manufacturerCode: number;
                    maximumDataSize: number;
                    minimumBlockPeriod?: number;
                    requestNodeIeeeAddress?: string;
                };
                imagePageRequest: {
                    fieldControl: number;
                    fileOffset: number;
                    fileVersion: number;
                    imageType: number;
                    manufacturerCode: number;
                    maximumDataSize: number;
                    pageSize: number;
                    requestNodeIeeeAddress?: string;
                    responseSpacing: number;
                };
                queryDeviceSpecificFileRequest: {
                    eui64: string;
                    fileVersion: number;
                    imageType: number;
                    manufacturerCode: number;
                    zigbeeStackVersion: number;
                };
                queryNextImageRequest: {
                    fieldControl: number;
                    fileVersion: number;
                    hardwareVersion?: number;
                    imageType: number;
                    manufacturerCode: number;
                };
                upgradeEndRequest: {
                    fileVersion: number;
                    imageType: number;
                    manufacturerCode: number;
                    status: number;
                };
            };
        };
        genPollCtrl: {
            attributes: {
                checkinInterval: number;
                checkinIntervalMin: number;
                fastPollTimeout: number;
                fastPollTimeoutMax: number;
                longPollInterval: number;
                longPollIntervalMin: number;
                shortPollInterval: number;
            };
            commandResponses: { checkin: Record<string, never> };
            commands: {
                checkinRsp: { fastPollTimeout: number; startFastPolling: number };
                fastPollStop: Record<string, never>;
                setLongPollInterval: { newLongPollInterval: number };
                setShortPollInterval: { newShortPollInterval: number };
            };
        };
        genPowerCfg: {
            attributes: {
                batteryAHrRating: number;
                batteryAlarmMask: number;
                batteryAlarmState: number;
                batteryManufacturer: string;
                batteryPercentageRemaining: number;
                batteryPercentMinThres: number;
                batteryPercentThres1: number;
                batteryPercentThres2: number;
                batteryPercentThres3: number;
                batteryQuantity: number;
                batteryRatedVoltage: number;
                batterySize: number;
                batteryVoltage: number;
                batteryVoltMinThres: number;
                batteryVoltThres1: number;
                batteryVoltThres2: number;
                batteryVoltThres3: number;
                mainsAlarmMask: number;
                mainsFrequency: number;
                mainsVoltage: number;
                mainsVoltageDwellTripPoint: number;
                mainsVoltMaxThres: number;
                mainsVoltMinThres: number;
            };
            commandResponses: never;
            commands: never;
        };
        genRssiLocation: {
            attributes: {
                age: number;
                calcPeriod: number;
                coordinate1: number;
                coordinate2: number;
                coordinate3: number;
                method: number;
                numOfDevices: number;
                numRSSIMeasurements: number;
                pathLossExponent: number;
                power: number;
                qualityMeasure: number;
                reportingPeriod: number;
                type: number;
            };
            commandResponses: {
                compactLocationDataNotification: {
                    age?: number;
                    coord1: number;
                    coord2: number;
                    coord3?: number;
                    qualityMeasure?: number;
                    type: number;
                };
                deviceConfigResponse: {
                    calcPeriod?: number;
                    numRssiMeasurements?: number;
                    pathLossExponent?: number;
                    power?: number;
                    reportingPeriod?: number;
                    status: number;
                };
                locationDataNotification: {
                    age?: number;
                    coord1: number;
                    coord2: number;
                    coord3?: number;
                    method?: number;
                    pathLossExponent: number;
                    power: number;
                    qualityMeasure?: number;
                    type: number;
                };
                locationDataResponse: {
                    age?: number;
                    coord1?: number;
                    coord2?: number;
                    coord3?: number;
                    method?: number;
                    pathLossExponent?: number;
                    power?: number;
                    qualityMeasure?: number;
                    status: number;
                    type?: number;
                };
                reportRssiMeasurements: {
                    measuringDeviceAddr: string;
                    numNeighbors: number;
                };
                requestOwnLocation: { blindNodeAddr: string };
                rssiPing: { type: number };
                rssiRequest: Record<string, never>;
            };
            commands: {
                anchorNodeAnnounce: {
                    anchorNodeAddr: string;
                    x: number;
                    y: number;
                    z: number;
                };
                getDeviceConfig: { targetAddr: string };
                getLocationData: {
                    info: number;
                    numResponses: number;
                    targetAddr?: string;
                };
                rssiResponse: {
                    numRssiMeasurements: number;
                    replyingDevice: string;
                    rssi: number;
                    x: number;
                    y: number;
                    z: number;
                };
                sendPings: {
                    calcPeriod: number;
                    numRssiMeasurements: number;
                    targetAddr: string;
                };
                setAbsolute: {
                    coord1: number;
                    coord2: number;
                    coord3: number;
                    pathLossExponent: number;
                    power: number;
                };
                setDeviceConfig: {
                    calcPeriod: number;
                    numRssiMeasurements: number;
                    pathLossExponent: number;
                    power: number;
                    reportingPeriod: number;
                };
            };
        };
        genScenes: {
            attributes: {
                count: number;
                currentGroup: number;
                currentScene: number;
                lastCfgBy: string;
                nameSupport: number;
                sceneValid: number;
            };
            commandResponses: {
                addRsp: { groupId: number; sceneId: number; status: number };
                copyRsp: { groupidfrom: number; sceneidfrom: number; status: number };
                enhancedAddRsp: { groupId: number; sceneId: number; status: number };
                enhancedViewRsp: {
                    extensionfieldsets?: ExtensionFieldSet[];
                    groupid: number;
                    sceneid: number;
                    scenename?: string;
                    status: number;
                    transtime?: number;
                };
                getSceneMembershipRsp: {
                    capacity: number;
                    groupid: number;
                    scenecount?: number;
                    scenelist?: number[];
                    status: number;
                };
                removeAllRsp: { groupid: number; status: number };
                removeRsp: { groupid: number; sceneid: number; status: number };
                storeRsp: { groupid: number; sceneid: number; status: number };
                viewRsp: {
                    extensionfieldsets?: ExtensionFieldSet[];
                    groupid: number;
                    sceneid: number;
                    scenename?: string;
                    status: number;
                    transtime?: number;
                };
            };
            commands: {
                add: {
                    extensionfieldsets: ExtensionFieldSet[];
                    groupid: number;
                    sceneid: number;
                    scenename: string;
                    transtime: number;
                };
                copy: {
                    groupidfrom: number;
                    groupidto: number;
                    mode: number;
                    sceneidfrom: number;
                    sceneidto: number;
                };
                enhancedAdd: {
                    extensionfieldsets: ExtensionFieldSet[];
                    groupid: number;
                    sceneid: number;
                    scenename: string;
                    transtime: number;
                };
                enhancedView: { groupid: number; sceneid: number };
                getSceneMembership: { groupid: number };
                recall: { groupid: number; sceneid: number };
                remove: { groupid: number; sceneid: number };
                removeAll: { groupid: number };
                store: { groupid: number; sceneid: number };
                tradfriArrowHold: { value: number };
                tradfriArrowRelease: { value: number };
                tradfriArrowSingle: { value: number; value2: number };
                view: { groupid: number; sceneid: number };
            };
        };
        genTime: {
            attributes: {
                dstEnd: number;
                dstShift: number;
                dstStart: number;
                lastSetTime: number;
                localTime: number;
                standardTime: number;
                time: number;
                timeStatus: number;
                timeZone: number;
                validUntilTime: number;
            };
            commandResponses: never;
            commands: never;
        };
        greenPower: {
            attributes: never;
            commandResponses: {
                commisioningMode: {
                    channel?: number;
                    commisioningWindow?: number;
                    options: number;
                };
                pairing: {
                    assignedAlias?: number;
                    deviceID?: number;
                    frameCounter?: number;
                    gpdEndpoint?: number;
                    gpdIEEEAddr?: string;
                    gpdKey?: Buffer<ArrayBufferLike>;
                    groupcastRadius?: number;
                    options: number;
                    sinkGroupID?: number;
                    sinkIEEEAddr?: string;
                    sinkNwkAddr?: number;
                    srcID?: number;
                };
                response: {
                    gpdCmd: number;
                    gpdEndpoint?: number;
                    gpdIEEEAddr?: string;
                    gpdPayload: | Gpd
                    | GpdChannelRequest
                    | GpdChannelConfiguration
                    | GpdCommissioningReply
                    | GpdCustomReply
                    | GpdAttributeReport
                    | Record<string, never>
                    | { raw: Buffer };
                    options: number;
                    srcID?: number;
                    tempMaster: number;
                    tempMasterTx: number;
                };
            };
            commands: {
                commissioningNotification: {
                    commandFrame?: | Gpd
                    | GpdChannelRequest
                    | GpdChannelConfiguration
                    | GpdCommissioningReply
                    | GpdCustomReply
                    | GpdAttributeReport
                    | Record<string, never>
                    | { raw: Buffer };
                    commandID: number;
                    frameCounter: number;
                    gpdEndpoint?: number;
                    gpdIEEEAddr?: string;
                    gppGpdLink?: number;
                    gppNwkAddr?: number;
                    mic?: number;
                    options: number;
                    payloadSize: number;
                    srcID?: number;
                };
                notification: {
                    commandFrame?: | Gpd
                    | GpdChannelRequest
                    | GpdChannelConfiguration
                    | GpdCommissioningReply
                    | GpdCustomReply
                    | GpdAttributeReport
                    | Record<string, never>
                    | { raw: Buffer };
                    commandID: number;
                    frameCounter: number;
                    gpdEndpoint?: number;
                    gpdIEEEAddr?: string;
                    gppGpdLink?: number;
                    gppNwkAddr?: number;
                    options: number;
                    payloadSize: number;
                    srcID?: number;
                };
            };
        };
        haApplianceEventsAlerts: {
            attributes: never;
            commandResponses: {
                alertsNotification: { aalert: number[]; alertscount: number };
                eventNotification: { eventheader: number; eventid: number };
                getAlertsRsp: { aalert: number[]; alertscount: number };
            };
            commands: { getAlerts: Record<string, never> };
        };
        haApplianceIdentification: {
            attributes: {
                basicIdentification: bigint;
                brandId: number;
                brandName: string;
                cecedSpecificationVersion: number;
                companyId: number;
                companyName: string;
                model: Buffer;
                partNumber: Buffer;
                productRevision: Buffer;
                productTypeId: number;
                productTypeName: Buffer;
                softwareRevision: Buffer;
            };
            commandResponses: never;
            commands: never;
        };
        haApplianceStatistics: {
            attributes: { logMaxSize: number; logQueueMaxSize: number };
            commandResponses: {
                logNotification: {
                    logid: number;
                    loglength: number;
                    logpayload: number[];
                    timestamp: number;
                };
                logQueueRsp: { logid: number[]; logqueuesize: number };
                logRsp: {
                    logid: number;
                    loglength: number;
                    logpayload: number[];
                    timestamp: number;
                };
                statisticsAvailable: { logid: number[]; logqueuesize: number };
            };
            commands: { log: { logid: number }; logQueue: Record<string, never> };
        };
        haDiagnostic: {
            attributes: {
                apsDecryptFailures: number;
                apsFcFailure: number;
                aPSRxBcast: number;
                aPSRxUcast: number;
                aPSTxBcast: number;
                aPSTxUcastFail: number;
                aPSTxUcastRetry: number;
                aPSTxUcastSuccess: number;
                apsUnauthorizedKey: number;
                averageMacRetryPerApsMessageSent: number;
                childMoved: number;
                danfossHeatSupplyRequest?: number;
                danfossIconApplication?: number;
                danfossIconForcedHeatingCooling?: number;
                danfossMultimasterRole?: number;
                danfossSystemStatusCode?: number;
                danfossSystemStatusWater?: number;
                joinIndication: number;
                lastMessageLqi: number;
                lastMessageRssi: number;
                macRxBcast: number;
                macRxUcast: number;
                macTxBcast: number;
                macTxUcast: number;
                macTxUcastFail: number;
                macTxUcastRetry: number;
                neighborAdded: number;
                neighborRemoved: number;
                neighborStale: number;
                numberOfResets: number;
                nwkDecryptFailures: number;
                nwkFcFailure: number;
                packetBufferAllocateFailures: number;
                packetValidateDropCount: number;
                persistentMemoryWrites: number;
                phyToMacQueueLimitReached: number;
                relayedUcast: number;
                routeDiscInitiated: number;
                schneiderCommunicationQuality?: number;
                schneiderDiagnosticRegister1?: number;
                schneiderMeterStatus?: number;
            };
            commandResponses: never;
            commands: never;
        };
        haElectricalMeasurement: {
            attributes: {
                acActivePowerOverload: number;
                acAlarmsMask: number;
                acCurrentDivisor: number;
                acCurrentMultiplier: number;
                acCurrentOverload: number;
                acFrequency: number;
                acFrequencyDivisor: number;
                acFrequencyMax: number;
                acFrequencyMin: number;
                acFrequencyMultiplier: number;
                acPowerDivisor: number;
                acPowerMultiplier: number;
                acReactivePowerOverload: number;
                activeCurrentPhB: number;
                activeCurrentPhC: number;
                activePower: number;
                activePowerMax: number;
                activePowerMaxPhB: number;
                activePowerMaxPhC: number;
                activePowerMin: number;
                activePowerMinPhB: number;
                activePowerMinPhC: number;
                activePowerPhB: number;
                activePowerPhC: number;
                acVoltageDivisor: number;
                acVoltageMultiplier: number;
                acVoltageOverload: number;
                apparentPower: number;
                apparentPowerPhB: number;
                apparentPowerPhC: number;
                averageRmsOverVoltage: number;
                averageRmsOverVoltageCounter: number;
                averageRmsOverVoltageCounterPhB: number;
                averageRmsOverVoltageCounterPhC: number;
                averageRmsUnderVoltage: number;
                averageRmsUnderVoltageCounter: number;
                averageRmsVoltageMeasPeriod: number;
                averageRmsVoltageMeasPeriodPhC: number;
                averageRmsVoltageMeasurePeriodPhB: number;
                averageUnderVoltageCounterPhB: number;
                averageUnderVoltageCounterPhC: number;
                dcCurrent: number;
                dcCurrentDivisor: number;
                dcCurrentMax: number;
                dcCurrentMin: number;
                dcCurrentMultiplier: number;
                dcCurrentOverload: number;
                dcOverloadAlarmsMask: number;
                dcPower: number;
                dcPowerDivisor: number;
                dcPowerMax: number;
                dcPowerMin: number;
                dcPowerMultiplier: number;
                dcVoltage: number;
                dcVoltageDivisor: number;
                dcvoltagemax: number;
                dcVoltageMin: number;
                dcVoltageMultiplier: number;
                dcVoltageOverload: number;
                harmonicCurrentMultiplier: number;
                instantaneousActiveCurrent: number;
                instantaneousLineCurrent: number;
                instantaneousPower: number;
                instantaneousReactiveCurrent: number;
                instantaneousVoltage: number;
                lineCurrentPhB: number;
                lineCurrentPhC: number;
                meas11thHarmonicCurrent: number;
                meas1stHarmonicCurrent: number;
                meas3rdHarmonicCurrent: number;
                meas5thHarmonicCurrent: number;
                meas7thHarmonicCurrent: number;
                meas9thHarmonicCurrent: number;
                measPhase11thHarmonicCurrent: number;
                measPhase1stHarmonicCurrent: number;
                measPhase3rdHarmonicCurrent: number;
                measPhase5thHarmonicCurrent: number;
                measPhase7thHarmonicCurrent: number;
                measPhase9thHarmonicCurrent: number;
                measurementType: number;
                neutralCurrent: number;
                phaseHarmonicCurrentMultiplier: number;
                powerDivisor: number;
                powerFactor: number;
                powerFactorPhB: number;
                powerFactorPhC: number;
                powerMultiplier: number;
                reactiveCurrentPhB: number;
                reactiveCurrentPhC: number;
                reactivePower: number;
                reactivePowerPhB: number;
                reactivePowerPhC: number;
                rmsCurrent: number;
                rmsCurrentMax: number;
                rmsCurrentMaxPhB: number;
                rmsCurrentMaxPhC: number;
                rmsCurrentMin: number;
                rmsCurrentMinPhB: number;
                rmsCurrentMinPhC: number;
                rmsCurrentPhB: number;
                rmsCurrentPhC: number;
                rmsExtremeOverVoltage: number;
                rmsExtremeOverVoltagePeriod: number;
                rmsExtremeOverVoltagePeriodPhB: number;
                rmsExtremeOverVoltagePeriodPhC: number;
                rmsExtremeUnderVoltage: number;
                rmsExtremeUnderVoltagePeriod: number;
                rmsExtremeUnderVoltagePeriodPhB: number;
                rmsExtremeUnderVoltagePeriodPhC: number;
                rmsVoltage: number;
                rmsVoltageMax: number;
                rmsVoltageMaxPhB: number;
                rmsVoltageMaxPhC: number;
                rmsVoltageMin: number;
                rmsVoltageMinPhB: number;
                rmsVoltageMinPhC: number;
                rmsVoltagePhB: number;
                rmsVoltagePhC: number;
                rmsVoltageSag: number;
                rmsVoltageSagPeriod: number;
                rmsVoltageSagPeriodPhB: number;
                rmsVoltageSagPeriodPhC: number;
                rmsVoltageSwell: number;
                rmsVoltageSwellPeriod: number;
                rmsVoltageSwellPeriodPhB: number;
                rmsVoltageSwellPeriodPhC: number;
                schneiderActivePowerDemandPhase1?: number;
                schneiderActivePowerDemandPhase2?: number;
                schneiderActivePowerDemandPhase3?: number;
                schneiderActivePowerDemandTotal?: number;
                schneiderApparentPowerDemandPhase1?: number;
                schneiderApparentPowerDemandPhase2?: number;
                schneiderApparentPowerDemandPhase3?: number;
                schneiderApparentPowerDemandTotal?: number;
                schneiderCurrentSensorMultiplier?: number;
                schneiderDemandDateTime?: number;
                schneiderDemandIntervalDuration?: number;
                schneiderDemandIntervalMaximalCurrentI1?: number;
                schneiderDemandIntervalMaximalCurrentI2?: number;
                schneiderDemandIntervalMaximalCurrentI3?: number;
                schneiderDemandIntervalMinimalVoltageL1?: number;
                schneiderDemandIntervalMinimalVoltageL2?: number;
                schneiderDemandIntervalMinimalVoltageL3?: number;
                schneiderReactivePowerDemandPhase1?: number;
                schneiderReactivePowerDemandPhase2?: number;
                schneiderReactivePowerDemandPhase3?: number;
                schneiderReactivePowerDemandTotal?: number;
                totalActivePower: number;
                totalApparentPower: number;
                totalReactivePower: number;
            };
            commandResponses: {
                getMeasurementProfileRsp: {
                    attrId: number;
                    intervals: number[];
                    numofintervalsdeliv: number;
                    profileintervalperiod: number;
                    starttime: number;
                    status: number;
                };
                getProfileInfoRsp: {
                    listofattr: number[];
                    maxnumofintervals: number;
                    numofattrs: number;
                    profilecount: number;
                    profileintervalperiod: number;
                };
            };
            commands: {
                getMeasurementProfile: {
                    attrId: number;
                    numofuntervals: number;
                    starttime: number;
                };
                getProfileInfo: Record<string, never>;
            };
        };
        haMeterIdentification: {
            attributes: {
                availablePower: number;
                companyName: string;
                customerName: string;
                dataQualityId: number;
                meterTypeId: number;
                model: string;
                partNumber: string;
                pod: string;
                powerThreshold: number;
                productRevision: string;
                softwareRevision: string;
                utilityName: string;
            };
            commandResponses: never;
            commands: never;
        };
        heimanSpecificAirQuality: {
            attributes: {
                alarmEnable: number;
                aqiMeasuredValue: number;
                batteryState: number;
                humidityMeasuredMax: number;
                humidityMeasuredMin: number;
                language: number;
                pm10measuredValue: number;
                temperatureMeasuredMax: number;
                temperatureMeasuredMin: number;
                tvocMeasuredValue: number;
                unitOfMeasure: number;
            };
            commandResponses: never;
            commands: {
                getTime: Record<string, never>;
                setLanguage: { languageCode: number };
                setUnitOfTemperature: { unitsCode: number };
            };
        };
        heimanSpecificInfraRedRemote: {
            attributes: never;
            commandResponses: {
                createIdRsp: { id: number; modelType: number };
                getIdAndKeyCodeListRsp: {
                    learnedDevicesList: number[];
                    packetLength: number;
                    packetNumber: number;
                    packetsTotal: number;
                };
                studyKeyRsp: { id: number; keyCode: number; result: number };
            };
            commands: {
                createId: { modelType: number };
                deleteKey: { id: number; keyCode: number };
                getIdAndKeyCodeList: Record<string, never>;
                sendKey: { id: number; keyCode: number };
                studyKey: { id: number; keyCode: number };
            };
        };
        heimanSpecificScenes: {
            attributes: never;
            commandResponses: never;
            commands: {
                atHome: Record<string, never>;
                cinema: Record<string, never>;
                goOut: Record<string, never>;
                repast: Record<string, never>;
                sleep: Record<string, never>;
            };
        };
        hvacDehumidificationCtrl: {
            attributes: {
                dehumidCooling: number;
                dehumidHysteresis: number;
                dehumidLockout: number;
                dehumidMaxCool: number;
                relativeHumidDisplay: number;
                relativeHumidity: number;
                relativeHumidityMode: number;
                rhDehumidSetpoint: number;
            };
            commandResponses: never;
            commands: never;
        };
        hvacFanCtrl: {
            attributes: { fanMode: number; fanModeSequence: number };
            commandResponses: never;
            commands: never;
        };
        hvacPumpCfgCtrl: {
            attributes: {
                alarmMask: number;
                capacity: number;
                controlMode: number;
                effectiveControlMode: number;
                effectiveOperationMode: number;
                lifetimeEnergyConsumed: number;
                lifetimeRunningHours: number;
                maxCompPressure: number;
                maxConstFlow: number;
                maxConstPressure: number;
                maxConstSpeed: number;
                maxConstTemp: number;
                maxFlow: number;
                maxPressure: number;
                maxSpeed: number;
                minCompPressure: number;
                minConstFlow: number;
                minConstPressure: number;
                minConstSpeed: number;
                minConstTemp: number;
                operationMode: number;
                power: number;
                pumpStatus: number;
                speed: number;
            };
            commandResponses: never;
            commands: never;
        };
        hvacThermostat: {
            attributes: {
                absMaxCoolSetpointLimit: number;
                absMaxHeatSetpointLimit: number;
                absMinCoolSetpointLimit: number;
                absMinHeatSetpointLimit: number;
                acCapacity: number;
                acCapacityFormat: number;
                acCollTemp: number;
                acConpressorType: number;
                acErrorCode: number;
                acLouverPosition: number;
                acRefrigerantType: number;
                acType: number;
                alarmMask: number;
                ctrlSeqeOfOper: number;
                danfossAdaptionRunControl?: number;
                danfossAdaptionRunSettings?: number;
                danfossAdaptionRunStatus?: number;
                danfossAlgorithmScaleFactor?: number;
                danfossDayOfWeek?: number;
                danfossExternalMeasuredRoomSensor?: number;
                danfossFloorMaxSetpoint?: number;
                danfossFloorMinSetpoint?: number;
                danfossHeatAvailable?: number;
                danfossHeatRequired?: number;
                danfossIcon2PreHeat?: number;
                danfossIcon2PreHeatStatus?: number;
                danfossLoadBalancingEnable?: number;
                danfossLoadEstimate?: number;
                danfossLoadRoomMean?: number;
                danfossMountedModeActive?: number;
                danfossMountedModeControl?: number;
                danfossOutputStatus?: number;
                danfossPreheatStatus?: number;
                danfossPreheatTime?: number;
                danfossRadiatorCovered?: number;
                danfossRegulationSetpointOffset?: number;
                danfossRoomFloorSensorMode?: number;
                danfossRoomStatusCode?: number;
                danfossScheduleTypeUsed?: number;
                danfossThermostatOrientation?: number;
                danfossTriggerTime?: number;
                danfossWindowOpenExternal?: number;
                danfossWindowOpenFeatureEnable?: number;
                danfossWindowOpenInternal?: number;
                elkoCalibration: number;
                elkoChildLock: number;
                elkoDateTime: Buffer;
                elkoDisplayText: string;
                elkoExternalTemp: number;
                elkoFrostGuard: number;
                elkoLastMessageId: number;
                elkoLastMessageStatus: number;
                elkoLoad: number;
                elkoMaxFloorTemp: number;
                elkoMeanPower: number;
                elkoNightSwitching: number;
                elkoPowerStatus: number;
                elkoRegulatorMode: number;
                elkoRegulatorTime: number;
                elkoRelayState: number;
                elkoSensor: number;
                elkoVersion: Buffer;
                fourNoksHysteresisHigh?: number;
                fourNoksHysteresisLow?: number;
                localTemp: number;
                localTemperatureCalibration: number;
                maxCoolSetpointLimit: number;
                maxHeatSetpointLimit: number;
                minCoolSetpointLimit: number;
                minHeatSetpointLimit: number;
                minSetpointDeadBand: number;
                numberOfDailyTrans: number;
                numberOfWeeklyTrans: number;
                occupancy: number;
                occupiedCoolingSetpoint: number;
                occupiedHeatingSetpoint: number;
                outdoorTemp: number;
                pICoolingDemand: number;
                pIHeatingDemand: number;
                programingOperMode: number;
                remoteSensing: number;
                runningMode: number;
                runningState: number;
                schneiderWiserSpecific?: number;
                setpointChangeAmount: number;
                setpointChangeSource: number;
                setpointChangeSourceTimeStamp: number;
                SinopeAuxCycleOutput?: number;
                SinopeBacklight?: number;
                SinopeMainCycleOutput?: number;
                SinopeOccupancy?: number;
                startOfWeek: number;
                StelproOutdoorTemp: number;
                StelproSystemMode: number;
                systemMode: number;
                systemTypeConfig: number;
                tempSetpointHold: number;
                tempSetpointHoldDuration: number;
                unoccupiedCoolingSetpoint: number;
                unoccupiedHeatingSetpoint: number;
                viessmannAssemblyMode?: number;
                viessmannWindowOpenForce?: number;
                viessmannWindowOpenInternal?: number;
            };
            commandResponses: {
                getRelayStatusLogRsp: {
                    humidity: number;
                    localtemp: number;
                    relaystatus: number;
                    setpoint: number;
                    timeofday: number;
                    unreadentries: number;
                };
                getWeeklyScheduleRsp: {
                    dayofweek: number;
                    mode: number;
                    numoftrans: number;
                    transitions: ThermoTransition[];
                };
            };
            commands: {
                clearWeeklySchedule: Record<string, never>;
                danfossSetpointCommand: { setpoint: number; setpointType: number };
                getRelayStatusLog: Record<string, never>;
                getWeeklySchedule: { daystoreturn: number; modetoreturn: number };
                plugwiseCalibrateValve: Record<string, never>;
                schneiderWiserThermostatBoost: {
                    command: number;
                    duration: number;
                    enable: number;
                    temperature: number;
                };
                setpointRaiseLower: { amount: number; mode: number };
                setWeeklySchedule: {
                    dayofweek: number;
                    mode: number;
                    numoftrans: number;
                    transitions: ThermoTransition[];
                };
                wiserSmartCalibrateValve: Record<string, never>;
                wiserSmartSetFipMode: {
                    fipmode: number;
                    reserved: number;
                    zonemode: number;
                };
                wiserSmartSetSetpoint: {
                    operatingmode: number;
                    reserved: number;
                    setpoint: number;
                    zonemode: number;
                };
            };
        };
        hvacUserInterfaceCfg: {
            attributes: {
                danfossViewingDirection?: number;
                keypadLockout: number;
                programmingVisibility: number;
                tempDisplayMode: number;
            };
            commandResponses: never;
            commands: never;
        };
        lightingBallastCfg: {
            attributes: {
                ballastFactorAdjustment: number;
                ballastStatus: number;
                elkoControlMode?: number;
                intrinsicBallastFactor: number;
                lampAlarmMode: number;
                lampBurnHours: number;
                lampBurnHoursTripPoint: number;
                lampManufacturer: string;
                lampQuantity: number;
                lampRatedHours: number;
                lampType: string;
                maxLevel: number;
                minLevel: number;
                physicalMaxLevel: number;
                physicalMinLevel: number;
                powerOnFadeTime: number;
                powerOnLevel: number;
                wiserControlMode?: number;
            };
            commandResponses: never;
            commands: never;
        };
        lightingColorCtrl: {
            attributes: {
                colorCapabilities: number;
                colorLoopActive: number;
                colorLoopDirection: number;
                colorLoopStartEnhancedHue: number;
                colorLoopStoredEnhancedHue: number;
                colorLoopTime: number;
                colorMode: number;
                colorPointBIntensity: number;
                colorPointBX: number;
                colorPointBY: number;
                colorPointGIntensity: number;
                colorPointGX: number;
                colorPointGY: number;
                colorPointRIntensity: number;
                colorPointRX: number;
                colorPointRY: number;
                colorTemperature: number;
                colorTempPhysicalMax: number;
                colorTempPhysicalMin: number;
                compensationText: string;
                coupleColorTempToLevelMin: number;
                currentHue: number;
                currentSaturation: number;
                currentX: number;
                currentY: number;
                driftCompensation: number;
                enhancedColorMode: number;
                enhancedCurrentHue: number;
                numPrimaries: number;
                options: number;
                primary1Intensity: number;
                primary1X: number;
                primary1Y: number;
                primary2Intensity: number;
                primary2X: number;
                primary2Y: number;
                primary3Intensity: number;
                primary3X: number;
                primary3Y: number;
                primary4Intensity: number;
                primary4X: number;
                primary4Y: number;
                primary5Intensity: number;
                primary5X: number;
                primary5Y: number;
                primary6Intensity: number;
                primary6X: number;
                primary6Y: number;
                remainingTime: number;
                startUpColorTemperature: number;
                tuyaBrightness: number;
                tuyaRgbMode: number;
                whitePointX: number;
                whitePointY: number;
            };
            commandResponses: never;
            commands: {
                colorLoopSet: {
                    action: number;
                    direction: number;
                    starthue: number;
                    time: number;
                    updateflags: number;
                };
                enhancedMoveHue: { movemode: number; rate: number };
                enhancedMoveToHue: {
                    direction: number;
                    enhancehue: number;
                    transtime: number;
                };
                enhancedMoveToHueAndSaturation: {
                    enhancehue: number;
                    saturation: number;
                    transtime: number;
                };
                enhancedStepHue: {
                    stepmode: number;
                    stepsize: number;
                    transtime: number;
                };
                moveColor: { ratex: number; ratey: number };
                moveColorTemp: {
                    maximum: number;
                    minimum: number;
                    movemode: number;
                    rate: number;
                };
                moveHue: { movemode: number; rate: number };
                moveSaturation: { movemode: number; rate: number };
                moveToColor: { colorx: number; colory: number; transtime: number };
                moveToColorTemp: { colortemp: number; transtime: number };
                moveToHue: { direction: number; hue: number; transtime: number };
                moveToHueAndSaturation: {
                    hue: number;
                    saturation: number;
                    transtime: number;
                };
                moveToSaturation: { saturation: number; transtime: number };
                stepColor: { stepx: number; stepy: number; transtime: number };
                stepColorTemp: {
                    maximum: number;
                    minimum: number;
                    stepmode: number;
                    stepsize: number;
                    transtime: number;
                };
                stepHue: { stepmode: number; stepsize: number; transtime: number };
                stepSaturation: { stepmode: number; stepsize: number; transtime: number };
                stopMoveStep: {
                    action: number;
                    bits: number;
                    bytee: number;
                    direction: number;
                    starthue: number;
                    time: number;
                };
                tuyaDoNotDisturb: { enable: number };
                tuyaMoveToHueAndSaturationBrightness: {
                    brightness: number;
                    hue: number;
                    saturation: number;
                    transtime: number;
                };
                tuyaMoveToHueAndSaturationBrightness2: {
                    brightness: number;
                    hue: number;
                    saturation: number;
                };
                tuyaOnOffTransitionTime: {
                    offTransitionTime: number;
                    onTransitionTime: number;
                    unknown: number;
                };
                tuyaOnStartUp: { data: number[]; mode: number };
                tuyaRgbMode: { enable: number };
                tuyaSetMinimumBrightness: { minimum: number };
            };
        };
        liXeePrivate: {
            attributes: {
                activeEnergyOutD01: number;
                activeEnergyOutD02: number;
                activeEnergyOutD03: number;
                activeEnergyOutD04: number;
                currentDate: string;
                currentIndexTarif: number;
                currentPrice: string;
                currentTarif: string;
                daysNumberCurrentCalendar: number;
                daysNumberNextCalendar: number;
                daysProfileCurrentCalendar: Buffer;
                daysProfileNextCalendar: Buffer;
                drawnVAMaxN1: number;
                drawnVAMaxN1P2: number;
                drawnVAMaxN1P3: number;
                injectedActiveLoadN: number;
                injectedActiveLoadN1: number;
                injectedVA: number;
                injectedVAMaxN: number;
                injectedVAMaxN1: number;
                linkyMode: number;
                message1: string;
                message2: string;
                motDEtat: string;
                presencePotential: number;
                relais: number;
                scheduleHPHC: number;
                startMobilePoint1: number;
                startMobilePoint2: number;
                startMobilePoint3: number;
                startNoticeEJP: number;
                statusRegister: Buffer;
                stopMobilePoint1: number;
                stopMobilePoint2: number;
                stopMobilePoint3: number;
                tomorrowColor: string;
                warnDIR1: number;
                warnDIR2: number;
                warnDIR3: number;
                warnDPS: number;
            };
            commandResponses: never;
            commands: never;
        };
        manuSpecificAmazonWWAH: {
            attributes: {
                clusterRevision: number;
                configurationModeEnabled: number;
                currentDebugReportID: number;
                disableOTADowngrades: number;
                macPollFailureWaitTime: number;
                macRetryCount: number;
                mgmtLeaveWithoutRejoinEnabled: number;
                nwkRetryCount: number;
                otaMaxOfflineDuration: number;
                pendingNetworkUpdateChannel: number;
                pendingNetworkUpdatePANID: number;
                routerCheckInEnabled: number;
                tcSecurityOnNwkKeyRotationEnabled: number;
                touchlinkInterpanEnabled: number;
                wwahAppEventRetryEnabled: number;
                wwahAppEventRetryQueueSize: number;
                wwahBadParentRecoveryEnabled: number;
                wwahParentClassificationEnabled: number;
                wwahRejoinEnabled: number;
            };
            commandResponses: never;
            commands: { clearBindingTable: Record<string, never> };
        };
        manuSpecificAssaDoorLock: {
            attributes: {
                alarmMask: number;
                allCodesLockout: number;
                autoLockTime: number;
                batteryLevel: number;
                insideEscutcheonLED: number;
                language: number;
                lockMode: number;
                numberLogRecordsSupported: number;
                numberPinsSupported: number;
                numberScheduleSlotsPerUser: number;
                oneTouchLocking: number;
                privacyButtonSetting: number;
                shutdownTime: number;
                volume: number;
                wrongCodeAttempts: number;
            };
            commandResponses: {
                getLockStatusRsp: { status: number };
                reflashDataRsp: { status: number };
                reflashRsp: { status: number };
                reflashStatusRsp: { status: number };
            };
            commands: {
                clearAllUserCodes: Record<string, never>;
                configureReporting: Record<string, never>;
                getBasicClusterAttributes: Record<string, never>;
                getBatteryLevel: Record<string, never>;
                getHistory: Record<string, never>;
                getLastUserIdEntered: Record<string, never>;
                getLockStatus: Record<string, never>;
                getLogin: Record<string, never>;
                getMandatoryAttributes: Record<string, never>;
                getReflashLock: Record<string, never>;
                getScheduleSlot: { payload: string };
                getUser: Record<string, never>;
                getUserCodeStatus: Record<string, never>;
                getUsers: Record<string, never>;
                readAttribute: Record<string, never>;
                reflash: { payload: string };
                reflashData: { payload: string };
                reflashStatus: { payload: string };
                setRFLockoutTime: Record<string, never>;
                setScheduleSlot: { payload: string };
                setScheduleSlotStatus: { payload: string };
                setUserCodeStatus: Record<string, never>;
                userAdded: Record<string, never>;
                userCodeClear: { payload: string };
                userCodeGet: { payload: string };
                userCodeSet: { payload: string };
                userDeleted: Record<string, never>;
                writeAttribute: Record<string, never>;
            };
        };
        manuSpecificCentraliteHumidity: {
            attributes: { measuredValue: number };
            commandResponses: never;
            commands: never;
        };
        manuSpecificClusterAduroSmart: {
            attributes: never;
            commandResponses: never;
            commands: { cmd0: Record<string, never> };
        };
        manuSpecificDoorman: {
            attributes: never;
            commandResponses: never;
            commands: {
                armDisarm: { payload: string };
                getConfigurationParameter: { payload: string };
                integrationModeActivation: { payload: string };
                setConfigurationParameter: { payload: string };
            };
        };
        manuSpecificLegrandDevices: {
            attributes: never;
            commandResponses: never;
            commands: never;
        };
        manuSpecificLegrandDevices2: {
            attributes: never;
            commandResponses: never;
            commands: { command0: { data: Buffer } };
        };
        manuSpecificLegrandDevices3: {
            attributes: never;
            commandResponses: never;
            commands: { command0: { data: Buffer } };
        };
        manuSpecificLumi: {
            attributes: {
                airQuality: number;
                curtainCalibrated: number;
                curtainHandOpen: number;
                curtainReverse: number;
                displayUnit: number;
                illuminance: number;
                mode: number;
            };
            commandResponses: never;
            commands: never;
        };
        manuSpecificOsram: {
            attributes: never;
            commandResponses: { saveStartupParamsRsp: Record<string, never> };
            commands: {
                resetStartupParams: Record<string, never>;
                saveStartupParams: Record<string, never>;
            };
        };
        manuSpecificPhilips: {
            attributes: { config: number };
            commandResponses: {
                hueNotification: {
                    button: number;
                    time: number;
                    type: number;
                    unknown1: number;
                    unknown2: number;
                    unknown3: number;
                };
            };
            commands: never;
        };
        manuSpecificPhilips2: {
            attributes: { state: Buffer };
            commandResponses: never;
            commands: { multiColor: { data: Buffer } };
        };
        manuSpecificProfalux1: {
            attributes: { motorCoverType: number };
            commandResponses: never;
            commands: never;
        };
        manuSpecificSamsungAccelerometer: {
            attributes: {
                acceleration: number;
                motion_threshold: number;
                motion_threshold_multiplier: number;
                x_axis: number;
                y_axis: number;
                z_axis: number;
            };
            commandResponses: never;
            commands: never;
        };
        manuSpecificSchneiderFanSwitchConfiguration: {
            attributes: { ledIndication: number; ledOrientation: number };
            commandResponses: never;
            commands: never;
        };
        manuSpecificSchneiderLightSwitchConfiguration: {
            attributes: {
                downGroupID: number;
                downSceneID: number;
                ledIndication: number;
                switchActions: number;
                upGroupID: number;
                upSceneID: number;
            };
            commandResponses: never;
            commands: never;
        };
        manuSpecificSiglisZigfred: {
            attributes: { buttonEvent: number };
            commandResponses: never;
            commands: {
                siglisZigfredButtonEvent: {
                    button: number;
                    duration: number;
                    type: number;
                };
            };
        };
        manuSpecificSinope: {
            attributes: {
                actionReport: number;
                ambiantMaxHeatSetpointLimit: number;
                auxConnectedLoad: number;
                auxOutputMode: number;
                coldLoadPickupStatus: number;
                connectedLoad: number;
                connectedLoadRM: number;
                currentLoad: number;
                currentSetpoint: number;
                currentTimeToDisplay: number;
                dimmerTimmer: number;
                drConfigWaterTempMin: number;
                drConfigWaterTempTime: number;
                drWTTimeOn: number;
                ecoMode: number;
                ecoMode1: number;
                ecoMode2: number;
                firmwareVersion: string;
                floorControlMode: number;
                floorLimitStatus: number;
                floorMaxHeatSetpointLimit: number;
                floorMinHeatSetpointLimit: number;
                floorTemperature: number;
                flowMeterConfig: unknown[]
                | ZclArray;
                GFCiStatus: number;
                keypadLockout: number;
                ledColorOff: number;
                ledColorOn: number;
                ledIntensityOff: number;
                ledIntensityOn: number;
                minimumBrightness: number;
                offLedIntensity: number;
                onLedIntensity: number;
                outdoorTempToDisplay: number;
                outdoorTempToDisplayTimeout: number;
                pumpProtection: number;
                reportLocalTemperature: number;
                roomTemperature: number;
                secondScreenBehavior: number;
                temperatureSensor: number;
                timeFormatToDisplay: number;
                unknown: number;
                unknown1: number;
                unknown2: number;
                unknown3: number;
            };
            commandResponses: never;
            commands: never;
        };
        manuSpecificSmartThingsArrivalSensor: {
            attributes: never;
            commandResponses: { arrivalSensorNotify: Record<string, never> };
            commands: never;
        };
        manuSpecificTuya: {
            attributes: never;
            commandResponses: {
                activeStatusReport: { dpValues: TuyaDataPointValue[]; seq: number };
                activeStatusReportAlt: { dpValues: TuyaDataPointValue[]; seq: number };
                dataReport: { dpValues: TuyaDataPointValue[]; seq: number };
                dataResponse: { dpValues: TuyaDataPointValue[]; seq: number };
                mcuGatewayConnectionStatus: { payloadSize: number };
                mcuOtaBlockDataRequest: {
                    key_hi: number;
                    key_lo: number;
                    offset: number;
                    seq: number;
                    size: number;
                    version: number;
                };
                mcuOtaResult: {
                    key_hi: number;
                    key_lo: number;
                    seq: number;
                    status: number;
                    version: number;
                };
                mcuSyncTime: { payloadSize: number };
                mcuVersionResponse: { seq: number; version: number };
            };
            commands: {
                dataQuery: Record<string, never>;
                dataRequest: { dpValues: TuyaDataPointValue[]; seq: number };
                mcuGatewayConnectionStatus: { payload: number; payloadSize: number };
                mcuOtaBlockDataResponse: {
                    imageData: number[];
                    key_hi: number;
                    key_lo: number;
                    offset: number;
                    seq: number;
                    status: number;
                    version: number;
                };
                mcuOtaNotify: {
                    crc: number;
                    imageSize: number;
                    key_hi: number;
                    key_lo: number;
                    seq: number;
                    version: number;
                };
                mcuSyncTime: { payload: number[]; payloadSize: number };
                mcuVersionRequest: { seq: number };
                sendData: { dpValues: TuyaDataPointValue[]; seq: number };
            };
        };
        manuSpecificTuya2: {
            attributes: {
                alarm_humidity: number;
                alarm_humidity_max: number;
                alarm_humidity_min: number;
                alarm_temperature: number;
                alarm_temperature_max: number;
                alarm_temperature_min: number;
                unknown: number;
            };
            commandResponses: never;
            commands: never;
        };
        manuSpecificTuya3: {
            attributes: {
                powerOnBehavior: number;
                switchMode: number;
                switchType: number;
            };
            commandResponses: never;
            commands: {
                setOptions1: { data: Buffer };
                setOptions2: { data: Buffer };
                setOptions3: { data: Buffer };
            };
        };
        mobileDeviceCfg: {
            attributes: { keepAliveTime: number; rejoinTimeout: number };
            commandResponses: never;
            commands: never;
        };
        msBromate: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msBromodichloromethane: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msBromoform: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msCarbonMonoxide: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msChloramines: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msChlorine: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msChlorodibromomethane: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msChloroform: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msCO2: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                sprutCO2AutoCalibration?: number;
                sprutCO2Calibration?: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msCopper: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msDissolvedOxygen: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msElectricalConductivity: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msEthylene: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msEthyleneOxide: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msFecalColiformAndEColi: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msFlowMeasurement: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msFluoride: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msFormaldehyde: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msHaloaceticAcids: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msHydrogen: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msHydrogenSulfide: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msIlluminanceLevelSensing: {
            attributes: {
                illuminanceTargetLevel: number;
                levelStatus: number;
                lightSensorType: number;
            };
            commandResponses: never;
            commands: never;
        };
        msIlluminanceMeasurement: {
            attributes: {
                lightSensorType: number;
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msLead: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msLeafWetness: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msManganese: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msNitricOxide: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msNitrogenDioxide: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msOccupancySensing: {
            attributes: {
                contactOToUDelay: number;
                contactUToODelay: number;
                contactUToOThreshold: number;
                elkoForceOffTimeout?: number;
                elkoOccupancyDfltOperationMode?: number;
                elkoOccupancyOperationMode?: number;
                elkoOccupancySensitivity?: number;
                occupancy: number;
                occupancySensorType: number;
                occupancySensorTypeBitmap: number;
                pirOToUDelay: number;
                pirUToODelay: number;
                pirUToOThreshold: number;
                sprutOccupancyLevel?: number;
                sprutOccupancySensitivity?: number;
                ultrasonicOToUDelay: number;
                ultrasonicUToODelay: number;
                ultrasonicUToOThreshold: number;
            };
            commandResponses: never;
            commands: never;
        };
        msOxygen: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msOzone: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msPressureMeasurement: {
            attributes: {
                maxMeasuredValue: number;
                maxScaledValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                minScaledValue: number;
                scale: number;
                scaledTolerance: number;
                scaledValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msRelativeHumidity: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                sprutHeater?: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msSodium: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msSoilMoisture: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msSulfate: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msSulfurDioxide: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msTemperatureMeasurement: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minAbsoluteChange: never;
                minMeasuredValue: number;
                minPercentChange: never;
                sprutTemperatureOffset?: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msTotalColiformBacteria: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msTotalTrihalomethanes: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msTurbidity: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        msWindSpeed: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        nearestGateway: {
            attributes: { nearestGateway: number; newMobileNode: number };
            commandResponses: never;
            commands: never;
        };
        neighborCleaning: {
            attributes: { neighborCleaningTimeout: number };
            commandResponses: never;
            commands: never;
        };
        owonClearMetering: {
            attributes: never;
            commandResponses: never;
            commands: { owonClearMeasurementData: Record<string, never> };
        };
        pHMeasurement: {
            attributes: {
                maxMeasuredValue: number;
                measuredValue: number;
                minMeasuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        pi11073ProtocolTunnel: {
            attributes: {
                connected: number;
                deviceidList: unknown[]
                | ZclArray;
                idleTimeout: number;
                managerEndpoint: number;
                managerTarget: string;
                preemptible: number;
            };
            commandResponses: never;
            commands: {
                connectReq: Record<string, never>;
                connectStatusNoti: Record<string, never>;
                disconnectReq: Record<string, never>;
                transferApdu: Record<string, never>;
            };
        };
        piAnalogInputExt: {
            attributes: {
                ackedTransitions: number;
                deadband: number;
                eventEnable: number;
                eventState: number;
                eventTimeStamps: unknown[]
                | ZclArray;
                highLimit: number;
                limitEnable: number;
                lowLimit: number;
                notificationClass: number;
                notifyType: number;
                timeDelay: number;
            };
            commandResponses: never;
            commands: {
                connectReq: Record<string, never>;
                connectStatusNoti: Record<string, never>;
                disconnectReq: Record<string, never>;
                transferApdu: Record<string, never>;
            };
        };
        piAnalogInputReg: {
            attributes: {
                covIncrement: number;
                deviceType: string;
                objectId: number;
                objectName: string;
                objectType: number;
                profileName: string;
                updateInterval: number;
            };
            commandResponses: never;
            commands: never;
        };
        piAnalogOutputExt: {
            attributes: {
                ackedTransitions: number;
                deadband: number;
                eventEnable: number;
                eventState: number;
                eventTimeStamps: unknown[]
                | ZclArray;
                highLimit: number;
                limitEnable: number;
                lowLimit: number;
                notificationClass: number;
                notifyType: number;
                timeDelay: number;
            };
            commandResponses: never;
            commands: never;
        };
        piAnalogOutputReg: {
            attributes: {
                covIncrement: number;
                deviceType: string;
                objectId: number;
                objectName: string;
                objectType: number;
                profileName: string;
                updateInterval: number;
            };
            commandResponses: never;
            commands: never;
        };
        piAnalogValueExt: {
            attributes: {
                ackedTransitions: number;
                deadband: number;
                eventEnable: number;
                eventState: number;
                eventTimeStamps: unknown[]
                | ZclArray;
                highLimit: number;
                limitEnable: number;
                lowLimit: number;
                notificationClass: number;
                notifyType: number;
                timeDelay: number;
            };
            commandResponses: never;
            commands: never;
        };
        piAnalogValueReg: {
            attributes: {
                covIncrement: number;
                objectId: number;
                objectName: string;
                objectType: number;
                profileName: string;
            };
            commandResponses: never;
            commands: never;
        };
        piBacnetProtocolTunnel: {
            attributes: never;
            commandResponses: never;
            commands: { transferNpdu: { npdu: number } };
        };
        piBinaryInputExt: {
            attributes: {
                ackedTransitions: number;
                alarmValue: number;
                eventEnable: number;
                eventState: number;
                eventTimeStamps: unknown[]
                | ZclArray;
                notificationClass: number;
                notifyType: number;
                timeDelay: number;
            };
            commandResponses: never;
            commands: never;
        };
        piBinaryInputReg: {
            attributes: {
                changeOfStateCount: number;
                changeOfStateTime: Struct;
                deviceType: string;
                elapsedActiveTime: number;
                objectIdentifier: number;
                objectName: string;
                objectType: number;
                profileName: string;
                timeOfATReset: Struct;
                timeOfSCReset: Struct;
            };
            commandResponses: never;
            commands: never;
        };
        piBinaryOutputExt: {
            attributes: {
                ackedTransitions: number;
                eventEnable: number;
                eventState: number;
                eventTimeStamps: unknown[]
                | ZclArray;
                notificationClass: number;
                notifyType: number;
                timeDelay: number;
            };
            commandResponses: never;
            commands: never;
        };
        piBinaryOutputReg: {
            attributes: {
                changeOfStateCount: number;
                changeOfStateTime: Struct;
                deviceType: string;
                elapsedActiveTime: number;
                feedBackValue: number;
                objectIdentifier: number;
                objectName: string;
                objectType: number;
                profileName: string;
                timeOfATReset: Struct;
                timeOfSCReset: Struct;
            };
            commandResponses: never;
            commands: never;
        };
        piBinaryValueExt: {
            attributes: {
                ackedTransitions: number;
                alarmValue: number;
                eventEnable: number;
                eventState: number;
                eventTimeStamps: unknown[]
                | ZclArray;
                notificationClass: number;
                notifyType: number;
                timeDelay: number;
            };
            commandResponses: never;
            commands: never;
        };
        piBinaryValueReg: {
            attributes: {
                changeOfStateCount: number;
                changeOfStateTime: Struct;
                elapsedActiveTime: number;
                objectIdentifier: number;
                objectName: string;
                objectType: number;
                profileName: string;
                timeOfATReset: Struct;
                timeOfSCReset: Struct;
            };
            commandResponses: never;
            commands: never;
        };
        piGenericTunnel: {
            attributes: {
                maxIncomeTransSize: number;
                maxOutgoTransSize: number;
                protocolAddr: Buffer;
            };
            commandResponses: {
                advertiseProtocolAddr: { protocoladdr: string };
                matchProtocolAddrRsp: { devieeeaddr: string; protocoladdr: string };
            };
            commands: { matchProtocolAddr: { protocoladdr: string } };
        };
        piIso7818ProtocolTunnel: {
            attributes: { status: number };
            commandResponses: never;
            commands: never;
        };
        piMultistateInputExt: {
            attributes: {
                ackedTransitions: number;
                alarmValue: number;
                eventEnable: number;
                eventState: number;
                eventTimeStamps: unknown[]
                | ZclArray;
                faultValues: number;
                notificationClass: number;
                notifyType: number;
                timeDelay: number;
            };
            commandResponses: never;
            commands: never;
        };
        piMultistateInputReg: {
            attributes: {
                deviceType: string;
                objectId: number;
                objectName: string;
                objectType: number;
                profileName: string;
            };
            commandResponses: never;
            commands: never;
        };
        piMultistateOutputExt: {
            attributes: {
                ackedTransitions: number;
                eventEnable: number;
                eventState: number;
                eventTimeStamps: unknown[]
                | ZclArray;
                notificationClass: number;
                notifyType: number;
                timeDelay: number;
            };
            commandResponses: never;
            commands: never;
        };
        piMultistateOutputReg: {
            attributes: {
                deviceType: string;
                feedBackValue: number;
                objectId: number;
                objectName: string;
                objectType: number;
                profileName: string;
            };
            commandResponses: never;
            commands: never;
        };
        piMultistateValueExt: {
            attributes: {
                ackedTransitions: number;
                alarmValue: number;
                eventEnable: number;
                eventState: number;
                eventTimeStamps: unknown[]
                | ZclArray;
                faultValues: number;
                notificationClass: number;
                notifyType: number;
                timeDelay: number;
            };
            commandResponses: never;
            commands: never;
        };
        piMultistateValueReg: {
            attributes: {
                objectId: number;
                objectName: string;
                objectType: number;
                profileName: string;
            };
            commandResponses: never;
            commands: never;
        };
        piRetailTunnel: {
            attributes: { manufacturerCode: number; msProfile: number };
            commandResponses: never;
            commands: never;
        };
        pm10Measurement: {
            attributes: {
                measuredMaxValue: number;
                measuredMinValue: number;
                measuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        pm1Measurement: {
            attributes: {
                measuredMaxValue: number;
                measuredMinValue: number;
                measuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        pm25Measurement: {
            attributes: {
                measuredMaxValue: number;
                measuredMinValue: number;
                measuredValue: number;
                tolerance: number;
            };
            commandResponses: never;
            commands: never;
        };
        schneiderSpecificPilotMode: {
            attributes: { pilotMode: number };
            commandResponses: never;
            commands: never;
        };
        seMetering: {
            attributes: {
                activeRegisterTierDelivered: number;
                activeRegisterTierReceived: number;
                billToDate: number;
                billToDateTimeStamp: number;
                controlTempreature: number;
                curMonthMaxEnergyCarrDemand: number;
                curMonthMinEnergyCarrDemand: number;
                curPartProfileIntStartTimeDelivered: number;
                curPartProfileIntStartTimeReceived: number;
                curPartProfileIntValueDelivered: number;
                curPartProfileIntValueReceived: number;
                currentBlock: number;
                currentBlockPeriodConsumpDelivered: number;
                currentBlockPeriodConsumpReceived: number;
                currentBlockReceived: number;
                currentdayConsumpDelivered: number;
                currentdayConsumpReceived: number;
                currentDayMaxDemand: number;
                currentdayMaxEnergyCarrDemand: number;
                currentDayMaxPressure: number;
                currentDayMinPressure: number;
                currentDemandDelivered: number;
                currentInEnergyCarrierDemand: number;
                currentInEnergyCarrierSumm: number;
                currentMaxDemandDeliverdTime: number;
                currentMaxDemandDelivered: number;
                currentMaxDemandReceived: number;
                currentMaxDemandReceivedTime: number;
                currentMonthMaxDemand: number;
                currentOutEnergyCarrierDemand: number;
                currentOutEnergyCarrierSumm: number;
                currentSummDelivered: number;
                currentSummReceived: number;
                currentTier10SummDelivered: number;
                currentTier10SummReceived: number;
                currentTier11SummDelivered: number;
                currentTier11SummReceived: number;
                currentTier12SummDelivered: number;
                currentTier12SummReceived: number;
                currentTier13SummDelivered: number;
                currentTier13SummReceived: number;
                currentTier14SummDelivered: number;
                currentTier14SummReceived: number;
                currentTier15SummDelivered: number;
                currentTier15SummReceived: number;
                currentTier1SummDelivered: number;
                currentTier1SummReceived: number;
                currentTier2SummDelivered: number;
                currentTier2SummReceived: number;
                currentTier3SummDelivered: number;
                currentTier3SummReceived: number;
                currentTier4SummDelivered: number;
                currentTier4SummReceived: number;
                currentTier5SummDelivered: number;
                currentTier5SummReceived: number;
                currentTier6SummDelivered: number;
                currentTier6SummReceived: number;
                currentTier7SummDelivered: number;
                currentTier7SummReceived: number;
                currentTier8SummDelivered: number;
                currentTier8SummReceived: number;
                currentTier9SummDelivered: number;
                currentTier9SummReceived: number;
                currentYearMaxDemand: number;
                curYearMaxEnergyCarrDemand: number;
                curYearMinEnergyCarrDemand: number;
                dailyConsumpTarget: number;
                dailyFreezeTime: number;
                defaultUpdatePeriod: number;
                demandFormatting: number;
                demandIntegrationPeriod: number;
                demandLimit: number;
                demandLimitArmDuration: number;
                develcoCurrentSummation?: number;
                develcoInterfaceMode?: number;
                develcoPulseConfiguration?: number;
                dftSumm: number;
                DFTSummationReceived: number;
                divisor: number;
                electricityAlarmMask: number;
                energyCarrierDemandFormatting: number;
                energyCarrierSummFormatting: number;
                energyCarrierUnitOfMeas: number;
                extendedGenericAlarmMask: number;
                extendedStatus: bigint;
                fastPollUpdatePeriod: number;
                flowRestriction: number;
                gasSpecificAlarmMask: number;
                genericAlarmMask: number;
                genFlowPressureAlarmMask: number;
                heatCoolSpecificAlarmMASK: number;
                historicalConsumpFormatting: number;
                hoursInFault: number;
                hoursInOperation: number;
                inletTempreature: number;
                instantaneousDemand: number;
                intervalReadReportingPeriod: number;
                manufactureAlarmMask: number;
                maxNumberOfPeriodsDelivered: number;
                meteringDeviceType: number;
                meterSerialNumber: Buffer;
                moduleSerialNumber: Buffer;
                multiplier: number;
                numberOfDemandSubintervals: number;
                operatingTariffLevel: Buffer;
                outletTempreature: number;
                owonAccumulativeEnergyThreshold?: number;
                owonCurrentSum?: number;
                owonFrequency?: number;
                owonL1Energy?: number;
                owonL1PhaseCurrent?: number;
                owonL1PhasePower?: number;
                owonL1PhaseReactivePower?: number;
                owonL1PhaseVoltage?: number;
                owonL1PowerFactor?: number;
                owonL1ReactiveEnergy?: number;
                owonL2Energy?: number;
                owonL2PhaseCurrent?: number;
                owonL2PhasePower?: number;
                owonL2PhaseReactivePower?: number;
                owonL2PhaseVoltage?: number;
                owonL2PowerFactor?: number;
                owonL2ReactiveEnergy?: number;
                owonL3Energy?: number;
                owonL3PhaseCurrent?: number;
                owonL3PhasePower?: number;
                owonL3PhaseReactivePower?: number;
                owonL3PhaseVoltage?: number;
                owonL3PowerFactor?: number;
                owonL3ReactiveEnergy?: number;
                owonLastHistoricalRecordTime?: number;
                owonLeakageCurrent?: number;
                owonMaximumReportCycle?: number;
                owonMinimumReportCycle?: number;
                owonOldestHistoricalRecordTime?: number;
                owonPercentChangeInPower?: number;
                owonReactiveEnergySum?: number;
                owonReactivePowerSum?: number;
                owonReportMap?: number;
                owonReportMode?: number;
                owonSentHistoricalRecordState?: number;
                powerFactor: number;
                presetReadingTime: number;
                previousdayConsumpDelivered: number;
                previousdayConsumpReceived: number;
                previousDayMaxDemand: number;
                previousdayMaxEnergyCarrDemand: number;
                previousDayMaxPressure: number;
                previousDayMinPressure: number;
                profileIntervalPeriod: number;
                projectedBill: number;
                projectedBillTimeStamp: number;
                readingSnapshotTime: number;
                remainingBattLife: number;
                schneiderActiveEnergyDivisor?: number;
                schneiderActiveEnergyL1Phase?: number;
                schneiderActiveEnergyL2Phase?: number;
                schneiderActiveEnergyL3Phase?: number;
                schneiderActiveEnergyMultiplier?: number;
                schneiderActiveEnergyTotal?: number;
                schneiderApparentEnergyDivisor?: number;
                schneiderApparentEnergyL1Phase?: number;
                schneiderApparentEnergyL2Phase?: number;
                schneiderApparentEnergyL3Phase?: number;
                schneiderApparentEnergyMultiplier?: number;
                schneiderApparentEnergyTotal?: number;
                schneiderEnergyCountersReportingPeriod?: number;
                schneiderEnergyResetDateTime?: number;
                schneiderPartialActiveEnergyL1Phase?: number;
                schneiderPartialActiveEnergyL2Phase?: number;
                schneiderPartialActiveEnergyL3Phase?: number;
                schneiderPartialActiveEnergyTotal?: number;
                schneiderPartialApparentEnergyL1Phase?: number;
                schneiderPartialApparentEnergyL2Phase?: number;
                schneiderPartialApparentEnergyL3Phase?: number;
                schneiderPartialApparentEnergyTotal?: number;
                schneiderPartialReactiveEnergyL1Phase?: number;
                schneiderPartialReactiveEnergyL2Phase?: number;
                schneiderPartialReactiveEnergyL3Phase?: number;
                schneiderPartialReactiveEnergyTotal?: number;
                schneiderReactiveEnergyDivisor?: number;
                schneiderReactiveEnergyL1Phase?: number;
                schneiderReactiveEnergyL2Phase?: number;
                schneiderReactiveEnergyL3Phase?: number;
                schneiderReactiveEnergyMultiplier?: number;
                schneiderReactiveEnergyTotal?: number;
                siteId: Buffer;
                status: number;
                summaFormatting: number;
                supplyStatus: number;
                temperatureFormatting: number;
                temperatureUnitOfMeas: number;
                unitOfMeasure: number;
                volumePerReport: number;
                waterSpecificAlarmMask: number;
            };
            commandResponses: {
                getProfileRsp: Record<string, never>;
                getSnapshotRsp: Record<string, never>;
                mirrorRemRsp: Record<string, never>;
                owonGetHistoryRecordRsp: Record<string, never>;
                reqFastPollModeRsp: Record<string, never>;
                reqMirrorRsp: Record<string, never>;
            };
            commands: {
                getProfile: Record<string, never>;
                getSnapshot: Record<string, never>;
                mirrorRem: Record<string, never>;
                mirrorReportAttrRsp: Record<string, never>;
                owonGetHistoryRecord: Record<string, never>;
                owonStopSendingHistoricalRecord: Record<string, never>;
                reqFastPollMode: Record<string, never>;
                reqMirror: Record<string, never>;
                takeSnapshot: Record<string, never>;
            };
        };
        sprutIrBlaster: {
            attributes: never;
            commandResponses: never;
            commands: {
                clearStore: Record<string, never>;
                learnRamStart: Record<string, never>;
                learnRamStop: Record<string, never>;
                learnStart: { value: number };
                learnStop: { value: number };
                playRam: Record<string, never>;
                playStore: { param: number };
            };
        };
        sprutNoise: {
            attributes: {
                noise: number;
                noiseAfterDetectDelay: number;
                noiseDetected: number;
                noiseDetectLevel: number;
            };
            commandResponses: never;
            commands: never;
        };
        sprutVoc: {
            attributes: { voc: number };
            commandResponses: never;
            commands: never;
        };
        ssIasAce: {
            attributes: never;
            commandResponses: {
                armRsp: { armnotification: number };
                bypassRsp: { bypassresult: number[]; numofzones: number };
                getPanelStatusRsp: {
                    alarmstatus: number;
                    audiblenotif: number;
                    panelstatus: number;
                    secondsremain: number;
                };
                getZoneIDMapRsp: {
                    zoneidmapsection0: number;
                    zoneidmapsection1: number;
                    zoneidmapsection10: number;
                    zoneidmapsection11: number;
                    zoneidmapsection12: number;
                    zoneidmapsection13: number;
                    zoneidmapsection14: number;
                    zoneidmapsection15: number;
                    zoneidmapsection2: number;
                    zoneidmapsection3: number;
                    zoneidmapsection4: number;
                    zoneidmapsection5: number;
                    zoneidmapsection6: number;
                    zoneidmapsection7: number;
                    zoneidmapsection8: number;
                    zoneidmapsection9: number;
                };
                getZoneInfoRsp: {
                    ieeeaddr: string;
                    zoneid: number;
                    zonelabel: string;
                    zonetype: number;
                };
                getZoneStatusRsp: {
                    numofzones: number;
                    zoneinfo: ZoneInfo[];
                    zonestatuscomplete: number;
                };
                panelStatusChanged: {
                    alarmstatus: number;
                    audiblenotif: number;
                    panelstatus: number;
                    secondsremain: number;
                };
                setBypassedZoneList: { numofzones: number; zoneid: number[] };
                zoneStatusChanged: {
                    audiblenotif: number;
                    zoneid: number;
                    zonelabel: string;
                    zonestatus: number;
                };
            };
            commands: {
                arm: { armmode: number; code: string; zoneid: number };
                bypass: { numofzones: number; zoneidlist: number[] };
                emergency: Record<string, never>;
                fire: Record<string, never>;
                getBypassedZoneList: Record<string, never>;
                getPanelStatus: Record<string, never>;
                getZoneIDMap: Record<string, never>;
                getZoneInfo: { zoneid: number };
                getZoneStatus: {
                    maxnumzoneid: number;
                    startzoneid: number;
                    zonestatusmask: number;
                    zonestatusmaskflag: number;
                };
                panic: Record<string, never>;
            };
        };
        ssIasWd: {
            attributes: { maxDuration: number };
            commandResponses: never;
            commands: {
                squawk: { squawkinfo: number };
                startWarning: {
                    startwarninginfo: number;
                    strobedutycycle: number;
                    strobelevel: number;
                    warningduration: number;
                };
            };
        };
        ssIasZone: {
            attributes: {
                currentZoneSensitivityLevel: number;
                develcoAlarmOffDelay?: number;
                iasCieAddr: string;
                numZoneSensitivityLevelsSupported: number;
                zoneId: number;
                zoneState: number;
                zoneStatus: number;
                zoneType: number;
            };
            commandResponses: {
                enrollReq: { manucode: number; zonetype: number };
                statusChangeNotification: { extendedstatus: number; zonestatus: number };
            };
            commands: {
                enrollRsp: { enrollrspcode: number; zoneid: number };
                initNormalOpMode: Record<string, never>;
                initTestMode: Record<string, never>;
            };
        };
        telecommunicationsChatting: {
            attributes: {
                cID: number;
                enableAddChat: number;
                name: string;
                nickname: string;
                uID: number;
            };
            commandResponses: never;
            commands: never;
        };
        telecommunicationsInformation: {
            attributes: {
                contentRootID: number;
                deliveryEnable: number;
                enableSecureConfiguration: number;
                nodeDescription: string;
                numberOfContents: number;
                pushInformationTimer: number;
            };
            commandResponses: never;
            commands: never;
        };
        telecommunicationsVoiceOverZigbee: {
            attributes: {
                codecrate: number;
                codecType: number;
                codecTypeSub1: number;
                codecTypeSub2: number;
                codecTypeSub3: number;
                compressionRate: number;
                compressionType: number;
                establishmentTimeout: number;
                optionFlags: number;
                samplingFrequency: number;
                threshold: number;
            };
            commandResponses: never;
            commands: never;
        };
        touchlink: {
            attributes: never;
            commandResponses: {
                deviceInformation: {
                    deviceInfoCount: number;
                    numberOfSubDevices: number;
                    startIndex: number;
                    transactionID: number;
                };
                endpointInformation: {
                    deviceID: number;
                    endpointID: number;
                    ieeeAddress: string;
                    networkAddress: number;
                    profileID: number;
                    version: number;
                };
                getEndpointList: { count: number; startIndex: number; total: number };
                getGroupIdentifiers: { count: number; startIndex: number; total: number };
                networkJoinEndDevice: { status: number; transactionID: number };
                networkJoinRouter: { status: number; transactionID: number };
                networkStart: {
                    extendedPANID: string;
                    logicalChannel: number;
                    networkUpdateID: number;
                    panID: number;
                    status: number;
                    transactionID: number;
                };
                scanResponse: {
                    deviceID?: number;
                    endpointID?: number;
                    extendedPanID: string;
                    groupIDCount?: number;
                    keyBitmask: number;
                    logicalChannel: number;
                    networkAddress: number;
                    networkUpdateID: number;
                    numberOfSubDevices: number;
                    panID: number;
                    profileID?: number;
                    responseID: number;
                    rssiCorrection: number;
                    totalGroupIdentifiers: number;
                    touchlinkInformation: number;
                    transactionID: number;
                    version?: number;
                    zigbeeInformation: number;
                };
            };
            commands: {
                deviceInformation: { startIndex: number; transactionID: number };
                getEndpointList: { startIndex: number };
                getGroupIdentifiers: { startIndex: number };
                identifyRequest: { duration: number; transactionID: number };
                networkJoinEndDevice: {
                    encryptedNetworkKey: Buffer;
                    extendedPANID: string;
                    freeGroupIDRangeBegin: number;
                    freeGroupIDRangeEnd: number;
                    freeNwkAddrRangeBegin: number;
                    freeNwkAddrRangeEnd: number;
                    groupIDsBegin: number;
                    groupIDsEnd: number;
                    keyIndex: number;
                    logicalChannel: number;
                    networkUpdateID: number;
                    nwkAddr: number;
                    panID: number;
                    transactionID: number;
                };
                networkJoinRouter: {
                    encryptedNetworkKey: Buffer;
                    extendedPANID: string;
                    freeGroupIDRangeBegin: number;
                    freeGroupIDRangeEnd: number;
                    freeNwkAddrRangeBegin: number;
                    freeNwkAddrRangeEnd: number;
                    groupIDsBegin: number;
                    groupIDsEnd: number;
                    keyIndex: number;
                    logicalChannel: number;
                    networkUpdateID: number;
                    nwkAddr: number;
                    panID: number;
                    transactionID: number;
                };
                networkStart: {
                    encryptedNetworkKey: Buffer;
                    extendedPANID: string;
                    freeGroupIDRangeBegin: number;
                    freeGroupIDRangeEnd: number;
                    freeNwkAddrRangeBegin: number;
                    freeNwkAddrRangeEnd: number;
                    groupIDsBegin: number;
                    groupIDsEnd: number;
                    initiatorIEEE: string;
                    initiatorNwkAddr: number;
                    keyIndex: number;
                    logicalChannel: number;
                    nwkAddr: number;
                    panID: number;
                    transactionID: number;
                };
                networkUpdate: {
                    extendedPANID: string;
                    logicalChannel: number;
                    networkUpdateID: number;
                    nwkAddr: number;
                    panID: number;
                    transactionID: number;
                };
                resetToFactoryNew: { transactionID: number };
                scanRequest: {
                    touchlinkInformation: number;
                    transactionID: number;
                    zigbeeInformation: number;
                };
            };
        };
        tradfriButton: {
            attributes: never;
            commandResponses: never;
            commands: {
                action1: { data: number };
                action2: { data: number };
                action3: { data: number };
                action4: { data: number };
                action6: { data: number };
            };
        };
        tunneling: {
            attributes: never;
            commandResponses: {
                requestTunnelResp: {
                    mtuSize: number;
                    tunnelId: number;
                    tunnelStatus: number;
                };
                transferDataErrorResp: { status: number; tunnelId: number };
                transferDataResp: { data: Buffer; tunnelId: number };
            };
            commands: {
                closeTunnel: { tunnelId: number };
                requestTunnel: {
                    flowControl: number;
                    manufCode: number;
                    mtuSize: number;
                    protocolId: number;
                };
                transferData: { data: Buffer; tunnelId: number };
                transferDataError: { status: number; tunnelId: number };
            };
        };
        wiserDeviceInfo: {
            attributes: { deviceInfo: string };
            commandResponses: never;
            commands: never;
        };
        zosungIRControl: {
            attributes: never;
            commandResponses: never;
            commands: { zosungControlIRCommand00: { data: Buffer } };
        };
        zosungIRTransmit: {
            attributes: never;
            commandResponses: {
                zosungSendIRCode03Resp: {
                    msgpart: Buffer;
                    msgpartcrc: number;
                    position: number;
                    seq: number;
                    zero: number;
                };
                zosungSendIRCode05Resp: { seq: number; zero: number };
            };
            commands: {
                zosungSendIRCode00: {
                    cmd: number;
                    length: number;
                    seq: number;
                    unk1: number;
                    unk2: number;
                    unk3: number;
                    unk4: number;
                };
                zosungSendIRCode01: {
                    cmd: number;
                    length: number;
                    seq: number;
                    unk1: number;
                    unk2: number;
                    unk3: number;
                    unk4: number;
                    zero: number;
                };
                zosungSendIRCode02: { maxlen: number; position: number; seq: number };
                zosungSendIRCode03: {
                    msgpart: Buffer;
                    msgpartcrc: number;
                    position: number;
                    seq: number;
                    zero: number;
                };
                zosungSendIRCode04: { seq: number; zero0: number; zero1: number };
                zosungSendIRCode05: { seq: number; zero: number };
            };
        };
    }
    Index

    Properties

    barrierControl closuresDoorLock closuresShadeCfg closuresWindowCovering elkoOccupancySettingClusterServer elkoSwitchConfigurationClusterServer genAlarms genAnalogInput genAnalogOutput genAnalogValue genBasic genBinaryInput genBinaryOutput genBinaryValue genCommissioning genDeviceTempCfg genGroups genIdentify genLevelCtrl genMultistateInput genMultistateOutput genMultistateValue genOnOff genOnOffSwitchCfg genOta genPollCtrl genPowerCfg genRssiLocation genScenes genTime greenPower haApplianceEventsAlerts haApplianceIdentification haApplianceStatistics haDiagnostic haElectricalMeasurement haMeterIdentification heimanSpecificAirQuality heimanSpecificInfraRedRemote heimanSpecificScenes hvacDehumidificationCtrl hvacFanCtrl hvacPumpCfgCtrl hvacThermostat hvacUserInterfaceCfg lightingBallastCfg lightingColorCtrl liXeePrivate manuSpecificAmazonWWAH manuSpecificAssaDoorLock manuSpecificCentraliteHumidity manuSpecificClusterAduroSmart manuSpecificDoorman manuSpecificLegrandDevices manuSpecificLegrandDevices2 manuSpecificLegrandDevices3 manuSpecificLumi manuSpecificOsram manuSpecificPhilips manuSpecificPhilips2 manuSpecificProfalux1 manuSpecificSamsungAccelerometer manuSpecificSchneiderFanSwitchConfiguration manuSpecificSchneiderLightSwitchConfiguration manuSpecificSiglisZigfred manuSpecificSinope manuSpecificSmartThingsArrivalSensor manuSpecificTuya manuSpecificTuya2 manuSpecificTuya3 mobileDeviceCfg msBromate msBromodichloromethane msBromoform msCarbonMonoxide msChloramines msChlorine msChlorodibromomethane msChloroform msCO2 msCopper msDissolvedOxygen msElectricalConductivity msEthylene msEthyleneOxide msFecalColiformAndEColi msFlowMeasurement msFluoride msFormaldehyde msHaloaceticAcids msHydrogen msHydrogenSulfide msIlluminanceLevelSensing msIlluminanceMeasurement msLead msLeafWetness msManganese msNitricOxide msNitrogenDioxide msOccupancySensing msOxygen msOzone msPressureMeasurement msRelativeHumidity msSodium msSoilMoisture msSulfate msSulfurDioxide msTemperatureMeasurement msTotalColiformBacteria msTotalTrihalomethanes msTurbidity msWindSpeed nearestGateway neighborCleaning owonClearMetering pHMeasurement pi11073ProtocolTunnel piAnalogInputExt piAnalogInputReg piAnalogOutputExt piAnalogOutputReg piAnalogValueExt piAnalogValueReg piBacnetProtocolTunnel piBinaryInputExt piBinaryInputReg piBinaryOutputExt piBinaryOutputReg piBinaryValueExt piBinaryValueReg piGenericTunnel piIso7818ProtocolTunnel piMultistateInputExt piMultistateInputReg piMultistateOutputExt piMultistateOutputReg piMultistateValueExt piMultistateValueReg piRetailTunnel pm10Measurement pm1Measurement pm25Measurement schneiderSpecificPilotMode seMetering sprutIrBlaster sprutNoise sprutVoc ssIasAce ssIasWd ssIasZone telecommunicationsChatting telecommunicationsInformation telecommunicationsVoiceOverZigbee touchlink tradfriButton tunneling wiserDeviceInfo zosungIRControl zosungIRTransmit

    Properties

    barrierControl: {
        attributes: {
            barrierPosition: number;
            capabilities: number;
            closeEvents: number;
            closePeriod: number;
            commandCloseEvents: number;
            commandOpenEvents: number;
            movingState: number;
            openEvents: number;
            openPeriod: number;
            safetyStatus: number;
        };
        commandResponses: never;
        commands: {
            goToPercent: { percentOpen: number };
            stop: Record<string, never>;
        };
    }
    closuresDoorLock: {
        attributes: {
            actuatorEnabled: number;
            alarmMask: number;
            autoRelockTime: number;
            defaultConfigurationRegister: number;
            doorClosedEvents: number;
            doorOpenEvents: number;
            doorState: number;
            enableInsideStatusLed: number;
            enableLocalProgramming: number;
            enableLogging: number;
            enableOneTouchLocking: number;
            enablePrivacyModeButton: number;
            keypadOperationEventMask: number;
            keypadProgrammingEventMask: number;
            language: string;
            ledSettings: number;
            lockState: number;
            lockType: number;
            manualOperationEventMask: number;
            maxPinLen: number;
            maxRfidLen: number;
            minPinLen: number;
            minRfidLen: number;
            numOfHolidayScheduledsSupported: number;
            numOfLockRecordsSupported: number;
            numOfPinUsersSupported: number;
            numOfRfidUsersSupported: number;
            numOfTotalUsersSupported: number;
            numOfWeekDaySchedulesSupportedPerUser: number;
            numOfYearDaySchedulesSupportedPerUser: number;
            openPeriod: number;
            operatingMode: number;
            requirePinForRfOperation: number;
            rfidOperationEventMask: number;
            rfidProgrammingEventMask: number;
            rfOperationEventMask: number;
            rfProgrammingEventMask: number;
            sendPinOta: number;
            soundVolume: number;
            userCodeTemporaryDisableTime: number;
            wrongCodeEntryLimit: number;
            zigbeeSecurityLevel: number;
        };
        commandResponses: {
            clearAllPinCodesRsp: { status: number };
            clearAllRfidCodesRsp: { status: number };
            clearHolidayScheduleRsp: { status: number };
            clearPinCodeRsp: { status: number };
            clearRfidCodeRsp: { status: number };
            clearWeekDayScheduleRsp: { status: number };
            clearYearDayScheduleRsp: { status: number };
            getHolidayScheduleRsp: {
                holidayscheduleid: number;
                opermodelduringholiday: number;
                status: number;
                zigbeelocalendtime: number;
                zigbeelocalstarttime: number;
            };
            getLogRecordRsp: {
                eventidalarmcode: number;
                eventtype: number;
                logentryid: number;
                pincodevalue: string;
                source: number;
                timestamp: number;
                userid: number;
            };
            getPinCodeRsp: {
                pincodevalue: string;
                userid: number;
                userstatus: number;
                usertype: number;
            };
            getRfidCodeRsp: {
                pincodevalue: string;
                userid: number;
                userstatus: number;
                usertype: number;
            };
            getUserStatusRsp: { userid: number; userstatus: number };
            getUserTypeRsp: { userid: number; usertype: number };
            getWeekDayScheduleRsp: {
                daysmask: number;
                endhour: number;
                endminute: number;
                scheduleid: number;
                starthour: number;
                startminute: number;
                status: number;
                userid: number;
            };
            getYearDayScheduleRsp: {
                scheduleid: number;
                status: number;
                userid: number;
                zigbeelocalendtime: number;
                zigbeelocalstarttime: number;
            };
            lockDoorRsp: { status: number };
            operationEventNotification: {
                data: number;
                opereventcode: number;
                opereventsrc: number;
                pin: Buffer;
                userid: number;
                zigbeelocaltime: number;
            };
            programmingEventNotification: {
                data: number;
                pin: Buffer;
                programeventcode: number;
                programeventsrc: number;
                userid: number;
                userstatus: number;
                usertype: number;
                zigbeelocaltime: number;
            };
            setHolidayScheduleRsp: { status: number };
            setPinCodeRsp: { status: number };
            setRfidCodeRsp: { status: number };
            setUserStatusRsp: { status: number };
            setUserTypeRsp: { status: number };
            setWeekDayScheduleRsp: { status: number };
            setYearDayScheduleRsp: { status: number };
            toggleDoorRsp: { status: number };
            unlockDoorRsp: { status: number };
            unlockWithTimeoutRsp: { status: number };
        };
        commands: {
            clearAllPinCodes: Record<string, never>;
            clearAllRfidCodes: Record<string, never>;
            clearHolidaySchedule: { holidayscheduleid: number };
            clearPinCode: { userid: number };
            clearRfidCode: { userid: number };
            clearWeekDaySchedule: { scheduleid: number; userid: number };
            clearYearDaySchedule: { scheduleid: number; userid: number };
            getHolidaySchedule: { holidayscheduleid: number };
            getLogRecord: { logindex: number };
            getPinCode: { userid: number };
            getRfidCode: { userid: number };
            getUserStatus: { userid: number };
            getUserType: { userid: number };
            getWeekDaySchedule: { scheduleid: number; userid: number };
            getYearDaySchedule: { scheduleid: number; userid: number };
            lockDoor: { pincodevalue: string };
            setHolidaySchedule: {
                holidayscheduleid: number;
                opermodelduringholiday: number;
                zigbeelocalendtime: number;
                zigbeelocalstarttime: number;
            };
            setPinCode: {
                pincodevalue: string;
                userid: number;
                userstatus: number;
                usertype: number;
            };
            setRfidCode: {
                pincodevalue: string;
                userid: number;
                userstatus: number;
                usertype: number;
            };
            setUserStatus: { userid: number; userstatus: number };
            setUserType: { userid: number; usertype: number };
            setWeekDaySchedule: {
                daysmask: number;
                endhour: number;
                endminute: number;
                scheduleid: number;
                starthour: number;
                startminute: number;
                userid: number;
            };
            setYearDaySchedule: {
                scheduleid: number;
                userid: number;
                zigbeelocalendtime: number;
                zigbeelocalstarttime: number;
            };
            toggleDoor: { pincodevalue: string };
            unlockDoor: { pincodevalue: string };
            unlockWithTimeout: { pincodevalue: string; timeout: number };
        };
    }
    closuresShadeCfg: {
        attributes: {
            losedLimit: number;
            mode: number;
            motorStepSize: number;
            physicalClosedLimit: number;
            status: number;
        };
        commandResponses: never;
        commands: never;
    }
    closuresWindowCovering: {
        attributes: {
            accelerationTimeLift: number;
            calibrationMode?: number;
            configStatus: number;
            currentPositionLiftCm: number;
            currentPositionLiftPercentage: number;
            currentPositionTiltDdegree: number;
            currentPositionTiltPercentage: number;
            decelerationTimeLift: number;
            elkoDriveCloseDuration?: number;
            elkoLiftDriveDownTime?: number;
            elkoLiftDriveUpTime?: number;
            elkoProtectionSensor?: number;
            elkoProtectionStatus?: number;
            elkoSunProtectionIlluminanceThreshold?: number;
            elkoTiltOpenCloseAndStepTime?: number;
            elkoTiltPositionPercentageAfterMoveToLevel?: number;
            installedClosedLimitLiftCm: number;
            installedClosedLimitTiltDdegree: number;
            installedOpenLimitLiftCm: number;
            installedOpenLimitTiltDdegree: number;
            intermediateSetpointsLift: Buffer;
            intermediateSetpointsTilt: Buffer;
            moesCalibrationTime: number;
            nikoCalibrationTimeDown?: number;
            nikoCalibrationTimeUp?: number;
            numOfActuationsLift: number;
            numOfActuationsTilt: number;
            operationalStatus: number;
            physicalClosedLimitLiftCm: number;
            physicalClosedLimitTiltDdegree: number;
            stepPositionLift?: number;
            stepPositionTilt?: number;
            targetPositionTiltPercentage?: number;
            tuyaCalibration: number;
            tuyaMotorReversal: number;
            tuyaMovingState: number;
            velocityLift: number;
            windowCoveringMode: number;
            windowCoveringType: number;
        };
        commandResponses: never;
        commands: {
            downClose: Record<string, never>;
            elkoStopOrStepLiftPercentage: { direction: number; stepvalue: number };
            goToLiftPercentage: { percentageliftvalue: number };
            goToLiftValue: { liftvalue: number };
            goToTiltPercentage: { percentagetiltvalue: number };
            goToTiltValue: { tiltvalue: number };
            stop: Record<string, never>;
            upOpen: Record<string, never>;
        };
    }
    elkoOccupancySettingClusterServer: {
        attributes: {
            AmbienceLightThreshold: number;
            OccupancyActions: number;
            UnoccupiedLevel: number;
            UnoccupiedLevelDflt: number;
        };
        commandResponses: never;
        commands: never;
    }
    elkoSwitchConfigurationClusterServer: {
        attributes: {
            DownGroupID: number;
            DownSceneID: number;
            SwitchActions: number;
            SwitchIndication: number;
            UpGroupID: number;
            UpSceneID: number;
        };
        commandResponses: never;
        commands: never;
    }
    genAlarms: {
        attributes: { alarmCount: number };
        commandResponses: {
            alarm: { alarmcode: number; clusterid: number };
            getEventLog: Record<string, never>;
            getRsp: {
                alarmcode: number;
                clusterid: number;
                status: number;
                timestamp: number;
            };
        };
        commands: {
            getAlarm: Record<string, never>;
            publishEventLog: Record<string, never>;
            reset: { alarmcode: number; clusterid: number };
            resetAll: Record<string, never>;
            resetLog: Record<string, never>;
        };
    }
    genAnalogInput: {
        attributes: {
            applicationType: number;
            description: string;
            engineeringUnits: number;
            maxPresentValue: number;
            minPresentValue: number;
            outOfService: number;
            presentValue: number;
            reliability: number;
            resolution: number;
            statusFlags: number;
        };
        commandResponses: never;
        commands: never;
    }
    genAnalogOutput: {
        attributes: {
            applicationType: number;
            description: string;
            engineeringUnits: number;
            maxPresentValue: number;
            minPresentValue: number;
            outOfService: number;
            presentValue: number;
            priorityArray: unknown[] | ZclArray;
            reliability: number;
            relinquishDefault: number;
            resolution: number;
            statusFlags: number;
        };
        commandResponses: never;
        commands: never;
    }
    genAnalogValue: {
        attributes: {
            applicationType: number;
            description: string;
            engineeringUnits: number;
            outOfService: number;
            presentValue: number;
            priorityArray: unknown[] | ZclArray;
            reliability: number;
            relinquishDefault: number;
            statusFlags: number;
        };
        commandResponses: never;
        commands: never;
    }
    genBasic: {
        attributes: {
            alarmMask: number;
            appProfileVersion: number;
            appVersion: number;
            dateCode: string;
            deviceEnabled: number;
            disableLocalConfig: number;
            genericDeviceType: number;
            hwVersion: number;
            locationDesc: string;
            manufacturerName: string;
            manufacturerVersionDetails: string;
            modelId: string;
            physicalEnv: number;
            powerSource: number;
            productCode: Buffer;
            productLabel: string;
            productUrl: string;
            schneiderMeterRadioPower?: number;
            serialNumber: string;
            stackVersion: number;
            swBuildId: string;
            zclVersion: number;
        };
        commandResponses: never;
        commands: {
            resetFactDefault: Record<string, never>;
            tuyaSetup: Record<string, never>;
        };
    }
    genBinaryInput: {
        attributes: {
            activeText: string;
            applicationType: number;
            description: string;
            inactiveText: string;
            outOfService: number;
            polarity: number;
            presentValue: number;
            reliability: number;
            statusFlags: number;
        };
        commandResponses: never;
        commands: never;
    }
    genBinaryOutput: {
        attributes: {
            activeText: string;
            applicationType: number;
            description: string;
            inactiveText: string;
            minimumOffTime: number;
            minimumOnTime: number;
            outOfService: number;
            polarity: number;
            presentValue: number;
            priorityArray: unknown[] | ZclArray;
            reliability: number;
            relinquishDefault: number;
            statusFlags: number;
        };
        commandResponses: never;
        commands: never;
    }
    genBinaryValue: {
        attributes: {
            activeText: string;
            applicationType: number;
            description: string;
            inactiveText: string;
            minimumOffTime: number;
            minimumOnTime: number;
            outOfService: number;
            presentValue: number;
            priorityArray: unknown[] | ZclArray;
            reliability: number;
            relinquishDefault: number;
            statusFlags: number;
        };
        commandResponses: never;
        commands: never;
    }
    genCommissioning: {
        attributes: {
            channelmask: number;
            concentratorDiscoveryTime: number;
            concentratorFlag: number;
            concentratorRus: number;
            extendedPANId: string;
            indirectPollRate: number;
            maxRejoinInterval: number;
            networkKey: Buffer;
            networkKeySeqNum: number;
            networkKeyType: number;
            networkManagerress: number;
            panId: number;
            parentRetryThreshold: number;
            preconfiguredLinkKey: Buffer;
            protocolVersion: number;
            rejoinInterval: number;
            scanAttempts: number;
            shortress: number;
            stackProfile: number;
            startupControl: number;
            timeBetweenScans: number;
            trustCenterMasterKey: Buffer;
            trustCenterress: string;
            useInsecureJoin: number;
        };
        commandResponses: {
            resetStartupParamsRsp: { status: number };
            restartDeviceRsp: { status: number };
            restoreStartupParamsRsp: { status: number };
            saveStartupParamsRsp: { status: number };
        };
        commands: {
            resetStartupParams: { index: number; options: number };
            restartDevice: { delay: number; jitter: number; options: number };
            restoreStartupParams: { index: number; options: number };
            saveStartupParams: { index: number; options: number };
        };
    }
    genDeviceTempCfg: {
        attributes: {
            currentTemperature: number;
            devTempAlarmMask: number;
            highTempDwellTripPoint: number;
            highTempThres: number;
            lowTempDwellTripPoint: number;
            lowTempThres: number;
            maxTempExperienced: number;
            minTempExperienced: number;
            overTempTotalDwell: number;
        };
        commandResponses: never;
        commands: never;
    }
    genGroups: {
        attributes: { nameSupport: number };
        commandResponses: {
            addRsp: { groupid: number; status: number };
            getMembershipRsp: {
                capacity: number;
                groupcount: number;
                grouplist: number[];
            };
            removeRsp: { groupid: number; status: number };
            viewRsp: { groupid: number; groupname: string; status: number };
        };
        commands: {
            add: { groupid: number; groupname: string };
            addIfIdentifying: { groupid: number; groupname: string };
            getMembership: { groupcount: number; grouplist: number[] };
            miboxerSetZones: { zones: MiboxerZone[] };
            remove: { groupid: number };
            removeAll: Record<string, never>;
            view: { groupid: number };
        };
    }
    genIdentify: {
        attributes: { identifyCommissionState: never; identifyTime: number };
        commandResponses: { identifyQueryRsp: { timeout: number } };
        commands: {
            ezmodeInvoke: { action: number };
            identify: { identifytime: number };
            identifyQuery: Record<string, never>;
            triggerEffect: { effectid: number; effectvariant: number };
            updateCommissionState: { action: number; commstatemask: number };
        };
    }
    genLevelCtrl: {
        attributes: {
            currentLevel: number;
            defaultMoveRate: number;
            elkoStartUpCurrentLevel?: number;
            maxLevel: number;
            minLevel: number;
            offTransitionTime: number;
            onLevel: number;
            onOffTransitionTime: number;
            onTransitionTime: number;
            options: number;
            remainingTime: number;
            startUpCurrentLevel: number;
        };
        commandResponses: never;
        commands: {
            move: { movemode: number; rate: number };
            moveToLevel: { level: number; transtime: number };
            moveToLevelTuya: { level: number; transtime: number };
            moveToLevelWithOnOff: { level: number; transtime: number };
            moveWithOnOff: { movemode: number; rate: number };
            step: { stepmode: number; stepsize: number; transtime: number };
            stepWithOnOff: { stepmode: number; stepsize: number; transtime: number };
            stop: Record<string, never>;
            stopWithOnOff: Record<string, never>;
        };
    }
    genMultistateInput: {
        attributes: {
            applicationType: number;
            description: string;
            numberOfStates: number;
            outOfService: number;
            presentValue: number;
            reliability: number;
            stateText: unknown[] | ZclArray;
            statusFlags: number;
        };
        commandResponses: never;
        commands: never;
    }
    genMultistateOutput: {
        attributes: {
            applicationType: number;
            description: string;
            numberOfStates: number;
            outOfService: number;
            presentValue: number;
            priorityArray: unknown[] | ZclArray;
            reliability: number;
            relinquishDefault: number;
            stateText: unknown[] | ZclArray;
            statusFlags: number;
        };
        commandResponses: never;
        commands: never;
    }
    genMultistateValue: {
        attributes: {
            applicationType: number;
            description: string;
            numberOfStates: number;
            outOfService: number;
            presentValue: number;
            priorityArray: unknown[] | ZclArray;
            reliability: number;
            relinquishDefault: number;
            stateText: unknown[] | ZclArray;
            statusFlags: number;
        };
        commandResponses: never;
        commands: never;
    }
    genOnOff: {
        attributes: {
            elkoOnTimeReload?: number;
            elkoOnTimeReloadOptions?: number;
            elkoPreWarningTime?: number;
            globalSceneCtrl: number;
            moesStartUpOnOff: number;
            nodonTransitionTime?: number;
            offWaitTime: number;
            onOff: number;
            onTime: number;
            startUpOnOff: number;
            tuyaBacklightMode: number;
            tuyaBacklightSwitch: number;
            tuyaOperationMode: number;
        };
        commandResponses: never;
        commands: {
            off: Record<string, never>;
            offWithEffect: { effectid: number; effectvariant: number };
            on: Record<string, never>;
            onWithRecallGlobalScene: Record<string, never>;
            onWithTimedOff: { ctrlbits: number; offwaittime: number; ontime: number };
            toggle: Record<string, never>;
            tuyaAction: { data: Buffer; value: number };
            tuyaAction2: { value: number };
        };
    }
    genOnOffSwitchCfg: {
        attributes: {
            switchActions: number;
            switchMultiFunction: never;
            switchType: number;
        };
        commandResponses: never;
        commands: never;
    }
    genOta: {
        attributes: {
            currentFileVersion: number;
            currentZigbeeStackVersion: number;
            downloadedFileVersion: number;
            downloadedZigbeeStackVersion: number;
            fileOffset: number;
            imageStamp: number;
            imageTypeId: number;
            imageUpgradeStatus: number;
            manufacturerId: number;
            minimumBlockReqDelay: number;
            upgradeServerId: string;
        };
        commandResponses: {
            imageBlockResponse: {
                currentTime?: number;
                data?: Buffer<ArrayBufferLike>;
                dataSize?: number;
                fileOffset?: number;
                fileVersion?: number;
                imageType?: number;
                manufacturerCode?: number;
                minimumBlockPeriod?: number;
                requestTime?: number;
                status: number;
            };
            imageNotify: {
                fileVersion?: number;
                imageType?: number;
                manufacturerCode?: number;
                payloadType: number;
                queryJitter: number;
            };
            queryDeviceSpecificFileResponse: {
                fileVersion?: number;
                imageSize?: number;
                imageType?: number;
                manufacturerCode?: number;
                status: number;
            };
            queryNextImageResponse: {
                fileVersion?: number;
                imageSize?: number;
                imageType?: number;
                manufacturerCode?: number;
                status: number;
            };
            upgradeEndResponse: {
                currentTime: number;
                fileVersion: number;
                imageType: number;
                manufacturerCode: number;
                upgradeTime: number;
            };
        };
        commands: {
            imageBlockRequest: {
                fieldControl: number;
                fileOffset: number;
                fileVersion: number;
                imageType: number;
                manufacturerCode: number;
                maximumDataSize: number;
                minimumBlockPeriod?: number;
                requestNodeIeeeAddress?: string;
            };
            imagePageRequest: {
                fieldControl: number;
                fileOffset: number;
                fileVersion: number;
                imageType: number;
                manufacturerCode: number;
                maximumDataSize: number;
                pageSize: number;
                requestNodeIeeeAddress?: string;
                responseSpacing: number;
            };
            queryDeviceSpecificFileRequest: {
                eui64: string;
                fileVersion: number;
                imageType: number;
                manufacturerCode: number;
                zigbeeStackVersion: number;
            };
            queryNextImageRequest: {
                fieldControl: number;
                fileVersion: number;
                hardwareVersion?: number;
                imageType: number;
                manufacturerCode: number;
            };
            upgradeEndRequest: {
                fileVersion: number;
                imageType: number;
                manufacturerCode: number;
                status: number;
            };
        };
    }
    genPollCtrl: {
        attributes: {
            checkinInterval: number;
            checkinIntervalMin: number;
            fastPollTimeout: number;
            fastPollTimeoutMax: number;
            longPollInterval: number;
            longPollIntervalMin: number;
            shortPollInterval: number;
        };
        commandResponses: { checkin: Record<string, never> };
        commands: {
            checkinRsp: { fastPollTimeout: number; startFastPolling: number };
            fastPollStop: Record<string, never>;
            setLongPollInterval: { newLongPollInterval: number };
            setShortPollInterval: { newShortPollInterval: number };
        };
    }
    genPowerCfg: {
        attributes: {
            batteryAHrRating: number;
            batteryAlarmMask: number;
            batteryAlarmState: number;
            batteryManufacturer: string;
            batteryPercentageRemaining: number;
            batteryPercentMinThres: number;
            batteryPercentThres1: number;
            batteryPercentThres2: number;
            batteryPercentThres3: number;
            batteryQuantity: number;
            batteryRatedVoltage: number;
            batterySize: number;
            batteryVoltage: number;
            batteryVoltMinThres: number;
            batteryVoltThres1: number;
            batteryVoltThres2: number;
            batteryVoltThres3: number;
            mainsAlarmMask: number;
            mainsFrequency: number;
            mainsVoltage: number;
            mainsVoltageDwellTripPoint: number;
            mainsVoltMaxThres: number;
            mainsVoltMinThres: number;
        };
        commandResponses: never;
        commands: never;
    }
    genRssiLocation: {
        attributes: {
            age: number;
            calcPeriod: number;
            coordinate1: number;
            coordinate2: number;
            coordinate3: number;
            method: number;
            numOfDevices: number;
            numRSSIMeasurements: number;
            pathLossExponent: number;
            power: number;
            qualityMeasure: number;
            reportingPeriod: number;
            type: number;
        };
        commandResponses: {
            compactLocationDataNotification: {
                age?: number;
                coord1: number;
                coord2: number;
                coord3?: number;
                qualityMeasure?: number;
                type: number;
            };
            deviceConfigResponse: {
                calcPeriod?: number;
                numRssiMeasurements?: number;
                pathLossExponent?: number;
                power?: number;
                reportingPeriod?: number;
                status: number;
            };
            locationDataNotification: {
                age?: number;
                coord1: number;
                coord2: number;
                coord3?: number;
                method?: number;
                pathLossExponent: number;
                power: number;
                qualityMeasure?: number;
                type: number;
            };
            locationDataResponse: {
                age?: number;
                coord1?: number;
                coord2?: number;
                coord3?: number;
                method?: number;
                pathLossExponent?: number;
                power?: number;
                qualityMeasure?: number;
                status: number;
                type?: number;
            };
            reportRssiMeasurements: {
                measuringDeviceAddr: string;
                numNeighbors: number;
            };
            requestOwnLocation: { blindNodeAddr: string };
            rssiPing: { type: number };
            rssiRequest: Record<string, never>;
        };
        commands: {
            anchorNodeAnnounce: {
                anchorNodeAddr: string;
                x: number;
                y: number;
                z: number;
            };
            getDeviceConfig: { targetAddr: string };
            getLocationData: {
                info: number;
                numResponses: number;
                targetAddr?: string;
            };
            rssiResponse: {
                numRssiMeasurements: number;
                replyingDevice: string;
                rssi: number;
                x: number;
                y: number;
                z: number;
            };
            sendPings: {
                calcPeriod: number;
                numRssiMeasurements: number;
                targetAddr: string;
            };
            setAbsolute: {
                coord1: number;
                coord2: number;
                coord3: number;
                pathLossExponent: number;
                power: number;
            };
            setDeviceConfig: {
                calcPeriod: number;
                numRssiMeasurements: number;
                pathLossExponent: number;
                power: number;
                reportingPeriod: number;
            };
        };
    }
    genScenes: {
        attributes: {
            count: number;
            currentGroup: number;
            currentScene: number;
            lastCfgBy: string;
            nameSupport: number;
            sceneValid: number;
        };
        commandResponses: {
            addRsp: { groupId: number; sceneId: number; status: number };
            copyRsp: { groupidfrom: number; sceneidfrom: number; status: number };
            enhancedAddRsp: { groupId: number; sceneId: number; status: number };
            enhancedViewRsp: {
                extensionfieldsets?: ExtensionFieldSet[];
                groupid: number;
                sceneid: number;
                scenename?: string;
                status: number;
                transtime?: number;
            };
            getSceneMembershipRsp: {
                capacity: number;
                groupid: number;
                scenecount?: number;
                scenelist?: number[];
                status: number;
            };
            removeAllRsp: { groupid: number; status: number };
            removeRsp: { groupid: number; sceneid: number; status: number };
            storeRsp: { groupid: number; sceneid: number; status: number };
            viewRsp: {
                extensionfieldsets?: ExtensionFieldSet[];
                groupid: number;
                sceneid: number;
                scenename?: string;
                status: number;
                transtime?: number;
            };
        };
        commands: {
            add: {
                extensionfieldsets: ExtensionFieldSet[];
                groupid: number;
                sceneid: number;
                scenename: string;
                transtime: number;
            };
            copy: {
                groupidfrom: number;
                groupidto: number;
                mode: number;
                sceneidfrom: number;
                sceneidto: number;
            };
            enhancedAdd: {
                extensionfieldsets: ExtensionFieldSet[];
                groupid: number;
                sceneid: number;
                scenename: string;
                transtime: number;
            };
            enhancedView: { groupid: number; sceneid: number };
            getSceneMembership: { groupid: number };
            recall: { groupid: number; sceneid: number };
            remove: { groupid: number; sceneid: number };
            removeAll: { groupid: number };
            store: { groupid: number; sceneid: number };
            tradfriArrowHold: { value: number };
            tradfriArrowRelease: { value: number };
            tradfriArrowSingle: { value: number; value2: number };
            view: { groupid: number; sceneid: number };
        };
    }
    genTime: {
        attributes: {
            dstEnd: number;
            dstShift: number;
            dstStart: number;
            lastSetTime: number;
            localTime: number;
            standardTime: number;
            time: number;
            timeStatus: number;
            timeZone: number;
            validUntilTime: number;
        };
        commandResponses: never;
        commands: never;
    }
    greenPower: {
        attributes: never;
        commandResponses: {
            commisioningMode: {
                channel?: number;
                commisioningWindow?: number;
                options: number;
            };
            pairing: {
                assignedAlias?: number;
                deviceID?: number;
                frameCounter?: number;
                gpdEndpoint?: number;
                gpdIEEEAddr?: string;
                gpdKey?: Buffer<ArrayBufferLike>;
                groupcastRadius?: number;
                options: number;
                sinkGroupID?: number;
                sinkIEEEAddr?: string;
                sinkNwkAddr?: number;
                srcID?: number;
            };
            response: {
                gpdCmd: number;
                gpdEndpoint?: number;
                gpdIEEEAddr?: string;
                gpdPayload: | Gpd
                | GpdChannelRequest
                | GpdChannelConfiguration
                | GpdCommissioningReply
                | GpdCustomReply
                | GpdAttributeReport
                | Record<string, never>
                | { raw: Buffer };
                options: number;
                srcID?: number;
                tempMaster: number;
                tempMasterTx: number;
            };
        };
        commands: {
            commissioningNotification: {
                commandFrame?: | Gpd
                | GpdChannelRequest
                | GpdChannelConfiguration
                | GpdCommissioningReply
                | GpdCustomReply
                | GpdAttributeReport
                | Record<string, never>
                | { raw: Buffer };
                commandID: number;
                frameCounter: number;
                gpdEndpoint?: number;
                gpdIEEEAddr?: string;
                gppGpdLink?: number;
                gppNwkAddr?: number;
                mic?: number;
                options: number;
                payloadSize: number;
                srcID?: number;
            };
            notification: {
                commandFrame?: | Gpd
                | GpdChannelRequest
                | GpdChannelConfiguration
                | GpdCommissioningReply
                | GpdCustomReply
                | GpdAttributeReport
                | Record<string, never>
                | { raw: Buffer };
                commandID: number;
                frameCounter: number;
                gpdEndpoint?: number;
                gpdIEEEAddr?: string;
                gppGpdLink?: number;
                gppNwkAddr?: number;
                options: number;
                payloadSize: number;
                srcID?: number;
            };
        };
    }
    haApplianceEventsAlerts: {
        attributes: never;
        commandResponses: {
            alertsNotification: { aalert: number[]; alertscount: number };
            eventNotification: { eventheader: number; eventid: number };
            getAlertsRsp: { aalert: number[]; alertscount: number };
        };
        commands: { getAlerts: Record<string, never> };
    }
    haApplianceIdentification: {
        attributes: {
            basicIdentification: bigint;
            brandId: number;
            brandName: string;
            cecedSpecificationVersion: number;
            companyId: number;
            companyName: string;
            model: Buffer;
            partNumber: Buffer;
            productRevision: Buffer;
            productTypeId: number;
            productTypeName: Buffer;
            softwareRevision: Buffer;
        };
        commandResponses: never;
        commands: never;
    }
    haApplianceStatistics: {
        attributes: { logMaxSize: number; logQueueMaxSize: number };
        commandResponses: {
            logNotification: {
                logid: number;
                loglength: number;
                logpayload: number[];
                timestamp: number;
            };
            logQueueRsp: { logid: number[]; logqueuesize: number };
            logRsp: {
                logid: number;
                loglength: number;
                logpayload: number[];
                timestamp: number;
            };
            statisticsAvailable: { logid: number[]; logqueuesize: number };
        };
        commands: { log: { logid: number }; logQueue: Record<string, never> };
    }
    haDiagnostic: {
        attributes: {
            apsDecryptFailures: number;
            apsFcFailure: number;
            aPSRxBcast: number;
            aPSRxUcast: number;
            aPSTxBcast: number;
            aPSTxUcastFail: number;
            aPSTxUcastRetry: number;
            aPSTxUcastSuccess: number;
            apsUnauthorizedKey: number;
            averageMacRetryPerApsMessageSent: number;
            childMoved: number;
            danfossHeatSupplyRequest?: number;
            danfossIconApplication?: number;
            danfossIconForcedHeatingCooling?: number;
            danfossMultimasterRole?: number;
            danfossSystemStatusCode?: number;
            danfossSystemStatusWater?: number;
            joinIndication: number;
            lastMessageLqi: number;
            lastMessageRssi: number;
            macRxBcast: number;
            macRxUcast: number;
            macTxBcast: number;
            macTxUcast: number;
            macTxUcastFail: number;
            macTxUcastRetry: number;
            neighborAdded: number;
            neighborRemoved: number;
            neighborStale: number;
            numberOfResets: number;
            nwkDecryptFailures: number;
            nwkFcFailure: number;
            packetBufferAllocateFailures: number;
            packetValidateDropCount: number;
            persistentMemoryWrites: number;
            phyToMacQueueLimitReached: number;
            relayedUcast: number;
            routeDiscInitiated: number;
            schneiderCommunicationQuality?: number;
            schneiderDiagnosticRegister1?: number;
            schneiderMeterStatus?: number;
        };
        commandResponses: never;
        commands: never;
    }
    haElectricalMeasurement: {
        attributes: {
            acActivePowerOverload: number;
            acAlarmsMask: number;
            acCurrentDivisor: number;
            acCurrentMultiplier: number;
            acCurrentOverload: number;
            acFrequency: number;
            acFrequencyDivisor: number;
            acFrequencyMax: number;
            acFrequencyMin: number;
            acFrequencyMultiplier: number;
            acPowerDivisor: number;
            acPowerMultiplier: number;
            acReactivePowerOverload: number;
            activeCurrentPhB: number;
            activeCurrentPhC: number;
            activePower: number;
            activePowerMax: number;
            activePowerMaxPhB: number;
            activePowerMaxPhC: number;
            activePowerMin: number;
            activePowerMinPhB: number;
            activePowerMinPhC: number;
            activePowerPhB: number;
            activePowerPhC: number;
            acVoltageDivisor: number;
            acVoltageMultiplier: number;
            acVoltageOverload: number;
            apparentPower: number;
            apparentPowerPhB: number;
            apparentPowerPhC: number;
            averageRmsOverVoltage: number;
            averageRmsOverVoltageCounter: number;
            averageRmsOverVoltageCounterPhB: number;
            averageRmsOverVoltageCounterPhC: number;
            averageRmsUnderVoltage: number;
            averageRmsUnderVoltageCounter: number;
            averageRmsVoltageMeasPeriod: number;
            averageRmsVoltageMeasPeriodPhC: number;
            averageRmsVoltageMeasurePeriodPhB: number;
            averageUnderVoltageCounterPhB: number;
            averageUnderVoltageCounterPhC: number;
            dcCurrent: number;
            dcCurrentDivisor: number;
            dcCurrentMax: number;
            dcCurrentMin: number;
            dcCurrentMultiplier: number;
            dcCurrentOverload: number;
            dcOverloadAlarmsMask: number;
            dcPower: number;
            dcPowerDivisor: number;
            dcPowerMax: number;
            dcPowerMin: number;
            dcPowerMultiplier: number;
            dcVoltage: number;
            dcVoltageDivisor: number;
            dcvoltagemax: number;
            dcVoltageMin: number;
            dcVoltageMultiplier: number;
            dcVoltageOverload: number;
            harmonicCurrentMultiplier: number;
            instantaneousActiveCurrent: number;
            instantaneousLineCurrent: number;
            instantaneousPower: number;
            instantaneousReactiveCurrent: number;
            instantaneousVoltage: number;
            lineCurrentPhB: number;
            lineCurrentPhC: number;
            meas11thHarmonicCurrent: number;
            meas1stHarmonicCurrent: number;
            meas3rdHarmonicCurrent: number;
            meas5thHarmonicCurrent: number;
            meas7thHarmonicCurrent: number;
            meas9thHarmonicCurrent: number;
            measPhase11thHarmonicCurrent: number;
            measPhase1stHarmonicCurrent: number;
            measPhase3rdHarmonicCurrent: number;
            measPhase5thHarmonicCurrent: number;
            measPhase7thHarmonicCurrent: number;
            measPhase9thHarmonicCurrent: number;
            measurementType: number;
            neutralCurrent: number;
            phaseHarmonicCurrentMultiplier: number;
            powerDivisor: number;
            powerFactor: number;
            powerFactorPhB: number;
            powerFactorPhC: number;
            powerMultiplier: number;
            reactiveCurrentPhB: number;
            reactiveCurrentPhC: number;
            reactivePower: number;
            reactivePowerPhB: number;
            reactivePowerPhC: number;
            rmsCurrent: number;
            rmsCurrentMax: number;
            rmsCurrentMaxPhB: number;
            rmsCurrentMaxPhC: number;
            rmsCurrentMin: number;
            rmsCurrentMinPhB: number;
            rmsCurrentMinPhC: number;
            rmsCurrentPhB: number;
            rmsCurrentPhC: number;
            rmsExtremeOverVoltage: number;
            rmsExtremeOverVoltagePeriod: number;
            rmsExtremeOverVoltagePeriodPhB: number;
            rmsExtremeOverVoltagePeriodPhC: number;
            rmsExtremeUnderVoltage: number;
            rmsExtremeUnderVoltagePeriod: number;
            rmsExtremeUnderVoltagePeriodPhB: number;
            rmsExtremeUnderVoltagePeriodPhC: number;
            rmsVoltage: number;
            rmsVoltageMax: number;
            rmsVoltageMaxPhB: number;
            rmsVoltageMaxPhC: number;
            rmsVoltageMin: number;
            rmsVoltageMinPhB: number;
            rmsVoltageMinPhC: number;
            rmsVoltagePhB: number;
            rmsVoltagePhC: number;
            rmsVoltageSag: number;
            rmsVoltageSagPeriod: number;
            rmsVoltageSagPeriodPhB: number;
            rmsVoltageSagPeriodPhC: number;
            rmsVoltageSwell: number;
            rmsVoltageSwellPeriod: number;
            rmsVoltageSwellPeriodPhB: number;
            rmsVoltageSwellPeriodPhC: number;
            schneiderActivePowerDemandPhase1?: number;
            schneiderActivePowerDemandPhase2?: number;
            schneiderActivePowerDemandPhase3?: number;
            schneiderActivePowerDemandTotal?: number;
            schneiderApparentPowerDemandPhase1?: number;
            schneiderApparentPowerDemandPhase2?: number;
            schneiderApparentPowerDemandPhase3?: number;
            schneiderApparentPowerDemandTotal?: number;
            schneiderCurrentSensorMultiplier?: number;
            schneiderDemandDateTime?: number;
            schneiderDemandIntervalDuration?: number;
            schneiderDemandIntervalMaximalCurrentI1?: number;
            schneiderDemandIntervalMaximalCurrentI2?: number;
            schneiderDemandIntervalMaximalCurrentI3?: number;
            schneiderDemandIntervalMinimalVoltageL1?: number;
            schneiderDemandIntervalMinimalVoltageL2?: number;
            schneiderDemandIntervalMinimalVoltageL3?: number;
            schneiderReactivePowerDemandPhase1?: number;
            schneiderReactivePowerDemandPhase2?: number;
            schneiderReactivePowerDemandPhase3?: number;
            schneiderReactivePowerDemandTotal?: number;
            totalActivePower: number;
            totalApparentPower: number;
            totalReactivePower: number;
        };
        commandResponses: {
            getMeasurementProfileRsp: {
                attrId: number;
                intervals: number[];
                numofintervalsdeliv: number;
                profileintervalperiod: number;
                starttime: number;
                status: number;
            };
            getProfileInfoRsp: {
                listofattr: number[];
                maxnumofintervals: number;
                numofattrs: number;
                profilecount: number;
                profileintervalperiod: number;
            };
        };
        commands: {
            getMeasurementProfile: {
                attrId: number;
                numofuntervals: number;
                starttime: number;
            };
            getProfileInfo: Record<string, never>;
        };
    }
    haMeterIdentification: {
        attributes: {
            availablePower: number;
            companyName: string;
            customerName: string;
            dataQualityId: number;
            meterTypeId: number;
            model: string;
            partNumber: string;
            pod: string;
            powerThreshold: number;
            productRevision: string;
            softwareRevision: string;
            utilityName: string;
        };
        commandResponses: never;
        commands: never;
    }
    heimanSpecificAirQuality: {
        attributes: {
            alarmEnable: number;
            aqiMeasuredValue: number;
            batteryState: number;
            humidityMeasuredMax: number;
            humidityMeasuredMin: number;
            language: number;
            pm10measuredValue: number;
            temperatureMeasuredMax: number;
            temperatureMeasuredMin: number;
            tvocMeasuredValue: number;
            unitOfMeasure: number;
        };
        commandResponses: never;
        commands: {
            getTime: Record<string, never>;
            setLanguage: { languageCode: number };
            setUnitOfTemperature: { unitsCode: number };
        };
    }
    heimanSpecificInfraRedRemote: {
        attributes: never;
        commandResponses: {
            createIdRsp: { id: number; modelType: number };
            getIdAndKeyCodeListRsp: {
                learnedDevicesList: number[];
                packetLength: number;
                packetNumber: number;
                packetsTotal: number;
            };
            studyKeyRsp: { id: number; keyCode: number; result: number };
        };
        commands: {
            createId: { modelType: number };
            deleteKey: { id: number; keyCode: number };
            getIdAndKeyCodeList: Record<string, never>;
            sendKey: { id: number; keyCode: number };
            studyKey: { id: number; keyCode: number };
        };
    }
    heimanSpecificScenes: {
        attributes: never;
        commandResponses: never;
        commands: {
            atHome: Record<string, never>;
            cinema: Record<string, never>;
            goOut: Record<string, never>;
            repast: Record<string, never>;
            sleep: Record<string, never>;
        };
    }
    hvacDehumidificationCtrl: {
        attributes: {
            dehumidCooling: number;
            dehumidHysteresis: number;
            dehumidLockout: number;
            dehumidMaxCool: number;
            relativeHumidDisplay: number;
            relativeHumidity: number;
            relativeHumidityMode: number;
            rhDehumidSetpoint: number;
        };
        commandResponses: never;
        commands: never;
    }
    hvacFanCtrl: {
        attributes: { fanMode: number; fanModeSequence: number };
        commandResponses: never;
        commands: never;
    }
    hvacPumpCfgCtrl: {
        attributes: {
            alarmMask: number;
            capacity: number;
            controlMode: number;
            effectiveControlMode: number;
            effectiveOperationMode: number;
            lifetimeEnergyConsumed: number;
            lifetimeRunningHours: number;
            maxCompPressure: number;
            maxConstFlow: number;
            maxConstPressure: number;
            maxConstSpeed: number;
            maxConstTemp: number;
            maxFlow: number;
            maxPressure: number;
            maxSpeed: number;
            minCompPressure: number;
            minConstFlow: number;
            minConstPressure: number;
            minConstSpeed: number;
            minConstTemp: number;
            operationMode: number;
            power: number;
            pumpStatus: number;
            speed: number;
        };
        commandResponses: never;
        commands: never;
    }
    hvacThermostat: {
        attributes: {
            absMaxCoolSetpointLimit: number;
            absMaxHeatSetpointLimit: number;
            absMinCoolSetpointLimit: number;
            absMinHeatSetpointLimit: number;
            acCapacity: number;
            acCapacityFormat: number;
            acCollTemp: number;
            acConpressorType: number;
            acErrorCode: number;
            acLouverPosition: number;
            acRefrigerantType: number;
            acType: number;
            alarmMask: number;
            ctrlSeqeOfOper: number;
            danfossAdaptionRunControl?: number;
            danfossAdaptionRunSettings?: number;
            danfossAdaptionRunStatus?: number;
            danfossAlgorithmScaleFactor?: number;
            danfossDayOfWeek?: number;
            danfossExternalMeasuredRoomSensor?: number;
            danfossFloorMaxSetpoint?: number;
            danfossFloorMinSetpoint?: number;
            danfossHeatAvailable?: number;
            danfossHeatRequired?: number;
            danfossIcon2PreHeat?: number;
            danfossIcon2PreHeatStatus?: number;
            danfossLoadBalancingEnable?: number;
            danfossLoadEstimate?: number;
            danfossLoadRoomMean?: number;
            danfossMountedModeActive?: number;
            danfossMountedModeControl?: number;
            danfossOutputStatus?: number;
            danfossPreheatStatus?: number;
            danfossPreheatTime?: number;
            danfossRadiatorCovered?: number;
            danfossRegulationSetpointOffset?: number;
            danfossRoomFloorSensorMode?: number;
            danfossRoomStatusCode?: number;
            danfossScheduleTypeUsed?: number;
            danfossThermostatOrientation?: number;
            danfossTriggerTime?: number;
            danfossWindowOpenExternal?: number;
            danfossWindowOpenFeatureEnable?: number;
            danfossWindowOpenInternal?: number;
            elkoCalibration: number;
            elkoChildLock: number;
            elkoDateTime: Buffer;
            elkoDisplayText: string;
            elkoExternalTemp: number;
            elkoFrostGuard: number;
            elkoLastMessageId: number;
            elkoLastMessageStatus: number;
            elkoLoad: number;
            elkoMaxFloorTemp: number;
            elkoMeanPower: number;
            elkoNightSwitching: number;
            elkoPowerStatus: number;
            elkoRegulatorMode: number;
            elkoRegulatorTime: number;
            elkoRelayState: number;
            elkoSensor: number;
            elkoVersion: Buffer;
            fourNoksHysteresisHigh?: number;
            fourNoksHysteresisLow?: number;
            localTemp: number;
            localTemperatureCalibration: number;
            maxCoolSetpointLimit: number;
            maxHeatSetpointLimit: number;
            minCoolSetpointLimit: number;
            minHeatSetpointLimit: number;
            minSetpointDeadBand: number;
            numberOfDailyTrans: number;
            numberOfWeeklyTrans: number;
            occupancy: number;
            occupiedCoolingSetpoint: number;
            occupiedHeatingSetpoint: number;
            outdoorTemp: number;
            pICoolingDemand: number;
            pIHeatingDemand: number;
            programingOperMode: number;
            remoteSensing: number;
            runningMode: number;
            runningState: number;
            schneiderWiserSpecific?: number;
            setpointChangeAmount: number;
            setpointChangeSource: number;
            setpointChangeSourceTimeStamp: number;
            SinopeAuxCycleOutput?: number;
            SinopeBacklight?: number;
            SinopeMainCycleOutput?: number;
            SinopeOccupancy?: number;
            startOfWeek: number;
            StelproOutdoorTemp: number;
            StelproSystemMode: number;
            systemMode: number;
            systemTypeConfig: number;
            tempSetpointHold: number;
            tempSetpointHoldDuration: number;
            unoccupiedCoolingSetpoint: number;
            unoccupiedHeatingSetpoint: number;
            viessmannAssemblyMode?: number;
            viessmannWindowOpenForce?: number;
            viessmannWindowOpenInternal?: number;
        };
        commandResponses: {
            getRelayStatusLogRsp: {
                humidity: number;
                localtemp: number;
                relaystatus: number;
                setpoint: number;
                timeofday: number;
                unreadentries: number;
            };
            getWeeklyScheduleRsp: {
                dayofweek: number;
                mode: number;
                numoftrans: number;
                transitions: ThermoTransition[];
            };
        };
        commands: {
            clearWeeklySchedule: Record<string, never>;
            danfossSetpointCommand: { setpoint: number; setpointType: number };
            getRelayStatusLog: Record<string, never>;
            getWeeklySchedule: { daystoreturn: number; modetoreturn: number };
            plugwiseCalibrateValve: Record<string, never>;
            schneiderWiserThermostatBoost: {
                command: number;
                duration: number;
                enable: number;
                temperature: number;
            };
            setpointRaiseLower: { amount: number; mode: number };
            setWeeklySchedule: {
                dayofweek: number;
                mode: number;
                numoftrans: number;
                transitions: ThermoTransition[];
            };
            wiserSmartCalibrateValve: Record<string, never>;
            wiserSmartSetFipMode: {
                fipmode: number;
                reserved: number;
                zonemode: number;
            };
            wiserSmartSetSetpoint: {
                operatingmode: number;
                reserved: number;
                setpoint: number;
                zonemode: number;
            };
        };
    }
    hvacUserInterfaceCfg: {
        attributes: {
            danfossViewingDirection?: number;
            keypadLockout: number;
            programmingVisibility: number;
            tempDisplayMode: number;
        };
        commandResponses: never;
        commands: never;
    }
    lightingBallastCfg: {
        attributes: {
            ballastFactorAdjustment: number;
            ballastStatus: number;
            elkoControlMode?: number;
            intrinsicBallastFactor: number;
            lampAlarmMode: number;
            lampBurnHours: number;
            lampBurnHoursTripPoint: number;
            lampManufacturer: string;
            lampQuantity: number;
            lampRatedHours: number;
            lampType: string;
            maxLevel: number;
            minLevel: number;
            physicalMaxLevel: number;
            physicalMinLevel: number;
            powerOnFadeTime: number;
            powerOnLevel: number;
            wiserControlMode?: number;
        };
        commandResponses: never;
        commands: never;
    }
    lightingColorCtrl: {
        attributes: {
            colorCapabilities: number;
            colorLoopActive: number;
            colorLoopDirection: number;
            colorLoopStartEnhancedHue: number;
            colorLoopStoredEnhancedHue: number;
            colorLoopTime: number;
            colorMode: number;
            colorPointBIntensity: number;
            colorPointBX: number;
            colorPointBY: number;
            colorPointGIntensity: number;
            colorPointGX: number;
            colorPointGY: number;
            colorPointRIntensity: number;
            colorPointRX: number;
            colorPointRY: number;
            colorTemperature: number;
            colorTempPhysicalMax: number;
            colorTempPhysicalMin: number;
            compensationText: string;
            coupleColorTempToLevelMin: number;
            currentHue: number;
            currentSaturation: number;
            currentX: number;
            currentY: number;
            driftCompensation: number;
            enhancedColorMode: number;
            enhancedCurrentHue: number;
            numPrimaries: number;
            options: number;
            primary1Intensity: number;
            primary1X: number;
            primary1Y: number;
            primary2Intensity: number;
            primary2X: number;
            primary2Y: number;
            primary3Intensity: number;
            primary3X: number;
            primary3Y: number;
            primary4Intensity: number;
            primary4X: number;
            primary4Y: number;
            primary5Intensity: number;
            primary5X: number;
            primary5Y: number;
            primary6Intensity: number;
            primary6X: number;
            primary6Y: number;
            remainingTime: number;
            startUpColorTemperature: number;
            tuyaBrightness: number;
            tuyaRgbMode: number;
            whitePointX: number;
            whitePointY: number;
        };
        commandResponses: never;
        commands: {
            colorLoopSet: {
                action: number;
                direction: number;
                starthue: number;
                time: number;
                updateflags: number;
            };
            enhancedMoveHue: { movemode: number; rate: number };
            enhancedMoveToHue: {
                direction: number;
                enhancehue: number;
                transtime: number;
            };
            enhancedMoveToHueAndSaturation: {
                enhancehue: number;
                saturation: number;
                transtime: number;
            };
            enhancedStepHue: { stepmode: number; stepsize: number; transtime: number };
            moveColor: { ratex: number; ratey: number };
            moveColorTemp: {
                maximum: number;
                minimum: number;
                movemode: number;
                rate: number;
            };
            moveHue: { movemode: number; rate: number };
            moveSaturation: { movemode: number; rate: number };
            moveToColor: { colorx: number; colory: number; transtime: number };
            moveToColorTemp: { colortemp: number; transtime: number };
            moveToHue: { direction: number; hue: number; transtime: number };
            moveToHueAndSaturation: {
                hue: number;
                saturation: number;
                transtime: number;
            };
            moveToSaturation: { saturation: number; transtime: number };
            stepColor: { stepx: number; stepy: number; transtime: number };
            stepColorTemp: {
                maximum: number;
                minimum: number;
                stepmode: number;
                stepsize: number;
                transtime: number;
            };
            stepHue: { stepmode: number; stepsize: number; transtime: number };
            stepSaturation: { stepmode: number; stepsize: number; transtime: number };
            stopMoveStep: {
                action: number;
                bits: number;
                bytee: number;
                direction: number;
                starthue: number;
                time: number;
            };
            tuyaDoNotDisturb: { enable: number };
            tuyaMoveToHueAndSaturationBrightness: {
                brightness: number;
                hue: number;
                saturation: number;
                transtime: number;
            };
            tuyaMoveToHueAndSaturationBrightness2: {
                brightness: number;
                hue: number;
                saturation: number;
            };
            tuyaOnOffTransitionTime: {
                offTransitionTime: number;
                onTransitionTime: number;
                unknown: number;
            };
            tuyaOnStartUp: { data: number[]; mode: number };
            tuyaRgbMode: { enable: number };
            tuyaSetMinimumBrightness: { minimum: number };
        };
    }
    liXeePrivate: {
        attributes: {
            activeEnergyOutD01: number;
            activeEnergyOutD02: number;
            activeEnergyOutD03: number;
            activeEnergyOutD04: number;
            currentDate: string;
            currentIndexTarif: number;
            currentPrice: string;
            currentTarif: string;
            daysNumberCurrentCalendar: number;
            daysNumberNextCalendar: number;
            daysProfileCurrentCalendar: Buffer;
            daysProfileNextCalendar: Buffer;
            drawnVAMaxN1: number;
            drawnVAMaxN1P2: number;
            drawnVAMaxN1P3: number;
            injectedActiveLoadN: number;
            injectedActiveLoadN1: number;
            injectedVA: number;
            injectedVAMaxN: number;
            injectedVAMaxN1: number;
            linkyMode: number;
            message1: string;
            message2: string;
            motDEtat: string;
            presencePotential: number;
            relais: number;
            scheduleHPHC: number;
            startMobilePoint1: number;
            startMobilePoint2: number;
            startMobilePoint3: number;
            startNoticeEJP: number;
            statusRegister: Buffer;
            stopMobilePoint1: number;
            stopMobilePoint2: number;
            stopMobilePoint3: number;
            tomorrowColor: string;
            warnDIR1: number;
            warnDIR2: number;
            warnDIR3: number;
            warnDPS: number;
        };
        commandResponses: never;
        commands: never;
    }
    manuSpecificAmazonWWAH: {
        attributes: {
            clusterRevision: number;
            configurationModeEnabled: number;
            currentDebugReportID: number;
            disableOTADowngrades: number;
            macPollFailureWaitTime: number;
            macRetryCount: number;
            mgmtLeaveWithoutRejoinEnabled: number;
            nwkRetryCount: number;
            otaMaxOfflineDuration: number;
            pendingNetworkUpdateChannel: number;
            pendingNetworkUpdatePANID: number;
            routerCheckInEnabled: number;
            tcSecurityOnNwkKeyRotationEnabled: number;
            touchlinkInterpanEnabled: number;
            wwahAppEventRetryEnabled: number;
            wwahAppEventRetryQueueSize: number;
            wwahBadParentRecoveryEnabled: number;
            wwahParentClassificationEnabled: number;
            wwahRejoinEnabled: number;
        };
        commandResponses: never;
        commands: { clearBindingTable: Record<string, never> };
    }
    manuSpecificAssaDoorLock: {
        attributes: {
            alarmMask: number;
            allCodesLockout: number;
            autoLockTime: number;
            batteryLevel: number;
            insideEscutcheonLED: number;
            language: number;
            lockMode: number;
            numberLogRecordsSupported: number;
            numberPinsSupported: number;
            numberScheduleSlotsPerUser: number;
            oneTouchLocking: number;
            privacyButtonSetting: number;
            shutdownTime: number;
            volume: number;
            wrongCodeAttempts: number;
        };
        commandResponses: {
            getLockStatusRsp: { status: number };
            reflashDataRsp: { status: number };
            reflashRsp: { status: number };
            reflashStatusRsp: { status: number };
        };
        commands: {
            clearAllUserCodes: Record<string, never>;
            configureReporting: Record<string, never>;
            getBasicClusterAttributes: Record<string, never>;
            getBatteryLevel: Record<string, never>;
            getHistory: Record<string, never>;
            getLastUserIdEntered: Record<string, never>;
            getLockStatus: Record<string, never>;
            getLogin: Record<string, never>;
            getMandatoryAttributes: Record<string, never>;
            getReflashLock: Record<string, never>;
            getScheduleSlot: { payload: string };
            getUser: Record<string, never>;
            getUserCodeStatus: Record<string, never>;
            getUsers: Record<string, never>;
            readAttribute: Record<string, never>;
            reflash: { payload: string };
            reflashData: { payload: string };
            reflashStatus: { payload: string };
            setRFLockoutTime: Record<string, never>;
            setScheduleSlot: { payload: string };
            setScheduleSlotStatus: { payload: string };
            setUserCodeStatus: Record<string, never>;
            userAdded: Record<string, never>;
            userCodeClear: { payload: string };
            userCodeGet: { payload: string };
            userCodeSet: { payload: string };
            userDeleted: Record<string, never>;
            writeAttribute: Record<string, never>;
        };
    }
    manuSpecificCentraliteHumidity: {
        attributes: { measuredValue: number };
        commandResponses: never;
        commands: never;
    }
    manuSpecificClusterAduroSmart: {
        attributes: never;
        commandResponses: never;
        commands: { cmd0: Record<string, never> };
    }
    manuSpecificDoorman: {
        attributes: never;
        commandResponses: never;
        commands: {
            armDisarm: { payload: string };
            getConfigurationParameter: { payload: string };
            integrationModeActivation: { payload: string };
            setConfigurationParameter: { payload: string };
        };
    }
    manuSpecificLegrandDevices: {
        attributes: never;
        commandResponses: never;
        commands: never;
    }
    manuSpecificLegrandDevices2: {
        attributes: never;
        commandResponses: never;
        commands: { command0: { data: Buffer } };
    }
    manuSpecificLegrandDevices3: {
        attributes: never;
        commandResponses: never;
        commands: { command0: { data: Buffer } };
    }
    manuSpecificLumi: {
        attributes: {
            airQuality: number;
            curtainCalibrated: number;
            curtainHandOpen: number;
            curtainReverse: number;
            displayUnit: number;
            illuminance: number;
            mode: number;
        };
        commandResponses: never;
        commands: never;
    }
    manuSpecificOsram: {
        attributes: never;
        commandResponses: { saveStartupParamsRsp: Record<string, never> };
        commands: {
            resetStartupParams: Record<string, never>;
            saveStartupParams: Record<string, never>;
        };
    }
    manuSpecificPhilips: {
        attributes: { config: number };
        commandResponses: {
            hueNotification: {
                button: number;
                time: number;
                type: number;
                unknown1: number;
                unknown2: number;
                unknown3: number;
            };
        };
        commands: never;
    }
    manuSpecificPhilips2: {
        attributes: { state: Buffer };
        commandResponses: never;
        commands: { multiColor: { data: Buffer } };
    }
    manuSpecificProfalux1: {
        attributes: { motorCoverType: number };
        commandResponses: never;
        commands: never;
    }
    manuSpecificSamsungAccelerometer: {
        attributes: {
            acceleration: number;
            motion_threshold: number;
            motion_threshold_multiplier: number;
            x_axis: number;
            y_axis: number;
            z_axis: number;
        };
        commandResponses: never;
        commands: never;
    }
    manuSpecificSchneiderFanSwitchConfiguration: {
        attributes: { ledIndication: number; ledOrientation: number };
        commandResponses: never;
        commands: never;
    }
    manuSpecificSchneiderLightSwitchConfiguration: {
        attributes: {
            downGroupID: number;
            downSceneID: number;
            ledIndication: number;
            switchActions: number;
            upGroupID: number;
            upSceneID: number;
        };
        commandResponses: never;
        commands: never;
    }
    manuSpecificSiglisZigfred: {
        attributes: { buttonEvent: number };
        commandResponses: never;
        commands: {
            siglisZigfredButtonEvent: {
                button: number;
                duration: number;
                type: number;
            };
        };
    }
    manuSpecificSinope: {
        attributes: {
            actionReport: number;
            ambiantMaxHeatSetpointLimit: number;
            auxConnectedLoad: number;
            auxOutputMode: number;
            coldLoadPickupStatus: number;
            connectedLoad: number;
            connectedLoadRM: number;
            currentLoad: number;
            currentSetpoint: number;
            currentTimeToDisplay: number;
            dimmerTimmer: number;
            drConfigWaterTempMin: number;
            drConfigWaterTempTime: number;
            drWTTimeOn: number;
            ecoMode: number;
            ecoMode1: number;
            ecoMode2: number;
            firmwareVersion: string;
            floorControlMode: number;
            floorLimitStatus: number;
            floorMaxHeatSetpointLimit: number;
            floorMinHeatSetpointLimit: number;
            floorTemperature: number;
            flowMeterConfig: unknown[] | ZclArray;
            GFCiStatus: number;
            keypadLockout: number;
            ledColorOff: number;
            ledColorOn: number;
            ledIntensityOff: number;
            ledIntensityOn: number;
            minimumBrightness: number;
            offLedIntensity: number;
            onLedIntensity: number;
            outdoorTempToDisplay: number;
            outdoorTempToDisplayTimeout: number;
            pumpProtection: number;
            reportLocalTemperature: number;
            roomTemperature: number;
            secondScreenBehavior: number;
            temperatureSensor: number;
            timeFormatToDisplay: number;
            unknown: number;
            unknown1: number;
            unknown2: number;
            unknown3: number;
        };
        commandResponses: never;
        commands: never;
    }
    manuSpecificSmartThingsArrivalSensor: {
        attributes: never;
        commandResponses: { arrivalSensorNotify: Record<string, never> };
        commands: never;
    }
    manuSpecificTuya: {
        attributes: never;
        commandResponses: {
            activeStatusReport: { dpValues: TuyaDataPointValue[]; seq: number };
            activeStatusReportAlt: { dpValues: TuyaDataPointValue[]; seq: number };
            dataReport: { dpValues: TuyaDataPointValue[]; seq: number };
            dataResponse: { dpValues: TuyaDataPointValue[]; seq: number };
            mcuGatewayConnectionStatus: { payloadSize: number };
            mcuOtaBlockDataRequest: {
                key_hi: number;
                key_lo: number;
                offset: number;
                seq: number;
                size: number;
                version: number;
            };
            mcuOtaResult: {
                key_hi: number;
                key_lo: number;
                seq: number;
                status: number;
                version: number;
            };
            mcuSyncTime: { payloadSize: number };
            mcuVersionResponse: { seq: number; version: number };
        };
        commands: {
            dataQuery: Record<string, never>;
            dataRequest: { dpValues: TuyaDataPointValue[]; seq: number };
            mcuGatewayConnectionStatus: { payload: number; payloadSize: number };
            mcuOtaBlockDataResponse: {
                imageData: number[];
                key_hi: number;
                key_lo: number;
                offset: number;
                seq: number;
                status: number;
                version: number;
            };
            mcuOtaNotify: {
                crc: number;
                imageSize: number;
                key_hi: number;
                key_lo: number;
                seq: number;
                version: number;
            };
            mcuSyncTime: { payload: number[]; payloadSize: number };
            mcuVersionRequest: { seq: number };
            sendData: { dpValues: TuyaDataPointValue[]; seq: number };
        };
    }
    manuSpecificTuya2: {
        attributes: {
            alarm_humidity: number;
            alarm_humidity_max: number;
            alarm_humidity_min: number;
            alarm_temperature: number;
            alarm_temperature_max: number;
            alarm_temperature_min: number;
            unknown: number;
        };
        commandResponses: never;
        commands: never;
    }
    manuSpecificTuya3: {
        attributes: {
            powerOnBehavior: number;
            switchMode: number;
            switchType: number;
        };
        commandResponses: never;
        commands: {
            setOptions1: { data: Buffer };
            setOptions2: { data: Buffer };
            setOptions3: { data: Buffer };
        };
    }
    mobileDeviceCfg: {
        attributes: { keepAliveTime: number; rejoinTimeout: number };
        commandResponses: never;
        commands: never;
    }
    msBromate: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msBromodichloromethane: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msBromoform: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msCarbonMonoxide: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msChloramines: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msChlorine: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msChlorodibromomethane: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msChloroform: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msCO2: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            sprutCO2AutoCalibration?: number;
            sprutCO2Calibration?: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msCopper: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msDissolvedOxygen: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msElectricalConductivity: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msEthylene: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msEthyleneOxide: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msFecalColiformAndEColi: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msFlowMeasurement: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msFluoride: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msFormaldehyde: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msHaloaceticAcids: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msHydrogen: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msHydrogenSulfide: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msIlluminanceLevelSensing: {
        attributes: {
            illuminanceTargetLevel: number;
            levelStatus: number;
            lightSensorType: number;
        };
        commandResponses: never;
        commands: never;
    }
    msIlluminanceMeasurement: {
        attributes: {
            lightSensorType: number;
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msLead: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msLeafWetness: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msManganese: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msNitricOxide: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msNitrogenDioxide: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msOccupancySensing: {
        attributes: {
            contactOToUDelay: number;
            contactUToODelay: number;
            contactUToOThreshold: number;
            elkoForceOffTimeout?: number;
            elkoOccupancyDfltOperationMode?: number;
            elkoOccupancyOperationMode?: number;
            elkoOccupancySensitivity?: number;
            occupancy: number;
            occupancySensorType: number;
            occupancySensorTypeBitmap: number;
            pirOToUDelay: number;
            pirUToODelay: number;
            pirUToOThreshold: number;
            sprutOccupancyLevel?: number;
            sprutOccupancySensitivity?: number;
            ultrasonicOToUDelay: number;
            ultrasonicUToODelay: number;
            ultrasonicUToOThreshold: number;
        };
        commandResponses: never;
        commands: never;
    }
    msOxygen: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msOzone: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msPressureMeasurement: {
        attributes: {
            maxMeasuredValue: number;
            maxScaledValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            minScaledValue: number;
            scale: number;
            scaledTolerance: number;
            scaledValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msRelativeHumidity: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            sprutHeater?: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msSodium: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msSoilMoisture: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msSulfate: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msSulfurDioxide: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msTemperatureMeasurement: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minAbsoluteChange: never;
            minMeasuredValue: number;
            minPercentChange: never;
            sprutTemperatureOffset?: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msTotalColiformBacteria: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msTotalTrihalomethanes: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msTurbidity: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    msWindSpeed: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    nearestGateway: {
        attributes: { nearestGateway: number; newMobileNode: number };
        commandResponses: never;
        commands: never;
    }
    neighborCleaning: {
        attributes: { neighborCleaningTimeout: number };
        commandResponses: never;
        commands: never;
    }
    owonClearMetering: {
        attributes: never;
        commandResponses: never;
        commands: { owonClearMeasurementData: Record<string, never> };
    }
    pHMeasurement: {
        attributes: {
            maxMeasuredValue: number;
            measuredValue: number;
            minMeasuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    pi11073ProtocolTunnel: {
        attributes: {
            connected: number;
            deviceidList: unknown[] | ZclArray;
            idleTimeout: number;
            managerEndpoint: number;
            managerTarget: string;
            preemptible: number;
        };
        commandResponses: never;
        commands: {
            connectReq: Record<string, never>;
            connectStatusNoti: Record<string, never>;
            disconnectReq: Record<string, never>;
            transferApdu: Record<string, never>;
        };
    }
    piAnalogInputExt: {
        attributes: {
            ackedTransitions: number;
            deadband: number;
            eventEnable: number;
            eventState: number;
            eventTimeStamps: unknown[] | ZclArray;
            highLimit: number;
            limitEnable: number;
            lowLimit: number;
            notificationClass: number;
            notifyType: number;
            timeDelay: number;
        };
        commandResponses: never;
        commands: {
            connectReq: Record<string, never>;
            connectStatusNoti: Record<string, never>;
            disconnectReq: Record<string, never>;
            transferApdu: Record<string, never>;
        };
    }
    piAnalogInputReg: {
        attributes: {
            covIncrement: number;
            deviceType: string;
            objectId: number;
            objectName: string;
            objectType: number;
            profileName: string;
            updateInterval: number;
        };
        commandResponses: never;
        commands: never;
    }
    piAnalogOutputExt: {
        attributes: {
            ackedTransitions: number;
            deadband: number;
            eventEnable: number;
            eventState: number;
            eventTimeStamps: unknown[] | ZclArray;
            highLimit: number;
            limitEnable: number;
            lowLimit: number;
            notificationClass: number;
            notifyType: number;
            timeDelay: number;
        };
        commandResponses: never;
        commands: never;
    }
    piAnalogOutputReg: {
        attributes: {
            covIncrement: number;
            deviceType: string;
            objectId: number;
            objectName: string;
            objectType: number;
            profileName: string;
            updateInterval: number;
        };
        commandResponses: never;
        commands: never;
    }
    piAnalogValueExt: {
        attributes: {
            ackedTransitions: number;
            deadband: number;
            eventEnable: number;
            eventState: number;
            eventTimeStamps: unknown[] | ZclArray;
            highLimit: number;
            limitEnable: number;
            lowLimit: number;
            notificationClass: number;
            notifyType: number;
            timeDelay: number;
        };
        commandResponses: never;
        commands: never;
    }
    piAnalogValueReg: {
        attributes: {
            covIncrement: number;
            objectId: number;
            objectName: string;
            objectType: number;
            profileName: string;
        };
        commandResponses: never;
        commands: never;
    }
    piBacnetProtocolTunnel: {
        attributes: never;
        commandResponses: never;
        commands: { transferNpdu: { npdu: number } };
    }
    piBinaryInputExt: {
        attributes: {
            ackedTransitions: number;
            alarmValue: number;
            eventEnable: number;
            eventState: number;
            eventTimeStamps: unknown[] | ZclArray;
            notificationClass: number;
            notifyType: number;
            timeDelay: number;
        };
        commandResponses: never;
        commands: never;
    }
    piBinaryInputReg: {
        attributes: {
            changeOfStateCount: number;
            changeOfStateTime: Struct;
            deviceType: string;
            elapsedActiveTime: number;
            objectIdentifier: number;
            objectName: string;
            objectType: number;
            profileName: string;
            timeOfATReset: Struct;
            timeOfSCReset: Struct;
        };
        commandResponses: never;
        commands: never;
    }
    piBinaryOutputExt: {
        attributes: {
            ackedTransitions: number;
            eventEnable: number;
            eventState: number;
            eventTimeStamps: unknown[] | ZclArray;
            notificationClass: number;
            notifyType: number;
            timeDelay: number;
        };
        commandResponses: never;
        commands: never;
    }
    piBinaryOutputReg: {
        attributes: {
            changeOfStateCount: number;
            changeOfStateTime: Struct;
            deviceType: string;
            elapsedActiveTime: number;
            feedBackValue: number;
            objectIdentifier: number;
            objectName: string;
            objectType: number;
            profileName: string;
            timeOfATReset: Struct;
            timeOfSCReset: Struct;
        };
        commandResponses: never;
        commands: never;
    }
    piBinaryValueExt: {
        attributes: {
            ackedTransitions: number;
            alarmValue: number;
            eventEnable: number;
            eventState: number;
            eventTimeStamps: unknown[] | ZclArray;
            notificationClass: number;
            notifyType: number;
            timeDelay: number;
        };
        commandResponses: never;
        commands: never;
    }
    piBinaryValueReg: {
        attributes: {
            changeOfStateCount: number;
            changeOfStateTime: Struct;
            elapsedActiveTime: number;
            objectIdentifier: number;
            objectName: string;
            objectType: number;
            profileName: string;
            timeOfATReset: Struct;
            timeOfSCReset: Struct;
        };
        commandResponses: never;
        commands: never;
    }
    piGenericTunnel: {
        attributes: {
            maxIncomeTransSize: number;
            maxOutgoTransSize: number;
            protocolAddr: Buffer;
        };
        commandResponses: {
            advertiseProtocolAddr: { protocoladdr: string };
            matchProtocolAddrRsp: { devieeeaddr: string; protocoladdr: string };
        };
        commands: { matchProtocolAddr: { protocoladdr: string } };
    }
    piIso7818ProtocolTunnel: {
        attributes: { status: number };
        commandResponses: never;
        commands: never;
    }
    piMultistateInputExt: {
        attributes: {
            ackedTransitions: number;
            alarmValue: number;
            eventEnable: number;
            eventState: number;
            eventTimeStamps: unknown[] | ZclArray;
            faultValues: number;
            notificationClass: number;
            notifyType: number;
            timeDelay: number;
        };
        commandResponses: never;
        commands: never;
    }
    piMultistateInputReg: {
        attributes: {
            deviceType: string;
            objectId: number;
            objectName: string;
            objectType: number;
            profileName: string;
        };
        commandResponses: never;
        commands: never;
    }
    piMultistateOutputExt: {
        attributes: {
            ackedTransitions: number;
            eventEnable: number;
            eventState: number;
            eventTimeStamps: unknown[] | ZclArray;
            notificationClass: number;
            notifyType: number;
            timeDelay: number;
        };
        commandResponses: never;
        commands: never;
    }
    piMultistateOutputReg: {
        attributes: {
            deviceType: string;
            feedBackValue: number;
            objectId: number;
            objectName: string;
            objectType: number;
            profileName: string;
        };
        commandResponses: never;
        commands: never;
    }
    piMultistateValueExt: {
        attributes: {
            ackedTransitions: number;
            alarmValue: number;
            eventEnable: number;
            eventState: number;
            eventTimeStamps: unknown[] | ZclArray;
            faultValues: number;
            notificationClass: number;
            notifyType: number;
            timeDelay: number;
        };
        commandResponses: never;
        commands: never;
    }
    piMultistateValueReg: {
        attributes: {
            objectId: number;
            objectName: string;
            objectType: number;
            profileName: string;
        };
        commandResponses: never;
        commands: never;
    }
    piRetailTunnel: {
        attributes: { manufacturerCode: number; msProfile: number };
        commandResponses: never;
        commands: never;
    }
    pm10Measurement: {
        attributes: {
            measuredMaxValue: number;
            measuredMinValue: number;
            measuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    pm1Measurement: {
        attributes: {
            measuredMaxValue: number;
            measuredMinValue: number;
            measuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    pm25Measurement: {
        attributes: {
            measuredMaxValue: number;
            measuredMinValue: number;
            measuredValue: number;
            tolerance: number;
        };
        commandResponses: never;
        commands: never;
    }
    schneiderSpecificPilotMode: {
        attributes: { pilotMode: number };
        commandResponses: never;
        commands: never;
    }
    seMetering: {
        attributes: {
            activeRegisterTierDelivered: number;
            activeRegisterTierReceived: number;
            billToDate: number;
            billToDateTimeStamp: number;
            controlTempreature: number;
            curMonthMaxEnergyCarrDemand: number;
            curMonthMinEnergyCarrDemand: number;
            curPartProfileIntStartTimeDelivered: number;
            curPartProfileIntStartTimeReceived: number;
            curPartProfileIntValueDelivered: number;
            curPartProfileIntValueReceived: number;
            currentBlock: number;
            currentBlockPeriodConsumpDelivered: number;
            currentBlockPeriodConsumpReceived: number;
            currentBlockReceived: number;
            currentdayConsumpDelivered: number;
            currentdayConsumpReceived: number;
            currentDayMaxDemand: number;
            currentdayMaxEnergyCarrDemand: number;
            currentDayMaxPressure: number;
            currentDayMinPressure: number;
            currentDemandDelivered: number;
            currentInEnergyCarrierDemand: number;
            currentInEnergyCarrierSumm: number;
            currentMaxDemandDeliverdTime: number;
            currentMaxDemandDelivered: number;
            currentMaxDemandReceived: number;
            currentMaxDemandReceivedTime: number;
            currentMonthMaxDemand: number;
            currentOutEnergyCarrierDemand: number;
            currentOutEnergyCarrierSumm: number;
            currentSummDelivered: number;
            currentSummReceived: number;
            currentTier10SummDelivered: number;
            currentTier10SummReceived: number;
            currentTier11SummDelivered: number;
            currentTier11SummReceived: number;
            currentTier12SummDelivered: number;
            currentTier12SummReceived: number;
            currentTier13SummDelivered: number;
            currentTier13SummReceived: number;
            currentTier14SummDelivered: number;
            currentTier14SummReceived: number;
            currentTier15SummDelivered: number;
            currentTier15SummReceived: number;
            currentTier1SummDelivered: number;
            currentTier1SummReceived: number;
            currentTier2SummDelivered: number;
            currentTier2SummReceived: number;
            currentTier3SummDelivered: number;
            currentTier3SummReceived: number;
            currentTier4SummDelivered: number;
            currentTier4SummReceived: number;
            currentTier5SummDelivered: number;
            currentTier5SummReceived: number;
            currentTier6SummDelivered: number;
            currentTier6SummReceived: number;
            currentTier7SummDelivered: number;
            currentTier7SummReceived: number;
            currentTier8SummDelivered: number;
            currentTier8SummReceived: number;
            currentTier9SummDelivered: number;
            currentTier9SummReceived: number;
            currentYearMaxDemand: number;
            curYearMaxEnergyCarrDemand: number;
            curYearMinEnergyCarrDemand: number;
            dailyConsumpTarget: number;
            dailyFreezeTime: number;
            defaultUpdatePeriod: number;
            demandFormatting: number;
            demandIntegrationPeriod: number;
            demandLimit: number;
            demandLimitArmDuration: number;
            develcoCurrentSummation?: number;
            develcoInterfaceMode?: number;
            develcoPulseConfiguration?: number;
            dftSumm: number;
            DFTSummationReceived: number;
            divisor: number;
            electricityAlarmMask: number;
            energyCarrierDemandFormatting: number;
            energyCarrierSummFormatting: number;
            energyCarrierUnitOfMeas: number;
            extendedGenericAlarmMask: number;
            extendedStatus: bigint;
            fastPollUpdatePeriod: number;
            flowRestriction: number;
            gasSpecificAlarmMask: number;
            genericAlarmMask: number;
            genFlowPressureAlarmMask: number;
            heatCoolSpecificAlarmMASK: number;
            historicalConsumpFormatting: number;
            hoursInFault: number;
            hoursInOperation: number;
            inletTempreature: number;
            instantaneousDemand: number;
            intervalReadReportingPeriod: number;
            manufactureAlarmMask: number;
            maxNumberOfPeriodsDelivered: number;
            meteringDeviceType: number;
            meterSerialNumber: Buffer;
            moduleSerialNumber: Buffer;
            multiplier: number;
            numberOfDemandSubintervals: number;
            operatingTariffLevel: Buffer;
            outletTempreature: number;
            owonAccumulativeEnergyThreshold?: number;
            owonCurrentSum?: number;
            owonFrequency?: number;
            owonL1Energy?: number;
            owonL1PhaseCurrent?: number;
            owonL1PhasePower?: number;
            owonL1PhaseReactivePower?: number;
            owonL1PhaseVoltage?: number;
            owonL1PowerFactor?: number;
            owonL1ReactiveEnergy?: number;
            owonL2Energy?: number;
            owonL2PhaseCurrent?: number;
            owonL2PhasePower?: number;
            owonL2PhaseReactivePower?: number;
            owonL2PhaseVoltage?: number;
            owonL2PowerFactor?: number;
            owonL2ReactiveEnergy?: number;
            owonL3Energy?: number;
            owonL3PhaseCurrent?: number;
            owonL3PhasePower?: number;
            owonL3PhaseReactivePower?: number;
            owonL3PhaseVoltage?: number;
            owonL3PowerFactor?: number;
            owonL3ReactiveEnergy?: number;
            owonLastHistoricalRecordTime?: number;
            owonLeakageCurrent?: number;
            owonMaximumReportCycle?: number;
            owonMinimumReportCycle?: number;
            owonOldestHistoricalRecordTime?: number;
            owonPercentChangeInPower?: number;
            owonReactiveEnergySum?: number;
            owonReactivePowerSum?: number;
            owonReportMap?: number;
            owonReportMode?: number;
            owonSentHistoricalRecordState?: number;
            powerFactor: number;
            presetReadingTime: number;
            previousdayConsumpDelivered: number;
            previousdayConsumpReceived: number;
            previousDayMaxDemand: number;
            previousdayMaxEnergyCarrDemand: number;
            previousDayMaxPressure: number;
            previousDayMinPressure: number;
            profileIntervalPeriod: number;
            projectedBill: number;
            projectedBillTimeStamp: number;
            readingSnapshotTime: number;
            remainingBattLife: number;
            schneiderActiveEnergyDivisor?: number;
            schneiderActiveEnergyL1Phase?: number;
            schneiderActiveEnergyL2Phase?: number;
            schneiderActiveEnergyL3Phase?: number;
            schneiderActiveEnergyMultiplier?: number;
            schneiderActiveEnergyTotal?: number;
            schneiderApparentEnergyDivisor?: number;
            schneiderApparentEnergyL1Phase?: number;
            schneiderApparentEnergyL2Phase?: number;
            schneiderApparentEnergyL3Phase?: number;
            schneiderApparentEnergyMultiplier?: number;
            schneiderApparentEnergyTotal?: number;
            schneiderEnergyCountersReportingPeriod?: number;
            schneiderEnergyResetDateTime?: number;
            schneiderPartialActiveEnergyL1Phase?: number;
            schneiderPartialActiveEnergyL2Phase?: number;
            schneiderPartialActiveEnergyL3Phase?: number;
            schneiderPartialActiveEnergyTotal?: number;
            schneiderPartialApparentEnergyL1Phase?: number;
            schneiderPartialApparentEnergyL2Phase?: number;
            schneiderPartialApparentEnergyL3Phase?: number;
            schneiderPartialApparentEnergyTotal?: number;
            schneiderPartialReactiveEnergyL1Phase?: number;
            schneiderPartialReactiveEnergyL2Phase?: number;
            schneiderPartialReactiveEnergyL3Phase?: number;
            schneiderPartialReactiveEnergyTotal?: number;
            schneiderReactiveEnergyDivisor?: number;
            schneiderReactiveEnergyL1Phase?: number;
            schneiderReactiveEnergyL2Phase?: number;
            schneiderReactiveEnergyL3Phase?: number;
            schneiderReactiveEnergyMultiplier?: number;
            schneiderReactiveEnergyTotal?: number;
            siteId: Buffer;
            status: number;
            summaFormatting: number;
            supplyStatus: number;
            temperatureFormatting: number;
            temperatureUnitOfMeas: number;
            unitOfMeasure: number;
            volumePerReport: number;
            waterSpecificAlarmMask: number;
        };
        commandResponses: {
            getProfileRsp: Record<string, never>;
            getSnapshotRsp: Record<string, never>;
            mirrorRemRsp: Record<string, never>;
            owonGetHistoryRecordRsp: Record<string, never>;
            reqFastPollModeRsp: Record<string, never>;
            reqMirrorRsp: Record<string, never>;
        };
        commands: {
            getProfile: Record<string, never>;
            getSnapshot: Record<string, never>;
            mirrorRem: Record<string, never>;
            mirrorReportAttrRsp: Record<string, never>;
            owonGetHistoryRecord: Record<string, never>;
            owonStopSendingHistoricalRecord: Record<string, never>;
            reqFastPollMode: Record<string, never>;
            reqMirror: Record<string, never>;
            takeSnapshot: Record<string, never>;
        };
    }
    sprutIrBlaster: {
        attributes: never;
        commandResponses: never;
        commands: {
            clearStore: Record<string, never>;
            learnRamStart: Record<string, never>;
            learnRamStop: Record<string, never>;
            learnStart: { value: number };
            learnStop: { value: number };
            playRam: Record<string, never>;
            playStore: { param: number };
        };
    }
    sprutNoise: {
        attributes: {
            noise: number;
            noiseAfterDetectDelay: number;
            noiseDetected: number;
            noiseDetectLevel: number;
        };
        commandResponses: never;
        commands: never;
    }
    sprutVoc: {
        attributes: { voc: number };
        commandResponses: never;
        commands: never;
    }
    ssIasAce: {
        attributes: never;
        commandResponses: {
            armRsp: { armnotification: number };
            bypassRsp: { bypassresult: number[]; numofzones: number };
            getPanelStatusRsp: {
                alarmstatus: number;
                audiblenotif: number;
                panelstatus: number;
                secondsremain: number;
            };
            getZoneIDMapRsp: {
                zoneidmapsection0: number;
                zoneidmapsection1: number;
                zoneidmapsection10: number;
                zoneidmapsection11: number;
                zoneidmapsection12: number;
                zoneidmapsection13: number;
                zoneidmapsection14: number;
                zoneidmapsection15: number;
                zoneidmapsection2: number;
                zoneidmapsection3: number;
                zoneidmapsection4: number;
                zoneidmapsection5: number;
                zoneidmapsection6: number;
                zoneidmapsection7: number;
                zoneidmapsection8: number;
                zoneidmapsection9: number;
            };
            getZoneInfoRsp: {
                ieeeaddr: string;
                zoneid: number;
                zonelabel: string;
                zonetype: number;
            };
            getZoneStatusRsp: {
                numofzones: number;
                zoneinfo: ZoneInfo[];
                zonestatuscomplete: number;
            };
            panelStatusChanged: {
                alarmstatus: number;
                audiblenotif: number;
                panelstatus: number;
                secondsremain: number;
            };
            setBypassedZoneList: { numofzones: number; zoneid: number[] };
            zoneStatusChanged: {
                audiblenotif: number;
                zoneid: number;
                zonelabel: string;
                zonestatus: number;
            };
        };
        commands: {
            arm: { armmode: number; code: string; zoneid: number };
            bypass: { numofzones: number; zoneidlist: number[] };
            emergency: Record<string, never>;
            fire: Record<string, never>;
            getBypassedZoneList: Record<string, never>;
            getPanelStatus: Record<string, never>;
            getZoneIDMap: Record<string, never>;
            getZoneInfo: { zoneid: number };
            getZoneStatus: {
                maxnumzoneid: number;
                startzoneid: number;
                zonestatusmask: number;
                zonestatusmaskflag: number;
            };
            panic: Record<string, never>;
        };
    }
    ssIasWd: {
        attributes: { maxDuration: number };
        commandResponses: never;
        commands: {
            squawk: { squawkinfo: number };
            startWarning: {
                startwarninginfo: number;
                strobedutycycle: number;
                strobelevel: number;
                warningduration: number;
            };
        };
    }
    ssIasZone: {
        attributes: {
            currentZoneSensitivityLevel: number;
            develcoAlarmOffDelay?: number;
            iasCieAddr: string;
            numZoneSensitivityLevelsSupported: number;
            zoneId: number;
            zoneState: number;
            zoneStatus: number;
            zoneType: number;
        };
        commandResponses: {
            enrollReq: { manucode: number; zonetype: number };
            statusChangeNotification: { extendedstatus: number; zonestatus: number };
        };
        commands: {
            enrollRsp: { enrollrspcode: number; zoneid: number };
            initNormalOpMode: Record<string, never>;
            initTestMode: Record<string, never>;
        };
    }
    telecommunicationsChatting: {
        attributes: {
            cID: number;
            enableAddChat: number;
            name: string;
            nickname: string;
            uID: number;
        };
        commandResponses: never;
        commands: never;
    }
    telecommunicationsInformation: {
        attributes: {
            contentRootID: number;
            deliveryEnable: number;
            enableSecureConfiguration: number;
            nodeDescription: string;
            numberOfContents: number;
            pushInformationTimer: number;
        };
        commandResponses: never;
        commands: never;
    }
    telecommunicationsVoiceOverZigbee: {
        attributes: {
            codecrate: number;
            codecType: number;
            codecTypeSub1: number;
            codecTypeSub2: number;
            codecTypeSub3: number;
            compressionRate: number;
            compressionType: number;
            establishmentTimeout: number;
            optionFlags: number;
            samplingFrequency: number;
            threshold: number;
        };
        commandResponses: never;
        commands: never;
    }
    touchlink: {
        attributes: never;
        commandResponses: {
            deviceInformation: {
                deviceInfoCount: number;
                numberOfSubDevices: number;
                startIndex: number;
                transactionID: number;
            };
            endpointInformation: {
                deviceID: number;
                endpointID: number;
                ieeeAddress: string;
                networkAddress: number;
                profileID: number;
                version: number;
            };
            getEndpointList: { count: number; startIndex: number; total: number };
            getGroupIdentifiers: { count: number; startIndex: number; total: number };
            networkJoinEndDevice: { status: number; transactionID: number };
            networkJoinRouter: { status: number; transactionID: number };
            networkStart: {
                extendedPANID: string;
                logicalChannel: number;
                networkUpdateID: number;
                panID: number;
                status: number;
                transactionID: number;
            };
            scanResponse: {
                deviceID?: number;
                endpointID?: number;
                extendedPanID: string;
                groupIDCount?: number;
                keyBitmask: number;
                logicalChannel: number;
                networkAddress: number;
                networkUpdateID: number;
                numberOfSubDevices: number;
                panID: number;
                profileID?: number;
                responseID: number;
                rssiCorrection: number;
                totalGroupIdentifiers: number;
                touchlinkInformation: number;
                transactionID: number;
                version?: number;
                zigbeeInformation: number;
            };
        };
        commands: {
            deviceInformation: { startIndex: number; transactionID: number };
            getEndpointList: { startIndex: number };
            getGroupIdentifiers: { startIndex: number };
            identifyRequest: { duration: number; transactionID: number };
            networkJoinEndDevice: {
                encryptedNetworkKey: Buffer;
                extendedPANID: string;
                freeGroupIDRangeBegin: number;
                freeGroupIDRangeEnd: number;
                freeNwkAddrRangeBegin: number;
                freeNwkAddrRangeEnd: number;
                groupIDsBegin: number;
                groupIDsEnd: number;
                keyIndex: number;
                logicalChannel: number;
                networkUpdateID: number;
                nwkAddr: number;
                panID: number;
                transactionID: number;
            };
            networkJoinRouter: {
                encryptedNetworkKey: Buffer;
                extendedPANID: string;
                freeGroupIDRangeBegin: number;
                freeGroupIDRangeEnd: number;
                freeNwkAddrRangeBegin: number;
                freeNwkAddrRangeEnd: number;
                groupIDsBegin: number;
                groupIDsEnd: number;
                keyIndex: number;
                logicalChannel: number;
                networkUpdateID: number;
                nwkAddr: number;
                panID: number;
                transactionID: number;
            };
            networkStart: {
                encryptedNetworkKey: Buffer;
                extendedPANID: string;
                freeGroupIDRangeBegin: number;
                freeGroupIDRangeEnd: number;
                freeNwkAddrRangeBegin: number;
                freeNwkAddrRangeEnd: number;
                groupIDsBegin: number;
                groupIDsEnd: number;
                initiatorIEEE: string;
                initiatorNwkAddr: number;
                keyIndex: number;
                logicalChannel: number;
                nwkAddr: number;
                panID: number;
                transactionID: number;
            };
            networkUpdate: {
                extendedPANID: string;
                logicalChannel: number;
                networkUpdateID: number;
                nwkAddr: number;
                panID: number;
                transactionID: number;
            };
            resetToFactoryNew: { transactionID: number };
            scanRequest: {
                touchlinkInformation: number;
                transactionID: number;
                zigbeeInformation: number;
            };
        };
    }
    tradfriButton: {
        attributes: never;
        commandResponses: never;
        commands: {
            action1: { data: number };
            action2: { data: number };
            action3: { data: number };
            action4: { data: number };
            action6: { data: number };
        };
    }
    tunneling: {
        attributes: never;
        commandResponses: {
            requestTunnelResp: {
                mtuSize: number;
                tunnelId: number;
                tunnelStatus: number;
            };
            transferDataErrorResp: { status: number; tunnelId: number };
            transferDataResp: { data: Buffer; tunnelId: number };
        };
        commands: {
            closeTunnel: { tunnelId: number };
            requestTunnel: {
                flowControl: number;
                manufCode: number;
                mtuSize: number;
                protocolId: number;
            };
            transferData: { data: Buffer; tunnelId: number };
            transferDataError: { status: number; tunnelId: number };
        };
    }
    wiserDeviceInfo: {
        attributes: { deviceInfo: string };
        commandResponses: never;
        commands: never;
    }
    zosungIRControl: {
        attributes: never;
        commandResponses: never;
        commands: { zosungControlIRCommand00: { data: Buffer } };
    }
    zosungIRTransmit: {
        attributes: never;
        commandResponses: {
            zosungSendIRCode03Resp: {
                msgpart: Buffer;
                msgpartcrc: number;
                position: number;
                seq: number;
                zero: number;
            };
            zosungSendIRCode05Resp: { seq: number; zero: number };
        };
        commands: {
            zosungSendIRCode00: {
                cmd: number;
                length: number;
                seq: number;
                unk1: number;
                unk2: number;
                unk3: number;
                unk4: number;
            };
            zosungSendIRCode01: {
                cmd: number;
                length: number;
                seq: number;
                unk1: number;
                unk2: number;
                unk3: number;
                unk4: number;
                zero: number;
            };
            zosungSendIRCode02: { maxlen: number; position: number; seq: number };
            zosungSendIRCode03: {
                msgpart: Buffer;
                msgpartcrc: number;
                position: number;
                seq: number;
                zero: number;
            };
            zosungSendIRCode04: { seq: number; zero0: number; zero1: number };
            zosungSendIRCode05: { seq: number; zero: number };
        };
    }