"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Clusters = void 0;
const enums_1 = require("./enums");
const manufacturerCode_1 = require("./manufacturerCode");
const status_1 = require("./status");
exports.Clusters = {
    genBasic: {
        ID: 0,
        attributes: {
            zclVersion: { ID: 0, type: enums_1.DataType.UINT8 },
            appVersion: { ID: 1, type: enums_1.DataType.UINT8 },
            stackVersion: { ID: 2, type: enums_1.DataType.UINT8 },
            hwVersion: { ID: 3, type: enums_1.DataType.UINT8 },
            manufacturerName: { ID: 4, type: enums_1.DataType.CHAR_STR },
            modelId: { ID: 5, type: enums_1.DataType.CHAR_STR },
            dateCode: { ID: 6, type: enums_1.DataType.CHAR_STR },
            powerSource: { ID: 7, type: enums_1.DataType.ENUM8 },
            appProfileVersion: { ID: 8, type: enums_1.DataType.ENUM8 },
            genericDeviceType: { ID: 9, type: enums_1.DataType.ENUM8 },
            productCode: { ID: 10, type: enums_1.DataType.OCTET_STR },
            productUrl: { ID: 11, type: enums_1.DataType.CHAR_STR },
            manufacturerVersionDetails: { ID: 12, type: enums_1.DataType.CHAR_STR },
            serialNumber: { ID: 13, type: enums_1.DataType.CHAR_STR },
            productLabel: { ID: 14, type: enums_1.DataType.CHAR_STR },
            locationDesc: { ID: 16, type: enums_1.DataType.CHAR_STR },
            physicalEnv: { ID: 17, type: enums_1.DataType.ENUM8 },
            deviceEnabled: { ID: 18, type: enums_1.DataType.BOOLEAN },
            alarmMask: { ID: 19, type: enums_1.DataType.BITMAP8 },
            disableLocalConfig: { ID: 20, type: enums_1.DataType.BITMAP8 },
            swBuildId: { ID: 0x4000, type: enums_1.DataType.CHAR_STR },
            schneiderMeterRadioPower: { ID: 0xe200, type: enums_1.DataType.INT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
        },
        commands: {
            resetFactDefault: {
                ID: 0,
                parameters: [],
            },
            tuyaSetup: {
                ID: 0xf0,
                parameters: [],
            },
        },
        commandsResponse: {},
    },
    genPowerCfg: {
        ID: 1,
        attributes: {
            mainsVoltage: { ID: 0, type: enums_1.DataType.UINT16 },
            mainsFrequency: { ID: 1, type: enums_1.DataType.UINT8 },
            mainsAlarmMask: { ID: 16, type: enums_1.DataType.BITMAP8 },
            mainsVoltMinThres: { ID: 17, type: enums_1.DataType.UINT16 },
            mainsVoltMaxThres: { ID: 18, type: enums_1.DataType.UINT16 },
            mainsVoltageDwellTripPoint: { ID: 19, type: enums_1.DataType.UINT16 },
            batteryVoltage: { ID: 32, type: enums_1.DataType.UINT8 },
            batteryPercentageRemaining: { ID: 33, type: enums_1.DataType.UINT8 },
            batteryManufacturer: { ID: 48, type: enums_1.DataType.CHAR_STR },
            batterySize: { ID: 49, type: enums_1.DataType.ENUM8 },
            batteryAHrRating: { ID: 50, type: enums_1.DataType.UINT16 },
            batteryQuantity: { ID: 51, type: enums_1.DataType.UINT8 },
            batteryRatedVoltage: { ID: 52, type: enums_1.DataType.UINT8 },
            batteryAlarmMask: { ID: 53, type: enums_1.DataType.BITMAP8 },
            batteryVoltMinThres: { ID: 54, type: enums_1.DataType.UINT8 },
            batteryVoltThres1: { ID: 55, type: enums_1.DataType.UINT8 },
            batteryVoltThres2: { ID: 56, type: enums_1.DataType.UINT8 },
            batteryVoltThres3: { ID: 57, type: enums_1.DataType.UINT8 },
            batteryPercentMinThres: { ID: 58, type: enums_1.DataType.UINT8 },
            batteryPercentThres1: { ID: 59, type: enums_1.DataType.UINT8 },
            batteryPercentThres2: { ID: 60, type: enums_1.DataType.UINT8 },
            batteryPercentThres3: { ID: 61, type: enums_1.DataType.UINT8 },
            batteryAlarmState: { ID: 62, type: enums_1.DataType.BITMAP32 },
        },
        commands: {},
        commandsResponse: {},
    },
    genDeviceTempCfg: {
        ID: 2,
        attributes: {
            currentTemperature: { ID: 0, type: enums_1.DataType.INT16 },
            minTempExperienced: { ID: 1, type: enums_1.DataType.INT16 },
            maxTempExperienced: { ID: 2, type: enums_1.DataType.INT16 },
            overTempTotalDwell: { ID: 3, type: enums_1.DataType.UINT16 },
            devTempAlarmMask: { ID: 16, type: enums_1.DataType.BITMAP8 },
            lowTempThres: { ID: 17, type: enums_1.DataType.INT16 },
            highTempThres: { ID: 18, type: enums_1.DataType.INT16 },
            lowTempDwellTripPoint: { ID: 19, type: enums_1.DataType.UINT24 },
            highTempDwellTripPoint: { ID: 20, type: enums_1.DataType.UINT24 },
        },
        commands: {},
        commandsResponse: {},
    },
    genIdentify: {
        ID: 3,
        attributes: {
            identifyTime: { ID: 0, type: enums_1.DataType.UINT16 },
            identifyCommissionState: { ID: 1, type: enums_1.DataType.UNKNOWN },
        },
        commands: {
            identify: {
                ID: 0,
                parameters: [{ name: "identifytime", type: enums_1.DataType.UINT16 }],
            },
            identifyQuery: {
                ID: 1,
                parameters: [],
            },
            ezmodeInvoke: {
                ID: 2,
                parameters: [{ name: "action", type: enums_1.DataType.UINT8 }],
            },
            updateCommissionState: {
                ID: 3,
                parameters: [
                    { name: "action", type: enums_1.DataType.UINT8 },
                    { name: "commstatemask", type: enums_1.DataType.UINT8 },
                ],
            },
            triggerEffect: {
                ID: 64,
                parameters: [
                    { name: "effectid", type: enums_1.DataType.UINT8 },
                    { name: "effectvariant", type: enums_1.DataType.UINT8 },
                ],
            },
        },
        commandsResponse: {
            identifyQueryRsp: {
                ID: 0,
                parameters: [{ name: "timeout", type: enums_1.DataType.UINT16 }],
            },
        },
    },
    genGroups: {
        ID: 4,
        attributes: {
            nameSupport: { ID: 0, type: enums_1.DataType.BITMAP8 },
        },
        commands: {
            add: {
                ID: 0,
                response: 0,
                parameters: [
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "groupname", type: enums_1.DataType.CHAR_STR },
                ],
            },
            view: {
                ID: 1,
                response: 1,
                parameters: [{ name: "groupid", type: enums_1.DataType.UINT16 }],
            },
            getMembership: {
                ID: 2,
                response: 2,
                parameters: [
                    { name: "groupcount", type: enums_1.DataType.UINT8 },
                    { name: "grouplist", type: enums_1.BuffaloZclDataType.LIST_UINT16 },
                ],
            },
            remove: {
                ID: 3,
                response: 3,
                parameters: [{ name: "groupid", type: enums_1.DataType.UINT16 }],
            },
            removeAll: {
                ID: 4,
                parameters: [],
            },
            addIfIdentifying: {
                ID: 5,
                parameters: [
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "groupname", type: enums_1.DataType.CHAR_STR },
                ],
            },
            miboxerSetZones: {
                ID: 0xf0,
                parameters: [{ name: "zones", type: enums_1.BuffaloZclDataType.LIST_MIBOXER_ZONES }],
            },
        },
        commandsResponse: {
            addRsp: {
                ID: 0,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                ],
            },
            viewRsp: {
                ID: 1,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "groupname", type: enums_1.DataType.CHAR_STR },
                ],
            },
            getMembershipRsp: {
                ID: 2,
                parameters: [
                    { name: "capacity", type: enums_1.DataType.UINT8 },
                    { name: "groupcount", type: enums_1.DataType.UINT8 },
                    { name: "grouplist", type: enums_1.BuffaloZclDataType.LIST_UINT16 },
                ],
            },
            removeRsp: {
                ID: 3,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                ],
            },
        },
    },
    genScenes: {
        ID: 5,
        attributes: {
            count: { ID: 0, type: enums_1.DataType.UINT8 },
            currentScene: { ID: 1, type: enums_1.DataType.UINT8 },
            currentGroup: { ID: 2, type: enums_1.DataType.UINT16 },
            sceneValid: { ID: 3, type: enums_1.DataType.BOOLEAN },
            nameSupport: { ID: 4, type: enums_1.DataType.BITMAP8 },
            lastCfgBy: { ID: 5, type: enums_1.DataType.IEEE_ADDR },
        },
        commands: {
            add: {
                ID: 0,
                response: 0,
                parameters: [
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "sceneid", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                    { name: "scenename", type: enums_1.DataType.CHAR_STR },
                    { name: "extensionfieldsets", type: enums_1.BuffaloZclDataType.EXTENSION_FIELD_SETS },
                ],
            },
            view: {
                ID: 1,
                response: 1,
                parameters: [
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "sceneid", type: enums_1.DataType.UINT8 },
                ],
            },
            remove: {
                ID: 2,
                response: 2,
                parameters: [
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "sceneid", type: enums_1.DataType.UINT8 },
                ],
            },
            removeAll: {
                ID: 3,
                response: 3,
                parameters: [{ name: "groupid", type: enums_1.DataType.UINT16 }],
            },
            store: {
                ID: 4,
                response: 4,
                parameters: [
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "sceneid", type: enums_1.DataType.UINT8 },
                ],
            },
            recall: {
                ID: 5,
                parameters: [
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "sceneid", type: enums_1.DataType.UINT8 },
                ],
            },
            getSceneMembership: {
                ID: 6,
                response: 6,
                parameters: [{ name: "groupid", type: enums_1.DataType.UINT16 }],
            },
            enhancedAdd: {
                ID: 64,
                response: 64,
                parameters: [
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "sceneid", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                    { name: "scenename", type: enums_1.DataType.CHAR_STR },
                    { name: "extensionfieldsets", type: enums_1.BuffaloZclDataType.EXTENSION_FIELD_SETS },
                ],
            },
            enhancedView: {
                ID: 65,
                response: 65,
                parameters: [
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "sceneid", type: enums_1.DataType.UINT8 },
                ],
            },
            copy: {
                ID: 66,
                response: 66,
                parameters: [
                    { name: "mode", type: enums_1.DataType.UINT8 },
                    { name: "groupidfrom", type: enums_1.DataType.UINT16 },
                    { name: "sceneidfrom", type: enums_1.DataType.UINT8 },
                    { name: "groupidto", type: enums_1.DataType.UINT16 },
                    { name: "sceneidto", type: enums_1.DataType.UINT8 },
                ],
            },
            tradfriArrowSingle: {
                ID: 7,
                parameters: [
                    { name: "value", type: enums_1.DataType.UINT16 },
                    { name: "value2", type: enums_1.DataType.UINT16 },
                ],
            },
            tradfriArrowHold: {
                ID: 8,
                parameters: [{ name: "value", type: enums_1.DataType.UINT16 }],
            },
            tradfriArrowRelease: {
                ID: 9,
                parameters: [{ name: "value", type: enums_1.DataType.UINT16 }],
            },
        },
        commandsResponse: {
            addRsp: {
                ID: 0,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "groupId", type: enums_1.DataType.UINT16 },
                    { name: "sceneId", type: enums_1.DataType.UINT8 },
                ],
            },
            viewRsp: {
                ID: 1,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "sceneid", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }] },
                    { name: "scenename", type: enums_1.DataType.CHAR_STR, conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }] },
                    {
                        name: "extensionfieldsets",
                        type: enums_1.BuffaloZclDataType.EXTENSION_FIELD_SETS,
                        conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }],
                    },
                ],
            },
            removeRsp: {
                ID: 2,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "sceneid", type: enums_1.DataType.UINT8 },
                ],
            },
            removeAllRsp: {
                ID: 3,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                ],
            },
            storeRsp: {
                ID: 4,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "sceneid", type: enums_1.DataType.UINT8 },
                ],
            },
            getSceneMembershipRsp: {
                ID: 6,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "capacity", type: enums_1.DataType.UINT8 },
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "scenecount", type: enums_1.DataType.UINT8, conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }] },
                    {
                        name: "scenelist",
                        type: enums_1.BuffaloZclDataType.LIST_UINT8,
                        conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }],
                    },
                ],
            },
            enhancedAddRsp: {
                ID: 64,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "groupId", type: enums_1.DataType.UINT16 },
                    { name: "sceneId", type: enums_1.DataType.UINT8 },
                ],
            },
            enhancedViewRsp: {
                ID: 65,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "groupid", type: enums_1.DataType.UINT16 },
                    { name: "sceneid", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }] },
                    { name: "scenename", type: enums_1.DataType.CHAR_STR, conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }] },
                    {
                        name: "extensionfieldsets",
                        type: enums_1.BuffaloZclDataType.EXTENSION_FIELD_SETS,
                        conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }],
                    },
                ],
            },
            copyRsp: {
                ID: 66,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "groupidfrom", type: enums_1.DataType.UINT16 },
                    { name: "sceneidfrom", type: enums_1.DataType.UINT8 },
                ],
            },
        },
    },
    genOnOff: {
        ID: 6,
        attributes: {
            onOff: { ID: 0, type: enums_1.DataType.BOOLEAN },
            globalSceneCtrl: { ID: 16384, type: enums_1.DataType.BOOLEAN },
            onTime: { ID: 16385, type: enums_1.DataType.UINT16 },
            offWaitTime: { ID: 16386, type: enums_1.DataType.UINT16 },
            startUpOnOff: { ID: 16387, type: enums_1.DataType.ENUM8 },
            tuyaBacklightSwitch: { ID: 0x5000, type: enums_1.DataType.ENUM8 },
            tuyaBacklightMode: { ID: 0x8001, type: enums_1.DataType.ENUM8 },
            moesStartUpOnOff: { ID: 0x8002, type: enums_1.DataType.ENUM8 },
            tuyaOperationMode: { ID: 0x8004, type: enums_1.DataType.ENUM8 },
            elkoPreWarningTime: { ID: 0xe000, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            elkoOnTimeReload: { ID: 0xe001, type: enums_1.DataType.UINT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            elkoOnTimeReloadOptions: { ID: 0xe002, type: enums_1.DataType.BITMAP8, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            nodonTransitionTime: { ID: 0x0001, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.NODON },
        },
        commands: {
            off: {
                ID: 0,
                parameters: [],
            },
            on: {
                ID: 1,
                parameters: [],
            },
            toggle: {
                ID: 2,
                parameters: [],
            },
            offWithEffect: {
                ID: 64,
                parameters: [
                    { name: "effectid", type: enums_1.DataType.UINT8 },
                    { name: "effectvariant", type: enums_1.DataType.UINT8 },
                ],
            },
            onWithRecallGlobalScene: {
                ID: 65,
                parameters: [],
            },
            onWithTimedOff: {
                ID: 66,
                parameters: [
                    { name: "ctrlbits", type: enums_1.DataType.UINT8 },
                    { name: "ontime", type: enums_1.DataType.UINT16 },
                    { name: "offwaittime", type: enums_1.DataType.UINT16 },
                ],
            },
            tuyaAction: {
                ID: 0xfd,
                parameters: [
                    { name: "value", type: enums_1.DataType.UINT8 },
                    { name: "data", type: enums_1.BuffaloZclDataType.BUFFER },
                ],
            },
            tuyaAction2: {
                ID: 0xfc,
                parameters: [{ name: "value", type: enums_1.DataType.UINT8 }],
            },
        },
        commandsResponse: {},
    },
    genOnOffSwitchCfg: {
        ID: 7,
        attributes: {
            switchType: { ID: 0, type: enums_1.DataType.ENUM8 },
            switchMultiFunction: { ID: 2, type: enums_1.DataType.UNKNOWN },
            switchActions: { ID: 16, type: enums_1.DataType.ENUM8 },
        },
        commands: {},
        commandsResponse: {},
    },
    genLevelCtrl: {
        ID: 8,
        attributes: {
            currentLevel: { ID: 0, type: enums_1.DataType.UINT8 },
            remainingTime: { ID: 1, type: enums_1.DataType.UINT16 },
            minLevel: { ID: 2, type: enums_1.DataType.UINT8 },
            maxLevel: { ID: 3, type: enums_1.DataType.UINT8 },
            options: { ID: 15, type: enums_1.DataType.BITMAP8 },
            onOffTransitionTime: { ID: 16, type: enums_1.DataType.UINT16 },
            onLevel: { ID: 17, type: enums_1.DataType.UINT8 },
            onTransitionTime: { ID: 18, type: enums_1.DataType.UINT16 },
            offTransitionTime: { ID: 19, type: enums_1.DataType.UINT16 },
            defaultMoveRate: { ID: 20, type: enums_1.DataType.UINT16 },
            startUpCurrentLevel: { ID: 16384, type: enums_1.DataType.UINT8 },
            elkoStartUpCurrentLevel: { ID: 0x4000, type: enums_1.DataType.UINT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
        },
        commands: {
            moveToLevel: {
                ID: 0,
                parameters: [
                    { name: "level", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            move: {
                ID: 1,
                parameters: [
                    { name: "movemode", type: enums_1.DataType.UINT8 },
                    { name: "rate", type: enums_1.DataType.UINT8 },
                ],
            },
            step: {
                ID: 2,
                parameters: [
                    { name: "stepmode", type: enums_1.DataType.UINT8 },
                    { name: "stepsize", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            stop: {
                ID: 3,
                parameters: [],
            },
            moveToLevelWithOnOff: {
                ID: 4,
                parameters: [
                    { name: "level", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            moveWithOnOff: {
                ID: 5,
                parameters: [
                    { name: "movemode", type: enums_1.DataType.UINT8 },
                    { name: "rate", type: enums_1.DataType.UINT8 },
                ],
            },
            stepWithOnOff: {
                ID: 6,
                parameters: [
                    { name: "stepmode", type: enums_1.DataType.UINT8 },
                    { name: "stepsize", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            stopWithOnOff: {
                ID: 7,
                parameters: [],
            },
            moveToLevelTuya: {
                ID: 240,
                parameters: [
                    { name: "level", type: enums_1.DataType.UINT16 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
        },
        commandsResponse: {},
    },
    genAlarms: {
        ID: 9,
        attributes: {
            alarmCount: { ID: 0, type: enums_1.DataType.UINT16 },
        },
        commands: {
            reset: {
                ID: 0,
                parameters: [
                    { name: "alarmcode", type: enums_1.DataType.UINT8 },
                    { name: "clusterid", type: enums_1.DataType.UINT16 },
                ],
            },
            resetAll: {
                ID: 1,
                parameters: [],
            },
            getAlarm: {
                ID: 2,
                parameters: [],
            },
            resetLog: {
                ID: 3,
                parameters: [],
            },
            publishEventLog: {
                ID: 4,
                parameters: [],
            },
        },
        commandsResponse: {
            alarm: {
                ID: 0,
                parameters: [
                    { name: "alarmcode", type: enums_1.DataType.UINT8 },
                    { name: "clusterid", type: enums_1.DataType.UINT16 },
                ],
            },
            getRsp: {
                ID: 1,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "alarmcode", type: enums_1.DataType.UINT8 },
                    { name: "clusterid", type: enums_1.DataType.UINT16 },
                    { name: "timestamp", type: enums_1.DataType.UINT32 },
                ],
            },
            getEventLog: {
                ID: 2,
                parameters: [],
            },
        },
    },
    genTime: {
        ID: 10,
        attributes: {
            time: { ID: 0, type: enums_1.DataType.UTC },
            timeStatus: { ID: 1, type: enums_1.DataType.BITMAP8 },
            timeZone: { ID: 2, type: enums_1.DataType.INT32 },
            dstStart: { ID: 3, type: enums_1.DataType.UINT32 },
            dstEnd: { ID: 4, type: enums_1.DataType.UINT32 },
            dstShift: { ID: 5, type: enums_1.DataType.INT32 },
            standardTime: { ID: 6, type: enums_1.DataType.UINT32 },
            localTime: { ID: 7, type: enums_1.DataType.UINT32 },
            lastSetTime: { ID: 8, type: enums_1.DataType.UTC },
            validUntilTime: { ID: 9, type: enums_1.DataType.UTC },
        },
        commands: {},
        commandsResponse: {},
    },
    genRssiLocation: {
        ID: 11,
        attributes: {
            type: { ID: 0, type: enums_1.DataType.DATA8 },
            method: { ID: 1, type: enums_1.DataType.ENUM8 },
            age: { ID: 2, type: enums_1.DataType.UINT16 },
            qualityMeasure: { ID: 3, type: enums_1.DataType.UINT8 },
            numOfDevices: { ID: 4, type: enums_1.DataType.UINT8 },
            coordinate1: { ID: 16, type: enums_1.DataType.INT16 },
            coordinate2: { ID: 17, type: enums_1.DataType.INT16 },
            coordinate3: { ID: 18, type: enums_1.DataType.INT16 },
            power: { ID: 19, type: enums_1.DataType.INT16 },
            pathLossExponent: { ID: 20, type: enums_1.DataType.UINT16 },
            reportingPeriod: { ID: 21, type: enums_1.DataType.UINT16 },
            calcPeriod: { ID: 22, type: enums_1.DataType.UINT16 },
            numRSSIMeasurements: { ID: 23, type: enums_1.DataType.UINT16 },
        },
        commands: {
            setAbsolute: {
                ID: 0,
                parameters: [
                    { name: "coord1", type: enums_1.DataType.INT16 },
                    { name: "coord2", type: enums_1.DataType.INT16 },
                    { name: "coord3", type: enums_1.DataType.INT16 },
                    { name: "power", type: enums_1.DataType.INT16 },
                    { name: "pathlossexponent", type: enums_1.DataType.UINT16 },
                ],
            },
            setDevCfg: {
                ID: 1,
                parameters: [
                    { name: "power", type: enums_1.DataType.INT16 },
                    { name: "pathlossexponent", type: enums_1.DataType.UINT16 },
                    { name: "calperiod", type: enums_1.DataType.UINT16 },
                    { name: "numrssimeasurements", type: enums_1.DataType.UINT8 },
                    { name: "reportingperiod", type: enums_1.DataType.UINT16 },
                ],
            },
            getDevCfg: {
                ID: 2,
                parameters: [{ name: "targetaddr", type: enums_1.DataType.IEEE_ADDR }],
            },
            getData: {
                ID: 3,
                parameters: [
                    { name: "getdatainfo", type: enums_1.DataType.UINT8 },
                    { name: "numrsp", type: enums_1.DataType.UINT8 },
                    { name: "targetaddr", type: enums_1.DataType.IEEE_ADDR },
                ],
            },
        },
        commandsResponse: {
            devCfgRsp: {
                ID: 0,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "power", type: enums_1.DataType.INT16 },
                    { name: "pathlossexp", type: enums_1.DataType.UINT16 },
                    { name: "calperiod", type: enums_1.DataType.UINT16 },
                    { name: "numrssimeasurements", type: enums_1.DataType.UINT8 },
                    { name: "reportingperiod", type: enums_1.DataType.UINT16 },
                ],
            },
            dataRsp: {
                ID: 1,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "locationtype", type: enums_1.DataType.UINT8 },
                    { name: "coord1", type: enums_1.DataType.INT16 },
                    { name: "coord2", type: enums_1.DataType.INT16 },
                    { name: "coord3", type: enums_1.DataType.INT16 },
                    { name: "power", type: enums_1.DataType.INT16 },
                    { name: "pathlossexp", type: enums_1.DataType.UINT16 },
                    { name: "locationmethod", type: enums_1.DataType.UINT8 },
                    { name: "qualitymeasure", type: enums_1.DataType.UINT8 },
                    { name: "locationage", type: enums_1.DataType.UINT16 },
                ],
            },
            dataNotif: {
                ID: 2,
                parameters: [
                    { name: "locationtype", type: enums_1.DataType.UINT8 },
                    { name: "coord1", type: enums_1.DataType.INT16 },
                    { name: "coord2", type: enums_1.DataType.INT16 },
                    { name: "coord3", type: enums_1.DataType.INT16 },
                    { name: "power", type: enums_1.DataType.INT16 },
                    { name: "pathlossexp", type: enums_1.DataType.UINT16 },
                    { name: "locationmethod", type: enums_1.DataType.UINT8 },
                    { name: "qualitymeasure", type: enums_1.DataType.UINT8 },
                    { name: "locationage", type: enums_1.DataType.UINT16 },
                ],
            },
            compactDataNotif: {
                ID: 3,
                parameters: [
                    { name: "locationtype", type: enums_1.DataType.UINT8 },
                    { name: "coord1", type: enums_1.DataType.INT16 },
                    { name: "coord2", type: enums_1.DataType.INT16 },
                    { name: "coord3", type: enums_1.DataType.INT16 },
                    { name: "qualitymeasure", type: enums_1.DataType.UINT8 },
                    { name: "locationage", type: enums_1.DataType.UINT16 },
                ],
            },
            rssiPing: {
                ID: 4,
                parameters: [{ name: "locationtype", type: enums_1.DataType.UINT8 }],
            },
        },
    },
    genAnalogInput: {
        ID: 12,
        attributes: {
            description: { ID: 28, type: enums_1.DataType.CHAR_STR },
            maxPresentValue: { ID: 65, type: enums_1.DataType.SINGLE_PREC },
            minPresentValue: { ID: 69, type: enums_1.DataType.SINGLE_PREC },
            outOfService: { ID: 81, type: enums_1.DataType.BOOLEAN },
            presentValue: { ID: 85, type: enums_1.DataType.SINGLE_PREC },
            reliability: { ID: 103, type: enums_1.DataType.ENUM8 },
            resolution: { ID: 106, type: enums_1.DataType.SINGLE_PREC },
            statusFlags: { ID: 111, type: enums_1.DataType.BITMAP8 },
            engineeringUnits: { ID: 117, type: enums_1.DataType.ENUM16 },
            applicationType: { ID: 256, type: enums_1.DataType.UINT32 },
        },
        commands: {},
        commandsResponse: {},
    },
    genAnalogOutput: {
        ID: 13,
        attributes: {
            description: { ID: 28, type: enums_1.DataType.CHAR_STR },
            maxPresentValue: { ID: 65, type: enums_1.DataType.SINGLE_PREC },
            minPresentValue: { ID: 69, type: enums_1.DataType.SINGLE_PREC },
            outOfService: { ID: 81, type: enums_1.DataType.BOOLEAN },
            presentValue: { ID: 85, type: enums_1.DataType.SINGLE_PREC },
            priorityArray: { ID: 87, type: enums_1.DataType.ARRAY },
            reliability: { ID: 103, type: enums_1.DataType.ENUM8 },
            relinquishDefault: { ID: 104, type: enums_1.DataType.SINGLE_PREC },
            resolution: { ID: 106, type: enums_1.DataType.SINGLE_PREC },
            statusFlags: { ID: 111, type: enums_1.DataType.BITMAP8 },
            engineeringUnits: { ID: 117, type: enums_1.DataType.ENUM16 },
            applicationType: { ID: 256, type: enums_1.DataType.UINT32 },
        },
        commands: {},
        commandsResponse: {},
    },
    genAnalogValue: {
        ID: 14,
        attributes: {
            description: { ID: 28, type: enums_1.DataType.CHAR_STR },
            outOfService: { ID: 81, type: enums_1.DataType.BOOLEAN },
            presentValue: { ID: 85, type: enums_1.DataType.SINGLE_PREC },
            priorityArray: { ID: 87, type: enums_1.DataType.ARRAY },
            reliability: { ID: 103, type: enums_1.DataType.ENUM8 },
            relinquishDefault: { ID: 104, type: enums_1.DataType.SINGLE_PREC },
            statusFlags: { ID: 111, type: enums_1.DataType.BITMAP8 },
            engineeringUnits: { ID: 117, type: enums_1.DataType.ENUM16 },
            applicationType: { ID: 256, type: enums_1.DataType.UINT32 },
        },
        commands: {},
        commandsResponse: {},
    },
    genBinaryInput: {
        ID: 15,
        attributes: {
            activeText: { ID: 4, type: enums_1.DataType.CHAR_STR },
            description: { ID: 28, type: enums_1.DataType.CHAR_STR },
            inactiveText: { ID: 46, type: enums_1.DataType.CHAR_STR },
            outOfService: { ID: 81, type: enums_1.DataType.BOOLEAN },
            polarity: { ID: 84, type: enums_1.DataType.ENUM8 },
            presentValue: { ID: 85, type: enums_1.DataType.BOOLEAN },
            reliability: { ID: 103, type: enums_1.DataType.ENUM8 },
            statusFlags: { ID: 111, type: enums_1.DataType.BITMAP8 },
            applicationType: { ID: 256, type: enums_1.DataType.UINT32 },
        },
        commands: {},
        commandsResponse: {},
    },
    genBinaryOutput: {
        ID: 16,
        attributes: {
            activeText: { ID: 4, type: enums_1.DataType.CHAR_STR },
            description: { ID: 28, type: enums_1.DataType.CHAR_STR },
            inactiveText: { ID: 46, type: enums_1.DataType.CHAR_STR },
            minimumOffTime: { ID: 66, type: enums_1.DataType.UINT32 },
            minimumOnTime: { ID: 67, type: enums_1.DataType.UINT32 },
            outOfService: { ID: 81, type: enums_1.DataType.BOOLEAN },
            polarity: { ID: 84, type: enums_1.DataType.ENUM8 },
            presentValue: { ID: 85, type: enums_1.DataType.BOOLEAN },
            priorityArray: { ID: 87, type: enums_1.DataType.ARRAY },
            reliability: { ID: 103, type: enums_1.DataType.ENUM8 },
            relinquishDefault: { ID: 104, type: enums_1.DataType.BOOLEAN },
            statusFlags: { ID: 111, type: enums_1.DataType.BITMAP8 },
            applicationType: { ID: 256, type: enums_1.DataType.UINT32 },
        },
        commands: {},
        commandsResponse: {},
    },
    genBinaryValue: {
        ID: 17,
        attributes: {
            activeText: { ID: 4, type: enums_1.DataType.CHAR_STR },
            description: { ID: 28, type: enums_1.DataType.CHAR_STR },
            inactiveText: { ID: 46, type: enums_1.DataType.CHAR_STR },
            minimumOffTime: { ID: 66, type: enums_1.DataType.UINT32 },
            minimumOnTime: { ID: 67, type: enums_1.DataType.UINT32 },
            outOfService: { ID: 81, type: enums_1.DataType.BOOLEAN },
            presentValue: { ID: 85, type: enums_1.DataType.BOOLEAN },
            priorityArray: { ID: 87, type: enums_1.DataType.ARRAY },
            reliability: { ID: 103, type: enums_1.DataType.ENUM8 },
            relinquishDefault: { ID: 104, type: enums_1.DataType.BOOLEAN },
            statusFlags: { ID: 111, type: enums_1.DataType.BITMAP8 },
            applicationType: { ID: 256, type: enums_1.DataType.UINT32 },
        },
        commands: {},
        commandsResponse: {},
    },
    genMultistateInput: {
        ID: 18,
        attributes: {
            stateText: { ID: 14, type: enums_1.DataType.ARRAY },
            description: { ID: 28, type: enums_1.DataType.CHAR_STR },
            numberOfStates: { ID: 74, type: enums_1.DataType.UINT16 },
            outOfService: { ID: 81, type: enums_1.DataType.BOOLEAN },
            presentValue: { ID: 85, type: enums_1.DataType.UINT16 },
            reliability: { ID: 103, type: enums_1.DataType.ENUM8 },
            statusFlags: { ID: 111, type: enums_1.DataType.BITMAP8 },
            applicationType: { ID: 256, type: enums_1.DataType.UINT32 },
        },
        commands: {},
        commandsResponse: {},
    },
    genMultistateOutput: {
        ID: 19,
        attributes: {
            stateText: { ID: 14, type: enums_1.DataType.ARRAY },
            description: { ID: 28, type: enums_1.DataType.CHAR_STR },
            numberOfStates: { ID: 74, type: enums_1.DataType.UINT16 },
            outOfService: { ID: 81, type: enums_1.DataType.BOOLEAN },
            presentValue: { ID: 85, type: enums_1.DataType.UINT16 },
            priorityArray: { ID: 87, type: enums_1.DataType.ARRAY },
            reliability: { ID: 103, type: enums_1.DataType.ENUM8 },
            relinquishDefault: { ID: 104, type: enums_1.DataType.UINT16 },
            statusFlags: { ID: 111, type: enums_1.DataType.BITMAP8 },
            applicationType: { ID: 256, type: enums_1.DataType.UINT32 },
        },
        commands: {},
        commandsResponse: {},
    },
    genMultistateValue: {
        ID: 20,
        attributes: {
            stateText: { ID: 14, type: enums_1.DataType.ARRAY },
            description: { ID: 28, type: enums_1.DataType.CHAR_STR },
            numberOfStates: { ID: 74, type: enums_1.DataType.UINT16 },
            outOfService: { ID: 81, type: enums_1.DataType.BOOLEAN },
            presentValue: { ID: 85, type: enums_1.DataType.UINT16 },
            priorityArray: { ID: 87, type: enums_1.DataType.ARRAY },
            reliability: { ID: 103, type: enums_1.DataType.ENUM8 },
            relinquishDefault: { ID: 104, type: enums_1.DataType.UINT16 },
            statusFlags: { ID: 111, type: enums_1.DataType.BITMAP8 },
            applicationType: { ID: 256, type: enums_1.DataType.UINT32 },
        },
        commands: {},
        commandsResponse: {},
    },
    genCommissioning: {
        ID: 21,
        attributes: {
            shortress: { ID: 0, type: enums_1.DataType.UINT16 },
            extendedPANId: { ID: 1, type: enums_1.DataType.IEEE_ADDR },
            panId: { ID: 2, type: enums_1.DataType.UINT16 },
            channelmask: { ID: 3, type: enums_1.DataType.BITMAP32 },
            protocolVersion: { ID: 4, type: enums_1.DataType.UINT8 },
            stackProfile: { ID: 5, type: enums_1.DataType.UINT8 },
            startupControl: { ID: 6, type: enums_1.DataType.ENUM8 },
            trustCenterress: { ID: 16, type: enums_1.DataType.IEEE_ADDR },
            trustCenterMasterKey: { ID: 17, type: enums_1.DataType.SEC_KEY },
            networkKey: { ID: 18, type: enums_1.DataType.SEC_KEY },
            useInsecureJoin: { ID: 19, type: enums_1.DataType.BOOLEAN },
            preconfiguredLinkKey: { ID: 20, type: enums_1.DataType.SEC_KEY },
            networkKeySeqNum: { ID: 21, type: enums_1.DataType.UINT8 },
            networkKeyType: { ID: 22, type: enums_1.DataType.ENUM8 },
            networkManagerress: { ID: 23, type: enums_1.DataType.UINT16 },
            scanAttempts: { ID: 32, type: enums_1.DataType.UINT8 },
            timeBetweenScans: { ID: 33, type: enums_1.DataType.UINT16 },
            rejoinInterval: { ID: 34, type: enums_1.DataType.UINT16 },
            maxRejoinInterval: { ID: 35, type: enums_1.DataType.UINT16 },
            indirectPollRate: { ID: 48, type: enums_1.DataType.UINT16 },
            parentRetryThreshold: { ID: 49, type: enums_1.DataType.UINT8 },
            concentratorFlag: { ID: 64, type: enums_1.DataType.BOOLEAN },
            concentratorRus: { ID: 65, type: enums_1.DataType.UINT8 },
            concentratorDiscoveryTime: { ID: 66, type: enums_1.DataType.UINT8 },
        },
        commands: {
            restartDevice: {
                ID: 0,
                parameters: [
                    { name: "options", type: enums_1.DataType.UINT8 },
                    { name: "delay", type: enums_1.DataType.UINT8 },
                    { name: "jitter", type: enums_1.DataType.UINT8 },
                ],
            },
            saveStartupParams: {
                ID: 1,
                parameters: [
                    { name: "options", type: enums_1.DataType.UINT8 },
                    { name: "index", type: enums_1.DataType.UINT8 },
                ],
            },
            restoreStartupParams: {
                ID: 2,
                parameters: [
                    { name: "options", type: enums_1.DataType.UINT8 },
                    { name: "index", type: enums_1.DataType.UINT8 },
                ],
            },
            resetStartupParams: {
                ID: 3,
                parameters: [
                    { name: "options", type: enums_1.DataType.UINT8 },
                    { name: "index", type: enums_1.DataType.UINT8 },
                ],
            },
        },
        commandsResponse: {
            restartDeviceRsp: {
                ID: 0,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            saveStartupParamsRsp: {
                ID: 1,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            restoreStartupParamsRsp: {
                ID: 2,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            resetStartupParamsRsp: {
                ID: 3,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
        },
    },
    genOta: {
        ID: 25,
        attributes: {
            upgradeServerId: { ID: 0, type: enums_1.DataType.IEEE_ADDR },
            fileOffset: { ID: 1, type: enums_1.DataType.UINT32 },
            currentFileVersion: { ID: 2, type: enums_1.DataType.UINT32 },
            currentZigbeeStackVersion: { ID: 3, type: enums_1.DataType.UINT16 },
            downloadedFileVersion: { ID: 4, type: enums_1.DataType.UINT32 },
            downloadedZigbeeStackVersion: { ID: 5, type: enums_1.DataType.UINT16 },
            imageUpgradeStatus: { ID: 6, type: enums_1.DataType.ENUM8 },
            manufacturerId: { ID: 7, type: enums_1.DataType.UINT16 },
            imageTypeId: { ID: 8, type: enums_1.DataType.UINT16 },
            minimumBlockReqDelay: { ID: 9, type: enums_1.DataType.UINT16 },
            imageStamp: { ID: 10, type: enums_1.DataType.UINT32 },
        },
        commands: {
            queryNextImageRequest: {
                ID: 1,
                response: 2,
                parameters: [
                    { name: "fieldControl", type: enums_1.DataType.UINT8 },
                    { name: "manufacturerCode", type: enums_1.DataType.UINT16 },
                    { name: "imageType", type: enums_1.DataType.UINT16 },
                    { name: "fileVersion", type: enums_1.DataType.UINT32 },
                    {
                        name: "hardwareVersion",
                        type: enums_1.DataType.UINT16,
                        conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "fieldControl", mask: 0b1 }],
                    },
                ],
            },
            imageBlockRequest: {
                ID: 3,
                response: 5,
                parameters: [
                    { name: "fieldControl", type: enums_1.DataType.UINT8 },
                    { name: "manufacturerCode", type: enums_1.DataType.UINT16 },
                    { name: "imageType", type: enums_1.DataType.UINT16 },
                    { name: "fileVersion", type: enums_1.DataType.UINT32 },
                    { name: "fileOffset", type: enums_1.DataType.UINT32 },
                    { name: "maximumDataSize", type: enums_1.DataType.UINT8 },
                    {
                        name: "requestNodeIeeeAddress",
                        type: enums_1.DataType.IEEE_ADDR,
                        conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "fieldControl", mask: 0b1 }],
                    },
                    {
                        name: "minimumBlockPeriod",
                        type: enums_1.DataType.UINT16,
                        conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "fieldControl", mask: 0b10 }],
                    },
                ],
            },
            imagePageRequest: {
                ID: 4,
                response: 5,
                parameters: [
                    { name: "fieldControl", type: enums_1.DataType.UINT8 },
                    { name: "manufacturerCode", type: enums_1.DataType.UINT16 },
                    { name: "imageType", type: enums_1.DataType.UINT16 },
                    { name: "fileVersion", type: enums_1.DataType.UINT32 },
                    { name: "fileOffset", type: enums_1.DataType.UINT32 },
                    { name: "maximumDataSize", type: enums_1.DataType.UINT8 },
                    { name: "pageSize", type: enums_1.DataType.UINT16 },
                    { name: "responseSpacing", type: enums_1.DataType.UINT16 },
                    {
                        name: "requestNodeIeeeAddress",
                        type: enums_1.DataType.IEEE_ADDR,
                        conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "fieldControl", mask: 0b1 }],
                    },
                ],
            },
            upgradeEndRequest: {
                ID: 6,
                response: 7,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "manufacturerCode", type: enums_1.DataType.UINT16 },
                    { name: "imageType", type: enums_1.DataType.UINT16 },
                    { name: "fileVersion", type: enums_1.DataType.UINT32 },
                ],
            },
        },
        commandsResponse: {
            imageNotify: {
                ID: 0,
                parameters: [
                    { name: "payloadType", type: enums_1.DataType.UINT8 },
                    { name: "queryJitter", type: enums_1.DataType.UINT8 },
                ],
            },
            queryNextImageResponse: {
                ID: 2,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "manufacturerCode", type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }] },
                    { name: "imageType", type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }] },
                    { name: "fileVersion", type: enums_1.DataType.UINT32, conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }] },
                    { name: "imageSize", type: enums_1.DataType.UINT32, conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }] },
                ],
            },
            imageBlockResponse: {
                ID: 5,
                parameters: [
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "manufacturerCode", type: enums_1.DataType.UINT16 },
                    { name: "imageType", type: enums_1.DataType.UINT16 },
                    { name: "fileVersion", type: enums_1.DataType.UINT32 },
                    { name: "fileOffset", type: enums_1.DataType.UINT32 },
                    { name: "dataSize", type: enums_1.DataType.UINT8 },
                    { name: "data", type: enums_1.BuffaloZclDataType.BUFFER },
                ],
            },
            upgradeEndResponse: {
                ID: 7,
                parameters: [
                    { name: "manufacturerCode", type: enums_1.DataType.UINT16 },
                    { name: "imageType", type: enums_1.DataType.UINT16 },
                    { name: "fileVersion", type: enums_1.DataType.UINT32 },
                    { name: "currentTime", type: enums_1.DataType.UINT32 },
                    { name: "upgradeTime", type: enums_1.DataType.UINT32 },
                ],
            },
        },
    },
    genPollCtrl: {
        ID: 32,
        attributes: {
            checkinInterval: { ID: 0, type: enums_1.DataType.UINT32 },
            longPollInterval: { ID: 1, type: enums_1.DataType.UINT32 },
            shortPollInterval: { ID: 2, type: enums_1.DataType.UINT16 },
            fastPollTimeout: { ID: 3, type: enums_1.DataType.UINT16 },
            checkinIntervalMin: { ID: 4, type: enums_1.DataType.UINT32 },
            longPollIntervalMin: { ID: 5, type: enums_1.DataType.UINT32 },
            fastPollTimeoutMax: { ID: 6, type: enums_1.DataType.UINT16 },
        },
        commands: {
            checkinRsp: {
                ID: 0,
                parameters: [
                    { name: "startFastPolling", type: enums_1.DataType.BOOLEAN },
                    { name: "fastPollTimeout", type: enums_1.DataType.UINT16 },
                ],
            },
            fastPollStop: {
                ID: 1,
                parameters: [],
            },
            setLongPollInterval: {
                ID: 2,
                parameters: [{ name: "newLongPollInterval", type: enums_1.DataType.UINT32 }],
            },
            setShortPollInterval: {
                ID: 3,
                parameters: [{ name: "newShortPollInterval", type: enums_1.DataType.UINT16 }],
            },
        },
        commandsResponse: {
            checkin: {
                ID: 0,
                parameters: [],
            },
        },
    },
    greenPower: {
        ID: 33,
        attributes: {},
        commands: {
            notification: {
                ID: 0,
                parameters: [
                    { name: "options", type: enums_1.DataType.BITMAP16 },
                    {
                        name: "srcID",
                        type: enums_1.DataType.UINT32,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 0, size: 3, value: 0b000 }],
                    },
                    {
                        name: "gpdIEEEAddr",
                        type: enums_1.DataType.IEEE_ADDR,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 0, size: 3, value: 0b010 }],
                    },
                    {
                        name: "gpdEndpoint",
                        type: enums_1.DataType.UINT8,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 0, size: 3, value: 0b010 }],
                    },
                    { name: "frameCounter", type: enums_1.DataType.UINT32 },
                    { name: "commandID", type: enums_1.DataType.UINT8 },
                    { name: "payloadSize", type: enums_1.DataType.UINT8 },
                    {
                        name: "commandFrame",
                        type: enums_1.BuffaloZclDataType.GPD_FRAME,
                        // not parsing when FULLENCR (requires decryption first - then re-parsing)
                        conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0xc0, reversed: true }],
                    },
                    { name: "gppNwkAddr", type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x4000 }] },
                    /** Bits: 0..5 RSSI 6..7 Link quality */
                    {
                        name: "gppGpdLink",
                        type: enums_1.DataType.BITMAP8,
                        conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x4000 }],
                    },
                ],
            },
            commissioningNotification: {
                ID: 4,
                parameters: [
                    { name: "options", type: enums_1.DataType.BITMAP16 },
                    {
                        name: "srcID",
                        type: enums_1.DataType.UINT32,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 0, size: 3, value: 0b000 }],
                    },
                    {
                        name: "gpdIEEEAddr",
                        type: enums_1.DataType.IEEE_ADDR,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 0, size: 3, value: 0b010 }],
                    },
                    {
                        name: "gpdEndpoint",
                        type: enums_1.DataType.UINT8,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 0, size: 3, value: 0b010 }],
                    },
                    { name: "frameCounter", type: enums_1.DataType.UINT32 },
                    { name: "commandID", type: enums_1.DataType.UINT8 },
                    { name: "payloadSize", type: enums_1.DataType.UINT8 },
                    {
                        name: "commandFrame",
                        type: enums_1.BuffaloZclDataType.GPD_FRAME,
                        conditions: [
                            // not parsing when FULLENCR and "security failed" bit is set (requires decryption first - then re-parsing)
                            { type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x30, reversed: true },
                            { type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x200, reversed: true },
                        ],
                    },
                    { name: "gppNwkAddr", type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x800 }] },
                    /** Bits: 0..5 RSSI 6..7 Link quality */
                    { name: "gppGpdLink", type: enums_1.DataType.BITMAP8, conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x800 }] },
                    { name: "mic", type: enums_1.DataType.UINT32, conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x200 }] },
                ],
            },
        },
        commandsResponse: {
            response: {
                ID: 6,
                parameters: [
                    { name: "options", type: enums_1.DataType.UINT8 },
                    { name: "tempMaster", type: enums_1.DataType.UINT16 },
                    { name: "tempMasterTx", type: enums_1.DataType.BITMAP8 },
                    {
                        name: "srcID",
                        type: enums_1.DataType.UINT32,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 0, size: 3, value: 0b000 }],
                    },
                    {
                        name: "gpdIEEEAddr",
                        type: enums_1.DataType.IEEE_ADDR,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 0, size: 3, value: 0b010 }],
                    },
                    {
                        name: "gpdEndpoint",
                        type: enums_1.DataType.UINT8,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 0, size: 3, value: 0b010 }],
                    },
                    { name: "gpdCmd", type: enums_1.DataType.UINT8 },
                    { name: "gpdPayload", type: enums_1.BuffaloZclDataType.GPD_FRAME },
                ],
            },
            pairing: {
                ID: 1,
                parameters: [
                    { name: "options", type: enums_1.DataType.BITMAP24 },
                    {
                        name: "srcID",
                        type: enums_1.DataType.UINT32,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 0, size: 3, value: 0b000 }],
                    },
                    {
                        name: "gpdIEEEAddr",
                        type: enums_1.DataType.IEEE_ADDR,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 0, size: 3, value: 0b010 }],
                    },
                    {
                        name: "gpdEndpoint",
                        type: enums_1.DataType.UINT8,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 0, size: 3, value: 0b010 }],
                    },
                    {
                        name: "sinkIEEEAddr",
                        type: enums_1.DataType.IEEE_ADDR,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 4, size: 3, value: 0b110 }],
                    },
                    {
                        name: "sinkIEEEAddr",
                        type: enums_1.DataType.IEEE_ADDR,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 4, size: 3, value: 0b000 }],
                    },
                    {
                        name: "sinkNwkAddr",
                        type: enums_1.DataType.UINT16,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 4, size: 3, value: 0b110 }],
                    },
                    {
                        name: "sinkNwkAddr",
                        type: enums_1.DataType.UINT16,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 4, size: 3, value: 0b000 }],
                    },
                    {
                        name: "sinkGroupID",
                        type: enums_1.DataType.UINT16,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 4, size: 3, value: 0b100 }],
                    },
                    {
                        name: "sinkGroupID",
                        type: enums_1.DataType.UINT16,
                        conditions: [{ type: enums_1.ParameterCondition.BITFIELD_ENUM, param: "options", offset: 4, size: 3, value: 0b010 }],
                    },
                    { name: "deviceID", type: enums_1.DataType.UINT8, conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x0008 }] },
                    {
                        name: "frameCounter",
                        type: enums_1.DataType.UINT32,
                        conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x4000 }],
                    },
                    { name: "gpdKey", type: enums_1.DataType.SEC_KEY, conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x8000 }] },
                    {
                        name: "assignedAlias",
                        type: enums_1.DataType.UINT16,
                        conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x10000 }],
                    },
                    {
                        name: "groupcastRadius",
                        type: enums_1.DataType.UINT8,
                        conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x20000 }],
                    },
                ],
            },
            commisioningMode: {
                ID: 2,
                parameters: [
                    { name: "options", type: enums_1.DataType.BITMAP8 },
                    {
                        name: "commisioningWindow",
                        type: enums_1.DataType.UINT16,
                        conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x2 }],
                    },
                    { name: "channel", type: enums_1.DataType.UINT8, conditions: [{ type: enums_1.ParameterCondition.BITMASK_SET, param: "options", mask: 0x10 }] },
                ],
            },
        },
    },
    mobileDeviceCfg: {
        ID: 34,
        attributes: {
            keepAliveTime: { ID: 0, type: enums_1.DataType.UINT16 },
            rejoinTimeout: { ID: 1, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    neighborCleaning: {
        ID: 35,
        attributes: {
            neighborCleaningTimeout: { ID: 0, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    nearestGateway: {
        ID: 36,
        attributes: {
            nearestGateway: { ID: 0, type: enums_1.DataType.UINT16 },
            newMobileNode: { ID: 1, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    closuresShadeCfg: {
        ID: 256,
        attributes: {
            physicalClosedLimit: { ID: 0, type: enums_1.DataType.UINT16 },
            motorStepSize: { ID: 1, type: enums_1.DataType.UINT8 },
            status: { ID: 2, type: enums_1.DataType.BITMAP8 },
            losedLimit: { ID: 16, type: enums_1.DataType.UINT16 },
            mode: { ID: 18, type: enums_1.DataType.ENUM8 },
        },
        commands: {},
        commandsResponse: {},
    },
    closuresDoorLock: {
        ID: 257,
        attributes: {
            lockState: { ID: 0, type: enums_1.DataType.ENUM8 },
            lockType: { ID: 38, type: enums_1.DataType.BITMAP16 },
            actuatorEnabled: { ID: 2, type: enums_1.DataType.BOOLEAN },
            doorState: { ID: 3, type: enums_1.DataType.ENUM8 },
            doorOpenEvents: { ID: 4, type: enums_1.DataType.UINT32 },
            doorClosedEvents: { ID: 5, type: enums_1.DataType.UINT32 },
            openPeriod: { ID: 6, type: enums_1.DataType.UINT16 },
            numOfLockRecordsSupported: { ID: 16, type: enums_1.DataType.UINT16 },
            numOfTotalUsersSupported: { ID: 17, type: enums_1.DataType.UINT16 },
            numOfPinUsersSupported: { ID: 18, type: enums_1.DataType.UINT16 },
            numOfRfidUsersSupported: { ID: 19, type: enums_1.DataType.UINT16 },
            numOfWeekDaySchedulesSupportedPerUser: { ID: 20, type: enums_1.DataType.UINT8 },
            numOfYearDaySchedulesSupportedPerUser: { ID: 21, type: enums_1.DataType.UINT8 },
            numOfHolidayScheduledsSupported: { ID: 22, type: enums_1.DataType.UINT8 },
            maxPinLen: { ID: 23, type: enums_1.DataType.UINT8 },
            minPinLen: { ID: 24, type: enums_1.DataType.UINT8 },
            maxRfidLen: { ID: 25, type: enums_1.DataType.UINT8 },
            minRfidLen: { ID: 26, type: enums_1.DataType.UINT8 },
            enableLogging: { ID: 32, type: enums_1.DataType.BOOLEAN },
            language: { ID: 33, type: enums_1.DataType.CHAR_STR },
            ledSettings: { ID: 34, type: enums_1.DataType.UINT8 },
            autoRelockTime: { ID: 35, type: enums_1.DataType.UINT32 },
            soundVolume: { ID: 36, type: enums_1.DataType.UINT8 },
            operatingMode: { ID: 37, type: enums_1.DataType.UINT32 },
            defaultConfigurationRegister: { ID: 39, type: enums_1.DataType.BITMAP16 },
            enableLocalProgramming: { ID: 40, type: enums_1.DataType.BOOLEAN },
            enableOneTouchLocking: { ID: 41, type: enums_1.DataType.BOOLEAN },
            enableInsideStatusLed: { ID: 42, type: enums_1.DataType.BOOLEAN },
            enablePrivacyModeButton: { ID: 43, type: enums_1.DataType.BOOLEAN },
            wrongCodeEntryLimit: { ID: 48, type: enums_1.DataType.UINT8 },
            userCodeTemporaryDisableTime: { ID: 49, type: enums_1.DataType.UINT8 },
            sendPinOta: { ID: 50, type: enums_1.DataType.BOOLEAN },
            requirePinForRfOperation: { ID: 51, type: enums_1.DataType.BOOLEAN },
            zigbeeSecurityLevel: { ID: 52, type: enums_1.DataType.UINT8 },
            alarmMask: { ID: 64, type: enums_1.DataType.BITMAP16 },
            keypadOperationEventMask: { ID: 65, type: enums_1.DataType.BITMAP16 },
            rfOperationEventMask: { ID: 66, type: enums_1.DataType.BITMAP16 },
            manualOperationEventMask: { ID: 67, type: enums_1.DataType.BITMAP16 },
            rfidOperationEventMask: { ID: 68, type: enums_1.DataType.BITMAP16 },
            keypadProgrammingEventMask: { ID: 69, type: enums_1.DataType.BITMAP16 },
            rfProgrammingEventMask: { ID: 70, type: enums_1.DataType.BITMAP16 },
            rfidProgrammingEventMask: { ID: 71, type: enums_1.DataType.BITMAP16 },
        },
        commands: {
            lockDoor: {
                ID: 0,
                response: 0,
                parameters: [{ name: "pincodevalue", type: enums_1.DataType.CHAR_STR }],
            },
            unlockDoor: {
                ID: 1,
                response: 1,
                parameters: [{ name: "pincodevalue", type: enums_1.DataType.CHAR_STR }],
            },
            toggleDoor: {
                ID: 2,
                response: 2,
                parameters: [{ name: "pincodevalue", type: enums_1.DataType.CHAR_STR }],
            },
            unlockWithTimeout: {
                ID: 3,
                response: 3,
                parameters: [
                    { name: "timeout", type: enums_1.DataType.UINT16 },
                    { name: "pincodevalue", type: enums_1.DataType.CHAR_STR },
                ],
            },
            getLogRecord: {
                ID: 4,
                response: 4,
                parameters: [{ name: "logindex", type: enums_1.DataType.UINT16 }],
            },
            setPinCode: {
                ID: 5,
                response: 5,
                parameters: [
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "userstatus", type: enums_1.DataType.UINT8 },
                    { name: "usertype", type: enums_1.DataType.UINT8 },
                    { name: "pincodevalue", type: enums_1.DataType.CHAR_STR },
                ],
            },
            getPinCode: {
                ID: 6,
                response: 6,
                parameters: [{ name: "userid", type: enums_1.DataType.UINT16 }],
            },
            clearPinCode: {
                ID: 7,
                response: 7,
                parameters: [{ name: "userid", type: enums_1.DataType.UINT16 }],
            },
            clearAllPinCodes: {
                ID: 8,
                response: 8,
                parameters: [],
            },
            setUserStatus: {
                ID: 9,
                response: 9,
                parameters: [
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "userstatus", type: enums_1.DataType.UINT8 },
                ],
            },
            getUserStatus: {
                ID: 10,
                response: 10,
                parameters: [{ name: "userid", type: enums_1.DataType.UINT16 }],
            },
            setWeekDaySchedule: {
                ID: 11,
                response: 11,
                parameters: [
                    { name: "scheduleid", type: enums_1.DataType.UINT8 },
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "daysmask", type: enums_1.DataType.UINT8 },
                    { name: "starthour", type: enums_1.DataType.UINT8 },
                    { name: "startminute", type: enums_1.DataType.UINT8 },
                    { name: "endhour", type: enums_1.DataType.UINT8 },
                    { name: "endminute", type: enums_1.DataType.UINT8 },
                ],
            },
            getWeekDaySchedule: {
                ID: 12,
                response: 12,
                parameters: [
                    { name: "scheduleid", type: enums_1.DataType.UINT8 },
                    { name: "userid", type: enums_1.DataType.UINT16 },
                ],
            },
            clearWeekDaySchedule: {
                ID: 13,
                response: 13,
                parameters: [
                    { name: "scheduleid", type: enums_1.DataType.UINT8 },
                    { name: "userid", type: enums_1.DataType.UINT16 },
                ],
            },
            setYearDaySchedule: {
                ID: 14,
                response: 14,
                parameters: [
                    { name: "scheduleid", type: enums_1.DataType.UINT8 },
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "zigbeelocalstarttime", type: enums_1.DataType.UINT32 },
                    { name: "zigbeelocalendtime", type: enums_1.DataType.UINT32 },
                ],
            },
            getYearDaySchedule: {
                ID: 15,
                response: 15,
                parameters: [
                    { name: "scheduleid", type: enums_1.DataType.UINT8 },
                    { name: "userid", type: enums_1.DataType.UINT16 },
                ],
            },
            clearYearDaySchedule: {
                ID: 16,
                response: 16,
                parameters: [
                    { name: "scheduleid", type: enums_1.DataType.UINT8 },
                    { name: "userid", type: enums_1.DataType.UINT16 },
                ],
            },
            setHolidaySchedule: {
                ID: 17,
                response: 17,
                parameters: [
                    { name: "holidayscheduleid", type: enums_1.DataType.UINT8 },
                    { name: "zigbeelocalstarttime", type: enums_1.DataType.UINT32 },
                    { name: "zigbeelocalendtime", type: enums_1.DataType.UINT32 },
                    { name: "opermodelduringholiday", type: enums_1.DataType.UINT8 },
                ],
            },
            getHolidaySchedule: {
                ID: 18,
                response: 18,
                parameters: [{ name: "holidayscheduleid", type: enums_1.DataType.UINT8 }],
            },
            clearHolidaySchedule: {
                ID: 19,
                response: 19,
                parameters: [{ name: "holidayscheduleid", type: enums_1.DataType.UINT8 }],
            },
            setUserType: {
                ID: 20,
                response: 20,
                parameters: [
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "usertype", type: enums_1.DataType.UINT8 },
                ],
            },
            getUserType: {
                ID: 21,
                response: 21,
                parameters: [{ name: "userid", type: enums_1.DataType.UINT16 }],
            },
            setRfidCode: {
                ID: 22,
                response: 22,
                parameters: [
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "userstatus", type: enums_1.DataType.UINT8 },
                    { name: "usertype", type: enums_1.DataType.UINT8 },
                    { name: "pincodevalue", type: enums_1.DataType.CHAR_STR },
                ],
            },
            getRfidCode: {
                ID: 23,
                response: 23,
                parameters: [{ name: "userid", type: enums_1.DataType.UINT16 }],
            },
            clearRfidCode: {
                ID: 24,
                response: 24,
                parameters: [{ name: "userid", type: enums_1.DataType.UINT16 }],
            },
            clearAllRfidCodes: {
                ID: 25,
                response: 25,
                parameters: [],
            },
        },
        commandsResponse: {
            lockDoorRsp: {
                ID: 0,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            unlockDoorRsp: {
                ID: 1,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            toggleDoorRsp: {
                ID: 2,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            unlockWithTimeoutRsp: {
                ID: 3,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            getLogRecordRsp: {
                ID: 4,
                parameters: [
                    { name: "logentryid", type: enums_1.DataType.UINT16 },
                    { name: "timestamp", type: enums_1.DataType.UINT32 },
                    { name: "eventtype", type: enums_1.DataType.UINT8 },
                    { name: "source", type: enums_1.DataType.UINT8 },
                    { name: "eventidalarmcode", type: enums_1.DataType.UINT8 },
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "pincodevalue", type: enums_1.DataType.CHAR_STR },
                ],
            },
            setPinCodeRsp: {
                ID: 5,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            getPinCodeRsp: {
                ID: 6,
                parameters: [
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "userstatus", type: enums_1.DataType.UINT8 },
                    { name: "usertype", type: enums_1.DataType.UINT8 },
                    { name: "pincodevalue", type: enums_1.DataType.CHAR_STR },
                ],
            },
            clearPinCodeRsp: {
                ID: 7,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            clearAllPinCodesRsp: {
                ID: 8,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            setUserStatusRsp: {
                ID: 9,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            getUserStatusRsp: {
                ID: 10,
                parameters: [
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "userstatus", type: enums_1.DataType.UINT8 },
                ],
            },
            setWeekDayScheduleRsp: {
                ID: 11,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            getWeekDayScheduleRsp: {
                ID: 12,
                parameters: [
                    { name: "scheduleid", type: enums_1.DataType.UINT8 },
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "daysmask", type: enums_1.DataType.UINT8 },
                    { name: "starthour", type: enums_1.DataType.UINT8 },
                    { name: "startminute", type: enums_1.DataType.UINT8 },
                    { name: "endhour", type: enums_1.DataType.UINT8 },
                    { name: "endminute", type: enums_1.DataType.UINT8 },
                ],
            },
            clearWeekDayScheduleRsp: {
                ID: 13,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            setYearDayScheduleRsp: {
                ID: 14,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            getYearDayScheduleRsp: {
                ID: 15,
                parameters: [
                    { name: "scheduleid", type: enums_1.DataType.UINT8 },
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "zigbeelocalstarttime", type: enums_1.DataType.UINT32 },
                    { name: "zigbeelocalendtime", type: enums_1.DataType.UINT32 },
                ],
            },
            clearYearDayScheduleRsp: {
                ID: 16,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            setHolidayScheduleRsp: {
                ID: 17,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            getHolidayScheduleRsp: {
                ID: 18,
                parameters: [
                    { name: "holidayscheduleid", type: enums_1.DataType.UINT8 },
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "zigbeelocalstarttime", type: enums_1.DataType.UINT32 },
                    { name: "zigbeelocalendtime", type: enums_1.DataType.UINT32 },
                    { name: "opermodelduringholiday", type: enums_1.DataType.UINT8 },
                ],
            },
            clearHolidayScheduleRsp: {
                ID: 19,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            setUserTypeRsp: {
                ID: 20,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            getUserTypeRsp: {
                ID: 21,
                parameters: [
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "usertype", type: enums_1.DataType.UINT8 },
                ],
            },
            setRfidCodeRsp: {
                ID: 22,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            getRfidCodeRsp: {
                ID: 23,
                parameters: [
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "userstatus", type: enums_1.DataType.UINT8 },
                    { name: "usertype", type: enums_1.DataType.UINT8 },
                    { name: "pincodevalue", type: enums_1.DataType.CHAR_STR },
                ],
            },
            clearRfidCodeRsp: {
                ID: 24,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            clearAllRfidCodesRsp: {
                ID: 25,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            operationEventNotification: {
                ID: 32,
                parameters: [
                    { name: "opereventsrc", type: enums_1.DataType.UINT8 },
                    { name: "opereventcode", type: enums_1.DataType.UINT8 },
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "pin", type: enums_1.DataType.OCTET_STR },
                    { name: "zigbeelocaltime", type: enums_1.DataType.UINT32 },
                    { name: "data", type: enums_1.DataType.UINT8 },
                ],
            },
            programmingEventNotification: {
                ID: 33,
                parameters: [
                    { name: "programeventsrc", type: enums_1.DataType.UINT8 },
                    { name: "programeventcode", type: enums_1.DataType.UINT8 },
                    { name: "userid", type: enums_1.DataType.UINT16 },
                    { name: "pin", type: enums_1.DataType.OCTET_STR },
                    { name: "usertype", type: enums_1.DataType.UINT8 },
                    { name: "userstatus", type: enums_1.DataType.UINT8 },
                    { name: "zigbeelocaltime", type: enums_1.DataType.UINT32 },
                    { name: "data", type: enums_1.DataType.UINT8 },
                ],
            },
        },
    },
    closuresWindowCovering: {
        ID: 258,
        attributes: {
            windowCoveringType: { ID: 0, type: enums_1.DataType.ENUM8 },
            physicalClosedLimitLiftCm: { ID: 1, type: enums_1.DataType.UINT16 },
            physicalClosedLimitTiltDdegree: { ID: 2, type: enums_1.DataType.UINT16 },
            currentPositionLiftCm: { ID: 3, type: enums_1.DataType.UINT16 },
            currentPositionTiltDdegree: { ID: 4, type: enums_1.DataType.UINT16 },
            numOfActuationsLift: { ID: 5, type: enums_1.DataType.UINT16 },
            numOfActuationsTilt: { ID: 6, type: enums_1.DataType.UINT16 },
            configStatus: { ID: 7, type: enums_1.DataType.BITMAP8 },
            currentPositionLiftPercentage: { ID: 8, type: enums_1.DataType.UINT8 },
            currentPositionTiltPercentage: { ID: 9, type: enums_1.DataType.UINT8 },
            operationalStatus: { ID: 10, type: enums_1.DataType.BITMAP8 },
            installedOpenLimitLiftCm: { ID: 16, type: enums_1.DataType.UINT16 },
            installedClosedLimitLiftCm: { ID: 17, type: enums_1.DataType.UINT16 },
            installedOpenLimitTiltDdegree: { ID: 18, type: enums_1.DataType.UINT16 },
            installedClosedLimitTiltDdegree: { ID: 19, type: enums_1.DataType.UINT16 },
            velocityLift: { ID: 20, type: enums_1.DataType.UINT16 },
            accelerationTimeLift: { ID: 21, type: enums_1.DataType.UINT16 },
            decelerationTimeLift: { ID: 22, type: enums_1.DataType.UINT16 },
            windowCoveringMode: { ID: 23, type: enums_1.DataType.BITMAP8 },
            intermediateSetpointsLift: { ID: 24, type: enums_1.DataType.OCTET_STR },
            intermediateSetpointsTilt: { ID: 25, type: enums_1.DataType.OCTET_STR },
            tuyaMovingState: { ID: 0xf000, type: enums_1.DataType.ENUM8 },
            tuyaCalibration: { ID: 0xf001, type: enums_1.DataType.ENUM8 },
            stepPositionLift: { ID: 0xf001, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.LEGRAND_GROUP },
            tuyaMotorReversal: { ID: 0xf002, type: enums_1.DataType.ENUM8 },
            calibrationMode: { ID: 0xf002, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.LEGRAND_GROUP },
            moesCalibrationTime: { ID: 0xf003, type: enums_1.DataType.UINT16 },
            targetPositionTiltPercentage: { ID: 0xf003, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.LEGRAND_GROUP },
            stepPositionTilt: { ID: 0xf004, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.LEGRAND_GROUP },
            elkoDriveCloseDuration: { ID: 0xe000, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            elkoProtectionStatus: { ID: 0xe010, type: enums_1.DataType.BITMAP8, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            elkoProtectionSensor: { ID: 0xe013, type: enums_1.DataType.BITMAP8, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            elkoSunProtectionIlluminanceThreshold: { ID: 0xe012, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            elkoLiftDriveUpTime: { ID: 0xe014, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            elkoLiftDriveDownTime: { ID: 0xe015, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            elkoTiltOpenCloseAndStepTime: { ID: 0xe016, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            elkoTiltPositionPercentageAfterMoveToLevel: { ID: 0xe017, type: enums_1.DataType.UINT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            nikoCalibrationTimeUp: { ID: 0xfcc1, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.NIKO_NV },
            nikoCalibrationTimeDown: { ID: 0xfcc2, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.NIKO_NV },
        },
        commands: {
            upOpen: {
                ID: 0,
                parameters: [],
            },
            downClose: {
                ID: 1,
                parameters: [],
            },
            stop: {
                ID: 2,
                parameters: [],
            },
            goToLiftValue: {
                ID: 4,
                parameters: [{ name: "liftvalue", type: enums_1.DataType.UINT16 }],
            },
            goToLiftPercentage: {
                ID: 5,
                parameters: [{ name: "percentageliftvalue", type: enums_1.DataType.UINT8 }],
            },
            goToTiltValue: {
                ID: 7,
                parameters: [{ name: "tiltvalue", type: enums_1.DataType.UINT16 }],
            },
            goToTiltPercentage: {
                ID: 8,
                parameters: [{ name: "percentagetiltvalue", type: enums_1.DataType.UINT8 }],
            },
            elkoStopOrStepLiftPercentage: {
                ID: 0x80,
                parameters: [
                    { name: "direction", type: enums_1.DataType.UINT16 },
                    { name: "stepvalue", type: enums_1.DataType.UINT16 },
                ],
            },
        },
        commandsResponse: {},
    },
    barrierControl: {
        ID: 259,
        attributes: {
            movingState: { ID: 1, type: enums_1.DataType.ENUM8 },
            safetyStatus: { ID: 2, type: enums_1.DataType.BITMAP16 },
            capabilities: { ID: 3, type: enums_1.DataType.BITMAP8 },
            openEvents: { ID: 4, type: enums_1.DataType.UINT16 },
            closeEvents: { ID: 5, type: enums_1.DataType.UINT16 },
            commandOpenEvents: { ID: 6, type: enums_1.DataType.UINT16 },
            commandCloseEvents: { ID: 7, type: enums_1.DataType.UINT16 },
            openPeriod: { ID: 8, type: enums_1.DataType.UINT16 },
            closePeriod: { ID: 9, type: enums_1.DataType.UINT16 },
            barrierPosition: { ID: 10, type: enums_1.DataType.UINT8 },
        },
        commands: {
            goToPercent: {
                ID: 0,
                parameters: [{ name: "percentOpen", type: enums_1.DataType.UINT8 }],
            },
            stop: {
                ID: 1,
                parameters: [],
            },
        },
        commandsResponse: {},
    },
    hvacPumpCfgCtrl: {
        ID: 512,
        attributes: {
            maxPressure: { ID: 0, type: enums_1.DataType.INT16 },
            maxSpeed: { ID: 1, type: enums_1.DataType.UINT16 },
            maxFlow: { ID: 2, type: enums_1.DataType.UINT16 },
            minConstPressure: { ID: 3, type: enums_1.DataType.INT16 },
            maxConstPressure: { ID: 4, type: enums_1.DataType.INT16 },
            minCompPressure: { ID: 5, type: enums_1.DataType.INT16 },
            maxCompPressure: { ID: 6, type: enums_1.DataType.INT16 },
            minConstSpeed: { ID: 7, type: enums_1.DataType.UINT16 },
            maxConstSpeed: { ID: 8, type: enums_1.DataType.UINT16 },
            minConstFlow: { ID: 9, type: enums_1.DataType.UINT16 },
            maxConstFlow: { ID: 10, type: enums_1.DataType.UINT16 },
            minConstTemp: { ID: 11, type: enums_1.DataType.INT16 },
            maxConstTemp: { ID: 12, type: enums_1.DataType.INT16 },
            pumpStatus: { ID: 16, type: enums_1.DataType.BITMAP16 },
            effectiveOperationMode: { ID: 17, type: enums_1.DataType.ENUM8 },
            effectiveControlMode: { ID: 18, type: enums_1.DataType.ENUM8 },
            capacity: { ID: 19, type: enums_1.DataType.INT16 },
            speed: { ID: 20, type: enums_1.DataType.UINT16 },
            lifetimeRunningHours: { ID: 21, type: enums_1.DataType.UINT24 },
            power: { ID: 22, type: enums_1.DataType.UINT24 },
            lifetimeEnergyConsumed: { ID: 23, type: enums_1.DataType.UINT32 },
            operationMode: { ID: 32, type: enums_1.DataType.ENUM8 },
            controlMode: { ID: 33, type: enums_1.DataType.ENUM8 },
            alarmMask: { ID: 34, type: enums_1.DataType.BITMAP16 },
        },
        commands: {},
        commandsResponse: {},
    },
    hvacThermostat: {
        ID: 513,
        attributes: {
            localTemp: { ID: 0, type: enums_1.DataType.INT16 },
            outdoorTemp: { ID: 1, type: enums_1.DataType.INT16 },
            occupancy: { ID: 2, type: enums_1.DataType.BITMAP8 },
            absMinHeatSetpointLimit: { ID: 3, type: enums_1.DataType.INT16 },
            absMaxHeatSetpointLimit: { ID: 4, type: enums_1.DataType.INT16 },
            absMinCoolSetpointLimit: { ID: 5, type: enums_1.DataType.INT16 },
            absMaxCoolSetpointLimit: { ID: 6, type: enums_1.DataType.INT16 },
            pICoolingDemand: { ID: 7, type: enums_1.DataType.UINT8 },
            pIHeatingDemand: { ID: 8, type: enums_1.DataType.UINT8 },
            systemTypeConfig: { ID: 9, type: enums_1.DataType.BITMAP8 },
            localTemperatureCalibration: { ID: 16, type: enums_1.DataType.INT8 },
            occupiedCoolingSetpoint: { ID: 17, type: enums_1.DataType.INT16 },
            occupiedHeatingSetpoint: { ID: 18, type: enums_1.DataType.INT16 },
            unoccupiedCoolingSetpoint: { ID: 19, type: enums_1.DataType.INT16 },
            unoccupiedHeatingSetpoint: { ID: 20, type: enums_1.DataType.INT16 },
            minHeatSetpointLimit: { ID: 21, type: enums_1.DataType.INT16 },
            maxHeatSetpointLimit: { ID: 22, type: enums_1.DataType.INT16 },
            minCoolSetpointLimit: { ID: 23, type: enums_1.DataType.INT16 },
            maxCoolSetpointLimit: { ID: 24, type: enums_1.DataType.INT16 },
            minSetpointDeadBand: { ID: 25, type: enums_1.DataType.INT8 },
            remoteSensing: { ID: 26, type: enums_1.DataType.BITMAP8 },
            ctrlSeqeOfOper: { ID: 27, type: enums_1.DataType.ENUM8 },
            systemMode: { ID: 28, type: enums_1.DataType.ENUM8 },
            alarmMask: { ID: 29, type: enums_1.DataType.BITMAP8 },
            runningMode: { ID: 30, type: enums_1.DataType.ENUM8 },
            startOfWeek: { ID: 32, type: enums_1.DataType.ENUM8 },
            numberOfWeeklyTrans: { ID: 33, type: enums_1.DataType.UINT8 },
            numberOfDailyTrans: { ID: 34, type: enums_1.DataType.UINT8 },
            tempSetpointHold: { ID: 35, type: enums_1.DataType.ENUM8 },
            tempSetpointHoldDuration: { ID: 36, type: enums_1.DataType.UINT16 },
            programingOperMode: { ID: 37, type: enums_1.DataType.BITMAP8 },
            runningState: { ID: 41, type: enums_1.DataType.BITMAP16 },
            setpointChangeSource: { ID: 48, type: enums_1.DataType.ENUM8 },
            setpointChangeAmount: { ID: 49, type: enums_1.DataType.INT16 },
            setpointChangeSourceTimeStamp: { ID: 50, type: enums_1.DataType.UTC },
            acType: { ID: 64, type: enums_1.DataType.ENUM8 },
            acCapacity: { ID: 65, type: enums_1.DataType.UINT16 },
            acRefrigerantType: { ID: 66, type: enums_1.DataType.ENUM8 },
            acConpressorType: { ID: 67, type: enums_1.DataType.ENUM8 },
            acErrorCode: { ID: 68, type: enums_1.DataType.BITMAP32 },
            acLouverPosition: { ID: 69, type: enums_1.DataType.ENUM8 },
            acCollTemp: { ID: 70, type: enums_1.DataType.INT16 },
            acCapacityFormat: { ID: 71, type: enums_1.DataType.ENUM8 },
            SinopeOccupancy: { ID: 1024, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.SINOPE_TECHNOLOGIES },
            SinopeMainCycleOutput: { ID: 1025, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.SINOPE_TECHNOLOGIES },
            SinopeBacklight: { ID: 1026, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.SINOPE_TECHNOLOGIES },
            SinopeAuxCycleOutput: { ID: 1028, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.SINOPE_TECHNOLOGIES },
            StelproSystemMode: { ID: 0x401c, type: enums_1.DataType.ENUM8 },
            StelproOutdoorTemp: { ID: 0x4001, type: enums_1.DataType.INT16 },
            viessmannWindowOpenInternal: { ID: 0x4000, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.VIESSMANN_ELEKTRONIK_GMBH },
            viessmannWindowOpenForce: { ID: 0x4003, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.VIESSMANN_ELEKTRONIK_GMBH },
            viessmannAssemblyMode: { ID: 0x4012, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.VIESSMANN_ELEKTRONIK_GMBH },
            schneiderWiserSpecific: { ID: 0xe110, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            danfossWindowOpenInternal: { ID: 0x4000, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossWindowOpenExternal: { ID: 0x4003, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossDayOfWeek: { ID: 0x4010, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossTriggerTime: { ID: 0x4011, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossMountedModeActive: { ID: 0x4012, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossMountedModeControl: { ID: 0x4013, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossThermostatOrientation: { ID: 0x4014, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossExternalMeasuredRoomSensor: { ID: 0x4015, type: enums_1.DataType.INT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossRadiatorCovered: { ID: 0x4016, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossAlgorithmScaleFactor: { ID: 0x4020, type: enums_1.DataType.UINT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossHeatAvailable: { ID: 0x4030, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossHeatRequired: { ID: 0x4031, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossLoadBalancingEnable: { ID: 0x4032, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossLoadRoomMean: { ID: 0x4040, type: enums_1.DataType.INT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossLoadEstimate: { ID: 0x404a, type: enums_1.DataType.INT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossRegulationSetpointOffset: { ID: 0x404b, type: enums_1.DataType.INT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossAdaptionRunControl: { ID: 0x404c, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossAdaptionRunStatus: { ID: 0x404d, type: enums_1.DataType.BITMAP8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossAdaptionRunSettings: { ID: 0x404e, type: enums_1.DataType.BITMAP8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossPreheatStatus: { ID: 0x404f, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossPreheatTime: { ID: 0x4050, type: enums_1.DataType.UINT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossWindowOpenFeatureEnable: { ID: 0x4051, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossRoomStatusCode: { ID: 0x4100, type: enums_1.DataType.BITMAP16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossOutputStatus: { ID: 0x4110, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossRoomFloorSensorMode: { ID: 0x4120, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossFloorMinSetpoint: { ID: 0x4121, type: enums_1.DataType.INT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossFloorMaxSetpoint: { ID: 0x4122, type: enums_1.DataType.INT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            elkoLoad: { ID: 0x0401, type: enums_1.DataType.UINT16 },
            elkoDisplayText: { ID: 0x0402, type: enums_1.DataType.CHAR_STR },
            elkoSensor: { ID: 0x0403, type: enums_1.DataType.ENUM8 },
            elkoRegulatorTime: { ID: 0x0404, type: enums_1.DataType.UINT8 },
            elkoRegulatorMode: { ID: 0x0405, type: enums_1.DataType.BOOLEAN },
            elkoPowerStatus: { ID: 0x0406, type: enums_1.DataType.BOOLEAN },
            elkoDateTime: { ID: 0x0407, type: enums_1.DataType.OCTET_STR },
            elkoMeanPower: { ID: 0x0408, type: enums_1.DataType.UINT16 },
            elkoExternalTemp: { ID: 0x0409, type: enums_1.DataType.INT16 },
            elkoNightSwitching: { ID: 0x0411, type: enums_1.DataType.BOOLEAN },
            elkoFrostGuard: { ID: 0x0412, type: enums_1.DataType.BOOLEAN },
            elkoChildLock: { ID: 0x0413, type: enums_1.DataType.BOOLEAN },
            elkoMaxFloorTemp: { ID: 0x0414, type: enums_1.DataType.UINT8 },
            elkoRelayState: { ID: 0x0415, type: enums_1.DataType.BOOLEAN },
            elkoVersion: { ID: 0x0416, type: enums_1.DataType.OCTET_STR },
            elkoCalibration: { ID: 0x0417, type: enums_1.DataType.INT8 },
            elkoLastMessageId: { ID: 0x0418, type: enums_1.DataType.UINT8 },
            elkoLastMessageStatus: { ID: 0x0419, type: enums_1.DataType.UINT8 },
            fourNoksHysteresisHigh: { ID: 0x0101, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.ASTREL_GROUP_SRL },
            fourNoksHysteresisLow: { ID: 0x0102, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.ASTREL_GROUP_SRL },
        },
        commands: {
            setpointRaiseLower: {
                ID: 0,
                parameters: [
                    { name: "mode", type: enums_1.DataType.UINT8 },
                    { name: "amount", type: enums_1.DataType.INT8 },
                ],
            },
            setWeeklySchedule: {
                ID: 1,
                parameters: [
                    { name: "numoftrans", type: enums_1.DataType.UINT8 },
                    { name: "dayofweek", type: enums_1.DataType.UINT8 },
                    { name: "mode", type: enums_1.DataType.UINT8 },
                    { name: "transitions", type: enums_1.BuffaloZclDataType.LIST_THERMO_TRANSITIONS },
                ],
            },
            getWeeklySchedule: {
                ID: 2,
                parameters: [
                    { name: "daystoreturn", type: enums_1.DataType.UINT8 },
                    { name: "modetoreturn", type: enums_1.DataType.UINT8 },
                ],
            },
            clearWeeklySchedule: {
                ID: 3,
                parameters: [],
            },
            getRelayStatusLog: {
                ID: 4,
                parameters: [],
            },
            danfossSetpointCommand: {
                ID: 64,
                parameters: [
                    { name: "setpointType", type: enums_1.DataType.ENUM8 },
                    { name: "setpoint", type: enums_1.DataType.INT16 },
                ],
            },
            schneiderWiserThermostatBoost: {
                ID: 0x80,
                parameters: [
                    { name: "command", type: enums_1.DataType.ENUM8 },
                    { name: "enable", type: enums_1.DataType.ENUM8 },
                    { name: "temperature", type: enums_1.DataType.UINT16 },
                    { name: "duration", type: enums_1.DataType.UINT16 },
                ],
            },
            wiserSmartSetSetpoint: {
                ID: 224,
                parameters: [
                    { name: "operatingmode", type: enums_1.DataType.UINT8 },
                    { name: "zonemode", type: enums_1.DataType.UINT8 },
                    { name: "setpoint", type: enums_1.DataType.INT16 },
                    { name: "reserved", type: enums_1.DataType.UINT8 },
                ],
            },
            wiserSmartSetFipMode: {
                ID: 225,
                parameters: [
                    { name: "zonemode", type: enums_1.DataType.UINT8 },
                    { name: "fipmode", type: enums_1.DataType.ENUM8 },
                    { name: "reserved", type: enums_1.DataType.UINT8 },
                ],
            },
            wiserSmartCalibrateValve: {
                ID: 226,
                parameters: [],
            },
            plugwiseCalibrateValve: {
                ID: 0xa0,
                parameters: [],
            },
        },
        commandsResponse: {
            getWeeklyScheduleRsp: {
                ID: 0,
                parameters: [
                    { name: "numoftrans", type: enums_1.DataType.UINT8 },
                    { name: "dayofweek", type: enums_1.DataType.UINT8 },
                    { name: "mode", type: enums_1.DataType.UINT8 },
                    { name: "transitions", type: enums_1.BuffaloZclDataType.LIST_THERMO_TRANSITIONS },
                ],
            },
            getRelayStatusLogRsp: {
                ID: 1,
                parameters: [
                    { name: "timeofday", type: enums_1.DataType.UINT16 },
                    { name: "relaystatus", type: enums_1.DataType.UINT16 },
                    { name: "localtemp", type: enums_1.DataType.UINT16 },
                    { name: "humidity", type: enums_1.DataType.UINT8 },
                    { name: "setpoint", type: enums_1.DataType.UINT16 },
                    { name: "unreadentries", type: enums_1.DataType.UINT16 },
                ],
            },
        },
    },
    hvacFanCtrl: {
        ID: 514,
        attributes: {
            fanMode: { ID: 0, type: enums_1.DataType.ENUM8 },
            fanModeSequence: { ID: 1, type: enums_1.DataType.ENUM8 },
        },
        commands: {},
        commandsResponse: {},
    },
    hvacDehumidificationCtrl: {
        ID: 515,
        attributes: {
            relativeHumidity: { ID: 0, type: enums_1.DataType.UINT8 },
            dehumidCooling: { ID: 1, type: enums_1.DataType.UINT8 },
            rhDehumidSetpoint: { ID: 16, type: enums_1.DataType.UINT8 },
            relativeHumidityMode: { ID: 17, type: enums_1.DataType.ENUM8 },
            dehumidLockout: { ID: 18, type: enums_1.DataType.ENUM8 },
            dehumidHysteresis: { ID: 19, type: enums_1.DataType.UINT8 },
            dehumidMaxCool: { ID: 20, type: enums_1.DataType.UINT8 },
            relativeHumidDisplay: { ID: 21, type: enums_1.DataType.ENUM8 },
        },
        commands: {},
        commandsResponse: {},
    },
    hvacUserInterfaceCfg: {
        ID: 516,
        attributes: {
            tempDisplayMode: { ID: 0, type: enums_1.DataType.ENUM8 },
            keypadLockout: { ID: 1, type: enums_1.DataType.ENUM8 },
            programmingVisibility: { ID: 2, type: enums_1.DataType.ENUM8 },
            danfossViewingDirection: { ID: 0x4000, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
        },
        commands: {},
        commandsResponse: {},
    },
    lightingColorCtrl: {
        ID: 768,
        attributes: {
            currentHue: { ID: 0, type: enums_1.DataType.UINT8 },
            currentSaturation: { ID: 1, type: enums_1.DataType.UINT8 },
            remainingTime: { ID: 2, type: enums_1.DataType.UINT16 },
            currentX: { ID: 3, type: enums_1.DataType.UINT16 },
            currentY: { ID: 4, type: enums_1.DataType.UINT16 },
            driftCompensation: { ID: 5, type: enums_1.DataType.ENUM8 },
            compensationText: { ID: 6, type: enums_1.DataType.CHAR_STR },
            colorTemperature: { ID: 7, type: enums_1.DataType.UINT16 },
            colorMode: { ID: 8, type: enums_1.DataType.ENUM8 },
            options: { ID: 15, type: enums_1.DataType.BITMAP8 },
            numPrimaries: { ID: 16, type: enums_1.DataType.UINT8 },
            primary1X: { ID: 17, type: enums_1.DataType.UINT16 },
            primary1Y: { ID: 18, type: enums_1.DataType.UINT16 },
            primary1Intensity: { ID: 19, type: enums_1.DataType.UINT8 },
            primary2X: { ID: 21, type: enums_1.DataType.UINT16 },
            primary2Y: { ID: 22, type: enums_1.DataType.UINT16 },
            primary2Intensity: { ID: 23, type: enums_1.DataType.UINT8 },
            primary3X: { ID: 25, type: enums_1.DataType.UINT16 },
            primary3Y: { ID: 26, type: enums_1.DataType.UINT16 },
            primary3Intensity: { ID: 27, type: enums_1.DataType.UINT8 },
            primary4X: { ID: 32, type: enums_1.DataType.UINT16 },
            primary4Y: { ID: 33, type: enums_1.DataType.UINT16 },
            primary4Intensity: { ID: 34, type: enums_1.DataType.UINT8 },
            primary5X: { ID: 36, type: enums_1.DataType.UINT16 },
            primary5Y: { ID: 37, type: enums_1.DataType.UINT16 },
            primary5Intensity: { ID: 38, type: enums_1.DataType.UINT8 },
            primary6X: { ID: 40, type: enums_1.DataType.UINT16 },
            primary6Y: { ID: 41, type: enums_1.DataType.UINT16 },
            primary6Intensity: { ID: 42, type: enums_1.DataType.UINT8 },
            whitePointX: { ID: 48, type: enums_1.DataType.UINT16 },
            whitePointY: { ID: 49, type: enums_1.DataType.UINT16 },
            colorPointRX: { ID: 50, type: enums_1.DataType.UINT16 },
            colorPointRY: { ID: 51, type: enums_1.DataType.UINT16 },
            colorPointRIntensity: { ID: 52, type: enums_1.DataType.UINT8 },
            colorPointGX: { ID: 54, type: enums_1.DataType.UINT16 },
            colorPointGY: { ID: 55, type: enums_1.DataType.UINT16 },
            colorPointGIntensity: { ID: 56, type: enums_1.DataType.UINT8 },
            colorPointBX: { ID: 58, type: enums_1.DataType.UINT16 },
            colorPointBY: { ID: 59, type: enums_1.DataType.UINT16 },
            colorPointBIntensity: { ID: 60, type: enums_1.DataType.UINT8 },
            enhancedCurrentHue: { ID: 16384, type: enums_1.DataType.UINT16 },
            enhancedColorMode: { ID: 16385, type: enums_1.DataType.ENUM8 },
            colorLoopActive: { ID: 16386, type: enums_1.DataType.UINT8 },
            colorLoopDirection: { ID: 16387, type: enums_1.DataType.UINT8 },
            colorLoopTime: { ID: 16388, type: enums_1.DataType.UINT16 },
            colorLoopStartEnhancedHue: { ID: 16389, type: enums_1.DataType.UINT16 },
            colorLoopStoredEnhancedHue: { ID: 16390, type: enums_1.DataType.UINT16 },
            colorCapabilities: { ID: 16394, type: enums_1.DataType.UINT16 },
            colorTempPhysicalMin: { ID: 16395, type: enums_1.DataType.UINT16 },
            colorTempPhysicalMax: { ID: 16396, type: enums_1.DataType.UINT16 },
            coupleColorTempToLevelMin: { ID: 16397, type: enums_1.DataType.UINT16 },
            startUpColorTemperature: { ID: 16400, type: enums_1.DataType.UINT16 },
            tuyaBrightness: { ID: 61441, type: enums_1.DataType.UINT8 },
            tuyaRgbMode: { ID: 61440, type: enums_1.DataType.UINT8 },
        },
        commands: {
            moveToHue: {
                ID: 0,
                parameters: [
                    { name: "hue", type: enums_1.DataType.UINT8 },
                    { name: "direction", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            moveHue: {
                ID: 1,
                parameters: [
                    { name: "movemode", type: enums_1.DataType.UINT8 },
                    { name: "rate", type: enums_1.DataType.UINT8 },
                ],
            },
            stepHue: {
                ID: 2,
                parameters: [
                    { name: "stepmode", type: enums_1.DataType.UINT8 },
                    { name: "stepsize", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT8 },
                ],
            },
            moveToSaturation: {
                ID: 3,
                parameters: [
                    { name: "saturation", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            moveSaturation: {
                ID: 4,
                parameters: [
                    { name: "movemode", type: enums_1.DataType.UINT8 },
                    { name: "rate", type: enums_1.DataType.UINT8 },
                ],
            },
            stepSaturation: {
                ID: 5,
                parameters: [
                    { name: "stepmode", type: enums_1.DataType.UINT8 },
                    { name: "stepsize", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT8 },
                ],
            },
            moveToHueAndSaturation: {
                ID: 6,
                parameters: [
                    { name: "hue", type: enums_1.DataType.UINT8 },
                    { name: "saturation", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            tuyaMoveToHueAndSaturationBrightness: {
                ID: 6,
                parameters: [
                    { name: "hue", type: enums_1.DataType.UINT8 },
                    { name: "saturation", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                    { name: "brightness", type: enums_1.DataType.UINT8 },
                ],
            },
            moveToColor: {
                ID: 7,
                parameters: [
                    { name: "colorx", type: enums_1.DataType.UINT16 },
                    { name: "colory", type: enums_1.DataType.UINT16 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            moveColor: {
                ID: 8,
                parameters: [
                    { name: "ratex", type: enums_1.DataType.INT16 },
                    { name: "ratey", type: enums_1.DataType.INT16 },
                ],
            },
            stepColor: {
                ID: 9,
                parameters: [
                    { name: "stepx", type: enums_1.DataType.INT16 },
                    { name: "stepy", type: enums_1.DataType.INT16 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            moveToColorTemp: {
                ID: 10,
                parameters: [
                    { name: "colortemp", type: enums_1.DataType.UINT16 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            enhancedMoveToHue: {
                ID: 64,
                parameters: [
                    { name: "enhancehue", type: enums_1.DataType.UINT16 },
                    { name: "direction", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            enhancedMoveHue: {
                ID: 65,
                parameters: [
                    { name: "movemode", type: enums_1.DataType.UINT8 },
                    { name: "rate", type: enums_1.DataType.UINT16 },
                ],
            },
            enhancedStepHue: {
                ID: 66,
                parameters: [
                    { name: "stepmode", type: enums_1.DataType.UINT8 },
                    { name: "stepsize", type: enums_1.DataType.UINT16 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            enhancedMoveToHueAndSaturation: {
                ID: 67,
                parameters: [
                    { name: "enhancehue", type: enums_1.DataType.UINT16 },
                    { name: "saturation", type: enums_1.DataType.UINT8 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                ],
            },
            colorLoopSet: {
                ID: 68,
                parameters: [
                    { name: "updateflags", type: enums_1.DataType.UINT8 },
                    { name: "action", type: enums_1.DataType.UINT8 },
                    { name: "direction", type: enums_1.DataType.UINT8 },
                    { name: "time", type: enums_1.DataType.UINT16 },
                    { name: "starthue", type: enums_1.DataType.UINT16 },
                ],
            },
            stopMoveStep: {
                ID: 71,
                parameters: [
                    { name: "bits", type: enums_1.DataType.UINT8 },
                    { name: "bytee", type: enums_1.DataType.UINT8 },
                    { name: "action", type: enums_1.DataType.UINT8 },
                    { name: "direction", type: enums_1.DataType.UINT8 },
                    { name: "time", type: enums_1.DataType.UINT16 },
                    { name: "starthue", type: enums_1.DataType.UINT16 },
                ],
            },
            moveColorTemp: {
                ID: 75,
                parameters: [
                    { name: "movemode", type: enums_1.DataType.UINT8 },
                    { name: "rate", type: enums_1.DataType.UINT16 },
                    { name: "minimum", type: enums_1.DataType.UINT16 },
                    { name: "maximum", type: enums_1.DataType.UINT16 },
                ],
            },
            stepColorTemp: {
                ID: 76,
                parameters: [
                    { name: "stepmode", type: enums_1.DataType.UINT8 },
                    { name: "stepsize", type: enums_1.DataType.UINT16 },
                    { name: "transtime", type: enums_1.DataType.UINT16 },
                    { name: "minimum", type: enums_1.DataType.UINT16 },
                    { name: "maximum", type: enums_1.DataType.UINT16 },
                ],
            },
            tuyaSetMinimumBrightness: {
                ID: 224,
                parameters: [{ name: "minimum", type: enums_1.DataType.UINT16 }],
            },
            tuyaMoveToHueAndSaturationBrightness2: {
                ID: 225,
                parameters: [
                    { name: "hue", type: enums_1.DataType.UINT16 },
                    { name: "saturation", type: enums_1.DataType.UINT16 },
                    { name: "brightness", type: enums_1.DataType.UINT16 },
                ],
            },
            tuyaRgbMode: {
                ID: 240,
                parameters: [{ name: "enable", type: enums_1.DataType.UINT8 }],
            },
            tuyaOnStartUp: {
                ID: 249,
                parameters: [
                    { name: "mode", type: enums_1.DataType.UINT16 },
                    { name: "data", type: enums_1.BuffaloZclDataType.LIST_UINT8 },
                ],
            },
            tuyaDoNotDisturb: {
                ID: 250,
                parameters: [{ name: "enable", type: enums_1.DataType.UINT8 }],
            },
            tuyaOnOffTransitionTime: {
                ID: 251,
                parameters: [
                    { name: "unknown", type: enums_1.DataType.UINT8 },
                    { name: "onTransitionTime", type: enums_1.BuffaloZclDataType.BIG_ENDIAN_UINT24 },
                    { name: "offTransitionTime", type: enums_1.BuffaloZclDataType.BIG_ENDIAN_UINT24 },
                ],
            },
        },
        commandsResponse: {},
    },
    lightingBallastCfg: {
        ID: 769,
        attributes: {
            physicalMinLevel: { ID: 0, type: enums_1.DataType.UINT8 },
            physicalMaxLevel: { ID: 1, type: enums_1.DataType.UINT8 },
            ballastStatus: { ID: 2, type: enums_1.DataType.BITMAP8 },
            minLevel: { ID: 16, type: enums_1.DataType.UINT8 },
            maxLevel: { ID: 17, type: enums_1.DataType.UINT8 },
            powerOnLevel: { ID: 18, type: enums_1.DataType.UINT8 },
            powerOnFadeTime: { ID: 19, type: enums_1.DataType.UINT16 },
            intrinsicBallastFactor: { ID: 20, type: enums_1.DataType.UINT8 },
            ballastFactorAdjustment: { ID: 21, type: enums_1.DataType.UINT8 },
            lampQuantity: { ID: 32, type: enums_1.DataType.UINT8 },
            lampType: { ID: 48, type: enums_1.DataType.CHAR_STR },
            lampManufacturer: { ID: 49, type: enums_1.DataType.CHAR_STR },
            lampRatedHours: { ID: 50, type: enums_1.DataType.UINT24 },
            lampBurnHours: { ID: 51, type: enums_1.DataType.UINT24 },
            lampAlarmMode: { ID: 52, type: enums_1.DataType.BITMAP8 },
            lampBurnHoursTripPoint: { ID: 53, type: enums_1.DataType.UINT24 },
            elkoControlMode: { ID: 0xe000, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            wiserControlMode: { ID: 0xe000, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
        },
        commands: {},
        commandsResponse: {},
    },
    msIlluminanceMeasurement: {
        ID: 1024, // 0x0400
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.UINT16 },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.UINT16 },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.UINT16 },
            tolerance: { ID: 3, type: enums_1.DataType.UINT16 },
            lightSensorType: { ID: 4, type: enums_1.DataType.ENUM8 },
        },
        commands: {},
        commandsResponse: {},
    },
    msIlluminanceLevelSensing: {
        ID: 1025, // 0x0401
        attributes: {
            levelStatus: { ID: 0, type: enums_1.DataType.ENUM8 },
            lightSensorType: { ID: 1, type: enums_1.DataType.ENUM8 },
            illuminanceTargetLevel: { ID: 16, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    msTemperatureMeasurement: {
        ID: 1026, // 0x0402
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.INT16 },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.INT16 },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.INT16 },
            tolerance: { ID: 3, type: enums_1.DataType.UINT16 },
            minPercentChange: { ID: 16, type: enums_1.DataType.UNKNOWN },
            minAbsoluteChange: { ID: 17, type: enums_1.DataType.UNKNOWN },
            sprutTemperatureOffset: { ID: 0x6600, type: enums_1.DataType.INT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.CUSTOM_SPRUT_DEVICE },
        },
        commands: {},
        commandsResponse: {},
    },
    msPressureMeasurement: {
        ID: 1027, // 0x0403
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.INT16 },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.INT16 },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.INT16 },
            tolerance: { ID: 3, type: enums_1.DataType.UINT16 },
            scaledValue: { ID: 0x0010, type: enums_1.DataType.INT16 },
            minScaledValue: { ID: 0x0011, type: enums_1.DataType.INT16 },
            maxScaledValue: { ID: 0x0012, type: enums_1.DataType.INT16 },
            scaledTolerance: { ID: 0x0013, type: enums_1.DataType.UINT16 },
            scale: { ID: 0x0014, type: enums_1.DataType.INT8 },
        },
        commands: {},
        commandsResponse: {},
    },
    msFlowMeasurement: {
        ID: 1028, // 0x0404
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.UINT16 },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.UINT16 },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.UINT16 },
            tolerance: { ID: 3, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    msRelativeHumidity: {
        // Water Content
        ID: 1029, // 0x0405
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.UINT16 },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.UINT16 },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.UINT16 },
            tolerance: { ID: 3, type: enums_1.DataType.UINT16 },
            sprutHeater: { ID: 0x6600, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.CUSTOM_SPRUT_DEVICE },
        },
        commands: {},
        commandsResponse: {},
    },
    msOccupancySensing: {
        ID: 1030, // 0x0406
        attributes: {
            occupancy: { ID: 0x0000, type: enums_1.DataType.BITMAP8 },
            occupancySensorType: { ID: 0x0001, type: enums_1.DataType.ENUM8 },
            occupancySensorTypeBitmap: { ID: 0x0002, type: enums_1.DataType.BITMAP8 },
            pirOToUDelay: { ID: 0x0010, type: enums_1.DataType.UINT16 },
            pirUToODelay: { ID: 0x0011, type: enums_1.DataType.UINT16 },
            pirUToOThreshold: { ID: 0x0012, type: enums_1.DataType.UINT8 },
            ultrasonicOToUDelay: { ID: 0x0020, type: enums_1.DataType.UINT16 },
            ultrasonicUToODelay: { ID: 0x0021, type: enums_1.DataType.UINT16 },
            ultrasonicUToOThreshold: { ID: 0x0022, type: enums_1.DataType.UINT8 },
            contactOToUDelay: { ID: 0x0030, type: enums_1.DataType.UINT16 },
            contactUToODelay: { ID: 0x0031, type: enums_1.DataType.UINT16 },
            contactUToOThreshold: { ID: 0x0032, type: enums_1.DataType.UINT8 },
            elkoOccupancyDfltOperationMode: { ID: 0xe000, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            elkoOccupancyOperationMode: { ID: 0xe001, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            elkoForceOffTimeout: { ID: 0xe002, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            elkoOccupancySensitivity: { ID: 0xe003, type: enums_1.DataType.UINT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO },
            sprutOccupancyLevel: { ID: 0x6600, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.CUSTOM_SPRUT_DEVICE },
            sprutOccupancySensitivity: { ID: 0x6601, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.CUSTOM_SPRUT_DEVICE },
        },
        commands: {},
        commandsResponse: {},
    },
    msLeafWetness: {
        ID: 1031, // 0x0407
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.UINT16 },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.UINT16 },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.UINT16 },
            tolerance: { ID: 3, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    msSoilMoisture: {
        ID: 1032, // 0x0408
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.UINT16 },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.UINT16 },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.UINT16 },
            tolerance: { ID: 3, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    pHMeasurement: {
        ID: 1033, // 0x0409
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.UINT16 },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.UINT16 },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.UINT16 },
            tolerance: { ID: 3, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    msElectricalConductivity: {
        ID: 1034, // 0x040a
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.UINT16 },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.UINT16 },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.UINT16 },
            tolerance: { ID: 3, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    msWindSpeed: {
        ID: 1035, // 0x040b
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.UINT16 },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.UINT16 },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.UINT16 },
            tolerance: { ID: 3, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    msCarbonMonoxide: {
        // CO
        ID: 1036, // 0x040c
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msCO2: {
        // Carbon Dioxide
        ID: 1037, // 0x040d
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
            sprutCO2Calibration: { ID: 0x6600, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.CUSTOM_SPRUT_DEVICE },
            sprutCO2AutoCalibration: { ID: 0x6601, type: enums_1.DataType.BOOLEAN, manufacturerCode: manufacturerCode_1.ManufacturerCode.CUSTOM_SPRUT_DEVICE },
        },
        commands: {},
        commandsResponse: {},
    },
    msEthylene: {
        // CH2
        ID: 1038, // 0x040e
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msEthyleneOxide: {
        // C2H4O
        ID: 1039, // 0x040f
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msHydrogen: {
        // H
        ID: 1040, // 0x0410
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msHydrogenSulfide: {
        // H2S
        ID: 1041, // 0x0411
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msNitricOxide: {
        // NO
        ID: 1042, // 0x0412
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msNitrogenDioxide: {
        // NO2
        ID: 1043, // 0x0413
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msOxygen: {
        // O2
        ID: 1044, // 0x0414
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msOzone: {
        // O3
        ID: 1045, // 0x0415
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msSulfurDioxide: {
        // SO2
        ID: 1046, // 0x0416
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msDissolvedOxygen: {
        // DO
        ID: 1047, // 0x0417
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msBromate: {
        ID: 1048, // 0x0418
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msChloramines: {
        ID: 1049, // 0x0419
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msChlorine: {
        ID: 1050, // 0x041a
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msFecalColiformAndEColi: {
        ID: 1051, // 0x041b
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msFluoride: {
        ID: 1052, // 0x041c
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msHaloaceticAcids: {
        ID: 1053, // 0x041d
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msTotalTrihalomethanes: {
        ID: 1054, // 0x041e
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msTotalColiformBacteria: {
        ID: 1055, // 0x041f
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msTurbidity: {
        ID: 1056, // 0x0420
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msCopper: {
        ID: 1057, // 0x0421
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msLead: {
        ID: 1058, // 0x0422
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msManganese: {
        ID: 1059, // 0x0423
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msSulfate: {
        ID: 1060, // 0x0424
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msBromodichloromethane: {
        ID: 1061, // 0x0425
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msBromoform: {
        ID: 1062, // 0x0426
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msChlorodibromomethane: {
        ID: 1063, // 0x0427
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msChloroform: {
        ID: 1064, // 0x0428
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msSodium: {
        ID: 1065, // 0x0429
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 1, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 2, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 3, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    pm25Measurement: {
        ID: 1066, // 0x042a
        attributes: {
            measuredValue: { ID: 0x0000, type: enums_1.DataType.SINGLE_PREC },
            measuredMinValue: { ID: 0x0001, type: enums_1.DataType.SINGLE_PREC },
            measuredMaxValue: { ID: 0x0002, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 0x0003, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    msFormaldehyde: {
        ID: 1067, // 0x042b
        attributes: {
            measuredValue: { ID: 0x0000, type: enums_1.DataType.SINGLE_PREC },
            minMeasuredValue: { ID: 0x0001, type: enums_1.DataType.SINGLE_PREC },
            maxMeasuredValue: { ID: 0x0002, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 0x0003, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    pm1Measurement: {
        // XXX: not in R8 spec?
        ID: 1068, // 0x042c
        attributes: {
            measuredValue: { ID: 0x0000, type: enums_1.DataType.SINGLE_PREC },
            measuredMinValue: { ID: 0x0001, type: enums_1.DataType.SINGLE_PREC },
            measuredMaxValue: { ID: 0x0002, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 0x0003, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    pm10Measurement: {
        // XXX: not in R8 spec?
        ID: 1069, // 0x042d
        attributes: {
            measuredValue: { ID: 0x0000, type: enums_1.DataType.SINGLE_PREC },
            measuredMinValue: { ID: 0x0001, type: enums_1.DataType.SINGLE_PREC },
            measuredMaxValue: { ID: 0x0002, type: enums_1.DataType.SINGLE_PREC },
            tolerance: { ID: 0x0003, type: enums_1.DataType.SINGLE_PREC },
        },
        commands: {},
        commandsResponse: {},
    },
    ssIasZone: {
        ID: 1280,
        attributes: {
            zoneState: { ID: 0, type: enums_1.DataType.ENUM8 },
            zoneType: { ID: 1, type: enums_1.DataType.ENUM16 },
            zoneStatus: { ID: 2, type: enums_1.DataType.BITMAP16 },
            iasCieAddr: { ID: 16, type: enums_1.DataType.IEEE_ADDR },
            zoneId: { ID: 17, type: enums_1.DataType.UINT8 },
            numZoneSensitivityLevelsSupported: { ID: 18, type: enums_1.DataType.UINT8 },
            currentZoneSensitivityLevel: { ID: 19, type: enums_1.DataType.UINT8 },
            develcoAlarmOffDelay: { ID: 0x8001, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DEVELCO },
        },
        commands: {
            enrollRsp: {
                ID: 0,
                parameters: [
                    { name: "enrollrspcode", type: enums_1.DataType.UINT8 },
                    { name: "zoneid", type: enums_1.DataType.UINT8 },
                ],
            },
            initNormalOpMode: {
                ID: 1,
                parameters: [],
            },
            initTestMode: {
                ID: 2,
                parameters: [],
            },
        },
        commandsResponse: {
            statusChangeNotification: {
                ID: 0,
                parameters: [
                    { name: "zonestatus", type: enums_1.DataType.UINT16 },
                    { name: "extendedstatus", type: enums_1.DataType.UINT8 },
                ],
            },
            enrollReq: {
                ID: 1,
                parameters: [
                    { name: "zonetype", type: enums_1.DataType.UINT16 },
                    { name: "manucode", type: enums_1.DataType.UINT16 },
                ],
            },
        },
    },
    ssIasAce: {
        ID: 1281,
        attributes: {},
        commands: {
            arm: {
                ID: 0,
                response: 0,
                parameters: [
                    { name: "armmode", type: enums_1.DataType.UINT8 },
                    { name: "code", type: enums_1.DataType.CHAR_STR },
                    { name: "zoneid", type: enums_1.DataType.UINT8 },
                ],
            },
            bypass: {
                ID: 1,
                parameters: [
                    { name: "numofzones", type: enums_1.DataType.UINT8 },
                    { name: "zoneidlist", type: enums_1.BuffaloZclDataType.LIST_UINT8 },
                ],
            },
            emergency: {
                ID: 2,
                parameters: [],
            },
            fire: {
                ID: 3,
                parameters: [],
            },
            panic: {
                ID: 4,
                parameters: [],
            },
            getZoneIDMap: {
                ID: 5,
                response: 1,
                parameters: [],
            },
            getZoneInfo: {
                ID: 6,
                response: 2,
                parameters: [{ name: "zoneid", type: enums_1.DataType.UINT8 }],
            },
            getPanelStatus: {
                ID: 7,
                response: 5,
                parameters: [],
            },
            getBypassedZoneList: {
                ID: 8,
                parameters: [],
            },
            getZoneStatus: {
                ID: 9,
                response: 8,
                parameters: [
                    { name: "startzoneid", type: enums_1.DataType.UINT8 },
                    { name: "maxnumzoneid", type: enums_1.DataType.UINT8 },
                    { name: "zonestatusmaskflag", type: enums_1.DataType.UINT8 },
                    { name: "zonestatusmask", type: enums_1.DataType.UINT16 },
                ],
            },
        },
        commandsResponse: {
            armRsp: {
                ID: 0,
                parameters: [{ name: "armnotification", type: enums_1.DataType.UINT8 }],
            },
            getZoneIDMapRsp: {
                ID: 1,
                parameters: [
                    { name: "zoneidmapsection0", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection1", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection2", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection3", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection4", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection5", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection6", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection7", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection8", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection9", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection10", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection11", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection12", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection13", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection14", type: enums_1.DataType.UINT16 },
                    { name: "zoneidmapsection15", type: enums_1.DataType.UINT16 },
                ],
            },
            getZoneInfoRsp: {
                ID: 2,
                parameters: [
                    { name: "zoneid", type: enums_1.DataType.UINT8 },
                    { name: "zonetype", type: enums_1.DataType.UINT16 },
                    { name: "ieeeaddr", type: enums_1.DataType.IEEE_ADDR },
                    { name: "zonelabel", type: enums_1.DataType.CHAR_STR },
                ],
            },
            zoneStatusChanged: {
                ID: 3,
                parameters: [
                    { name: "zoneid", type: enums_1.DataType.UINT8 },
                    { name: "zonestatus", type: enums_1.DataType.UINT16 },
                    { name: "audiblenotif", type: enums_1.DataType.UINT8 },
                    { name: "zonelabel", type: enums_1.DataType.CHAR_STR },
                ],
            },
            panelStatusChanged: {
                ID: 4,
                parameters: [
                    { name: "panelstatus", type: enums_1.DataType.UINT8 },
                    { name: "secondsremain", type: enums_1.DataType.UINT8 },
                    { name: "audiblenotif", type: enums_1.DataType.UINT8 },
                    { name: "alarmstatus", type: enums_1.DataType.UINT8 },
                ],
            },
            getPanelStatusRsp: {
                ID: 5,
                parameters: [
                    { name: "panelstatus", type: enums_1.DataType.UINT8 },
                    { name: "secondsremain", type: enums_1.DataType.UINT8 },
                    { name: "audiblenotif", type: enums_1.DataType.UINT8 },
                    { name: "alarmstatus", type: enums_1.DataType.UINT8 },
                ],
            },
            setBypassedZoneList: {
                ID: 6,
                parameters: [
                    { name: "numofzones", type: enums_1.DataType.UINT8 },
                    { name: "zoneid", type: enums_1.BuffaloZclDataType.LIST_UINT8 },
                ],
            },
            bypassRsp: {
                ID: 7,
                parameters: [
                    { name: "numofzones", type: enums_1.DataType.UINT8 },
                    { name: "bypassresult", type: enums_1.BuffaloZclDataType.LIST_UINT8 },
                ],
            },
            getZoneStatusRsp: {
                ID: 8,
                parameters: [
                    { name: "zonestatuscomplete", type: enums_1.DataType.UINT8 },
                    { name: "numofzones", type: enums_1.DataType.UINT8 },
                    { name: "zoneinfo", type: enums_1.BuffaloZclDataType.LIST_ZONEINFO },
                ],
            },
        },
    },
    ssIasWd: {
        ID: 1282,
        attributes: {
            maxDuration: { ID: 0, type: enums_1.DataType.UINT16 },
        },
        commands: {
            startWarning: {
                ID: 0,
                parameters: [
                    { name: "startwarninginfo", type: enums_1.DataType.UINT8 },
                    { name: "warningduration", type: enums_1.DataType.UINT16 },
                    { name: "strobedutycycle", type: enums_1.DataType.UINT8 },
                    { name: "strobelevel", type: enums_1.DataType.UINT8 },
                ],
            },
            squawk: {
                ID: 1,
                parameters: [{ name: "squawkinfo", type: enums_1.DataType.UINT8 }],
            },
        },
        commandsResponse: {},
    },
    piGenericTunnel: {
        ID: 1536,
        attributes: {
            maxIncomeTransSize: { ID: 1, type: enums_1.DataType.UINT16 },
            maxOutgoTransSize: { ID: 2, type: enums_1.DataType.UINT16 },
            protocolAddr: { ID: 3, type: enums_1.DataType.OCTET_STR },
        },
        commands: {
            matchProtocolAddr: {
                ID: 0,
                parameters: [{ name: "protocoladdr", type: enums_1.DataType.CHAR_STR }],
            },
        },
        commandsResponse: {
            matchProtocolAddrRsp: {
                ID: 0,
                parameters: [
                    { name: "devieeeaddr", type: enums_1.DataType.IEEE_ADDR },
                    { name: "protocoladdr", type: enums_1.DataType.CHAR_STR },
                ],
            },
            advertiseProtocolAddr: {
                ID: 1,
                parameters: [{ name: "protocoladdr", type: enums_1.DataType.CHAR_STR }],
            },
        },
    },
    piBacnetProtocolTunnel: {
        ID: 1537,
        attributes: {},
        commands: {
            transferNpdu: {
                ID: 0,
                parameters: [{ name: "npdu", type: enums_1.DataType.UINT8 }],
            },
        },
        commandsResponse: {},
    },
    piAnalogInputReg: {
        ID: 1538,
        attributes: {
            covIncrement: { ID: 22, type: enums_1.DataType.SINGLE_PREC },
            deviceType: { ID: 31, type: enums_1.DataType.CHAR_STR },
            objectId: { ID: 75, type: enums_1.DataType.BAC_OID },
            objectName: { ID: 77, type: enums_1.DataType.CHAR_STR },
            objectType: { ID: 79, type: enums_1.DataType.ENUM16 },
            updateInterval: { ID: 118, type: enums_1.DataType.UINT8 },
            profileName: { ID: 168, type: enums_1.DataType.CHAR_STR },
        },
        commands: {},
        commandsResponse: {},
    },
    piAnalogInputExt: {
        ID: 1539,
        attributes: {
            ackedTransitions: { ID: 0, type: enums_1.DataType.BITMAP8 },
            notificationClass: { ID: 17, type: enums_1.DataType.UINT16 },
            deadband: { ID: 25, type: enums_1.DataType.SINGLE_PREC },
            eventEnable: { ID: 35, type: enums_1.DataType.BITMAP8 },
            eventState: { ID: 36, type: enums_1.DataType.ENUM8 },
            highLimit: { ID: 45, type: enums_1.DataType.SINGLE_PREC },
            limitEnable: { ID: 52, type: enums_1.DataType.BITMAP8 },
            lowLimit: { ID: 59, type: enums_1.DataType.SINGLE_PREC },
            notifyType: { ID: 72, type: enums_1.DataType.ENUM8 },
            timeDelay: { ID: 113, type: enums_1.DataType.UINT8 },
            eventTimeStamps: { ID: 130, type: enums_1.DataType.ARRAY },
        },
        commands: {
            transferApdu: {
                ID: 0,
                parameters: [],
            },
            connectReq: {
                ID: 1,
                parameters: [],
            },
            disconnectReq: {
                ID: 2,
                parameters: [],
            },
            connectStatusNoti: {
                ID: 3,
                parameters: [],
            },
        },
        commandsResponse: {},
    },
    piAnalogOutputReg: {
        ID: 1540,
        attributes: {
            covIncrement: { ID: 22, type: enums_1.DataType.SINGLE_PREC },
            deviceType: { ID: 31, type: enums_1.DataType.CHAR_STR },
            objectId: { ID: 75, type: enums_1.DataType.BAC_OID },
            objectName: { ID: 77, type: enums_1.DataType.CHAR_STR },
            objectType: { ID: 79, type: enums_1.DataType.ENUM16 },
            updateInterval: { ID: 118, type: enums_1.DataType.UINT8 },
            profileName: { ID: 168, type: enums_1.DataType.CHAR_STR },
        },
        commands: {},
        commandsResponse: {},
    },
    piAnalogOutputExt: {
        ID: 1541,
        attributes: {
            ackedTransitions: { ID: 0, type: enums_1.DataType.BITMAP8 },
            notificationClass: { ID: 17, type: enums_1.DataType.UINT16 },
            deadband: { ID: 25, type: enums_1.DataType.SINGLE_PREC },
            eventEnable: { ID: 35, type: enums_1.DataType.BITMAP8 },
            eventState: { ID: 36, type: enums_1.DataType.ENUM8 },
            highLimit: { ID: 45, type: enums_1.DataType.SINGLE_PREC },
            limitEnable: { ID: 52, type: enums_1.DataType.BITMAP8 },
            lowLimit: { ID: 59, type: enums_1.DataType.SINGLE_PREC },
            notifyType: { ID: 72, type: enums_1.DataType.ENUM8 },
            timeDelay: { ID: 113, type: enums_1.DataType.UINT8 },
            eventTimeStamps: { ID: 130, type: enums_1.DataType.ARRAY },
        },
        commands: {},
        commandsResponse: {},
    },
    piAnalogValueReg: {
        ID: 1542,
        attributes: {
            covIncrement: { ID: 22, type: enums_1.DataType.SINGLE_PREC },
            objectId: { ID: 75, type: enums_1.DataType.BAC_OID },
            objectName: { ID: 77, type: enums_1.DataType.CHAR_STR },
            objectType: { ID: 79, type: enums_1.DataType.ENUM16 },
            profileName: { ID: 168, type: enums_1.DataType.CHAR_STR },
        },
        commands: {},
        commandsResponse: {},
    },
    piAnalogValueExt: {
        ID: 1543,
        attributes: {
            ackedTransitions: { ID: 0, type: enums_1.DataType.BITMAP8 },
            notificationClass: { ID: 17, type: enums_1.DataType.UINT16 },
            deadband: { ID: 25, type: enums_1.DataType.SINGLE_PREC },
            eventEnable: { ID: 35, type: enums_1.DataType.BITMAP8 },
            eventState: { ID: 36, type: enums_1.DataType.ENUM8 },
            highLimit: { ID: 45, type: enums_1.DataType.SINGLE_PREC },
            limitEnable: { ID: 52, type: enums_1.DataType.BITMAP8 },
            lowLimit: { ID: 59, type: enums_1.DataType.SINGLE_PREC },
            notifyType: { ID: 72, type: enums_1.DataType.ENUM8 },
            timeDelay: { ID: 113, type: enums_1.DataType.UINT8 },
            eventTimeStamps: { ID: 130, type: enums_1.DataType.ARRAY },
        },
        commands: {},
        commandsResponse: {},
    },
    piBinaryInputReg: {
        ID: 1544,
        attributes: {
            changeOfStateCount: { ID: 15, type: enums_1.DataType.UINT32 },
            changeOfStateTime: { ID: 16, type: enums_1.DataType.STRUCT },
            deviceType: { ID: 31, type: enums_1.DataType.CHAR_STR },
            elapsedActiveTime: { ID: 33, type: enums_1.DataType.UINT32 },
            objectIdentifier: { ID: 75, type: enums_1.DataType.BAC_OID },
            objectName: { ID: 77, type: enums_1.DataType.CHAR_STR },
            objectType: { ID: 79, type: enums_1.DataType.ENUM16 },
            timeOfATReset: { ID: 114, type: enums_1.DataType.STRUCT },
            timeOfSCReset: { ID: 115, type: enums_1.DataType.STRUCT },
            profileName: { ID: 168, type: enums_1.DataType.CHAR_STR },
        },
        commands: {},
        commandsResponse: {},
    },
    piBinaryInputExt: {
        ID: 1545,
        attributes: {
            ackedTransitions: { ID: 0, type: enums_1.DataType.BITMAP8 },
            alarmValue: { ID: 6, type: enums_1.DataType.BOOLEAN },
            notificationClass: { ID: 17, type: enums_1.DataType.UINT16 },
            eventEnable: { ID: 35, type: enums_1.DataType.BITMAP8 },
            eventState: { ID: 36, type: enums_1.DataType.ENUM8 },
            notifyType: { ID: 72, type: enums_1.DataType.ENUM8 },
            timeDelay: { ID: 113, type: enums_1.DataType.UINT8 },
            eventTimeStamps: { ID: 130, type: enums_1.DataType.ARRAY },
        },
        commands: {},
        commandsResponse: {},
    },
    piBinaryOutputReg: {
        ID: 1546,
        attributes: {
            changeOfStateCount: { ID: 15, type: enums_1.DataType.UINT32 },
            changeOfStateTime: { ID: 16, type: enums_1.DataType.STRUCT },
            deviceType: { ID: 31, type: enums_1.DataType.CHAR_STR },
            elapsedActiveTime: { ID: 33, type: enums_1.DataType.UINT32 },
            feedBackValue: { ID: 40, type: enums_1.DataType.ENUM8 },
            objectIdentifier: { ID: 75, type: enums_1.DataType.BAC_OID },
            objectName: { ID: 77, type: enums_1.DataType.CHAR_STR },
            objectType: { ID: 79, type: enums_1.DataType.ENUM16 },
            timeOfATReset: { ID: 114, type: enums_1.DataType.STRUCT },
            timeOfSCReset: { ID: 115, type: enums_1.DataType.STRUCT },
            profileName: { ID: 168, type: enums_1.DataType.CHAR_STR },
        },
        commands: {},
        commandsResponse: {},
    },
    piBinaryOutputExt: {
        ID: 1547,
        attributes: {
            ackedTransitions: { ID: 0, type: enums_1.DataType.BITMAP8 },
            notificationClass: { ID: 17, type: enums_1.DataType.UINT16 },
            eventEnable: { ID: 35, type: enums_1.DataType.BITMAP8 },
            eventState: { ID: 36, type: enums_1.DataType.ENUM8 },
            notifyType: { ID: 72, type: enums_1.DataType.ENUM8 },
            timeDelay: { ID: 113, type: enums_1.DataType.UINT8 },
            eventTimeStamps: { ID: 130, type: enums_1.DataType.ARRAY },
        },
        commands: {},
        commandsResponse: {},
    },
    piBinaryValueReg: {
        ID: 1548,
        attributes: {
            changeOfStateCount: { ID: 15, type: enums_1.DataType.UINT32 },
            changeOfStateTime: { ID: 16, type: enums_1.DataType.STRUCT },
            elapsedActiveTime: { ID: 33, type: enums_1.DataType.UINT32 },
            objectIdentifier: { ID: 75, type: enums_1.DataType.BAC_OID },
            objectName: { ID: 77, type: enums_1.DataType.CHAR_STR },
            objectType: { ID: 79, type: enums_1.DataType.ENUM16 },
            timeOfATReset: { ID: 114, type: enums_1.DataType.STRUCT },
            timeOfSCReset: { ID: 115, type: enums_1.DataType.STRUCT },
            profileName: { ID: 168, type: enums_1.DataType.CHAR_STR },
        },
        commands: {},
        commandsResponse: {},
    },
    piBinaryValueExt: {
        ID: 1549,
        attributes: {
            ackedTransitions: { ID: 0, type: enums_1.DataType.BITMAP8 },
            alarmValue: { ID: 6, type: enums_1.DataType.BOOLEAN },
            notificationClass: { ID: 17, type: enums_1.DataType.UINT16 },
            eventEnable: { ID: 35, type: enums_1.DataType.BITMAP8 },
            eventState: { ID: 36, type: enums_1.DataType.ENUM8 },
            notifyType: { ID: 72, type: enums_1.DataType.ENUM8 },
            timeDelay: { ID: 113, type: enums_1.DataType.UINT8 },
            eventTimeStamps: { ID: 130, type: enums_1.DataType.ARRAY },
        },
        commands: {},
        commandsResponse: {},
    },
    piMultistateInputReg: {
        ID: 1550,
        attributes: {
            deviceType: { ID: 31, type: enums_1.DataType.CHAR_STR },
            objectId: { ID: 75, type: enums_1.DataType.BAC_OID },
            objectName: { ID: 77, type: enums_1.DataType.CHAR_STR },
            objectType: { ID: 79, type: enums_1.DataType.ENUM16 },
            profileName: { ID: 168, type: enums_1.DataType.CHAR_STR },
        },
        commands: {},
        commandsResponse: {},
    },
    piMultistateInputExt: {
        ID: 1551,
        attributes: {
            ackedTransitions: { ID: 0, type: enums_1.DataType.BITMAP8 },
            alarmValue: { ID: 6, type: enums_1.DataType.UINT16 },
            notificationClass: { ID: 17, type: enums_1.DataType.UINT16 },
            eventEnable: { ID: 35, type: enums_1.DataType.BITMAP8 },
            eventState: { ID: 36, type: enums_1.DataType.ENUM8 },
            faultValues: { ID: 37, type: enums_1.DataType.UINT16 },
            notifyType: { ID: 72, type: enums_1.DataType.ENUM8 },
            timeDelay: { ID: 113, type: enums_1.DataType.UINT8 },
            eventTimeStamps: { ID: 130, type: enums_1.DataType.ARRAY },
        },
        commands: {},
        commandsResponse: {},
    },
    piMultistateOutputReg: {
        ID: 1552,
        attributes: {
            deviceType: { ID: 31, type: enums_1.DataType.CHAR_STR },
            feedBackValue: { ID: 40, type: enums_1.DataType.ENUM8 },
            objectId: { ID: 75, type: enums_1.DataType.BAC_OID },
            objectName: { ID: 77, type: enums_1.DataType.CHAR_STR },
            objectType: { ID: 79, type: enums_1.DataType.ENUM16 },
            profileName: { ID: 168, type: enums_1.DataType.CHAR_STR },
        },
        commands: {},
        commandsResponse: {},
    },
    piMultistateOutputExt: {
        ID: 1553,
        attributes: {
            ackedTransitions: { ID: 0, type: enums_1.DataType.BITMAP8 },
            notificationClass: { ID: 17, type: enums_1.DataType.UINT16 },
            eventEnable: { ID: 35, type: enums_1.DataType.BITMAP8 },
            eventState: { ID: 36, type: enums_1.DataType.ENUM8 },
            notifyType: { ID: 72, type: enums_1.DataType.ENUM8 },
            timeDelay: { ID: 113, type: enums_1.DataType.UINT8 },
            eventTimeStamps: { ID: 130, type: enums_1.DataType.ARRAY },
        },
        commands: {},
        commandsResponse: {},
    },
    piMultistateValueReg: {
        ID: 1554,
        attributes: {
            objectId: { ID: 75, type: enums_1.DataType.BAC_OID },
            objectName: { ID: 77, type: enums_1.DataType.CHAR_STR },
            objectType: { ID: 79, type: enums_1.DataType.ENUM16 },
            profileName: { ID: 168, type: enums_1.DataType.CHAR_STR },
        },
        commands: {},
        commandsResponse: {},
    },
    piMultistateValueExt: {
        ID: 1555,
        attributes: {
            ackedTransitions: { ID: 0, type: enums_1.DataType.BITMAP8 },
            alarmValue: { ID: 6, type: enums_1.DataType.UINT16 },
            notificationClass: { ID: 17, type: enums_1.DataType.UINT16 },
            eventEnable: { ID: 35, type: enums_1.DataType.BITMAP8 },
            eventState: { ID: 36, type: enums_1.DataType.ENUM8 },
            faultValues: { ID: 37, type: enums_1.DataType.UINT16 },
            notifyType: { ID: 72, type: enums_1.DataType.ENUM8 },
            timeDelay: { ID: 113, type: enums_1.DataType.UINT8 },
            eventTimeStamps: { ID: 130, type: enums_1.DataType.ARRAY },
        },
        commands: {},
        commandsResponse: {},
    },
    pi11073ProtocolTunnel: {
        ID: 1556,
        attributes: {
            deviceidList: { ID: 0, type: enums_1.DataType.ARRAY },
            managerTarget: { ID: 1, type: enums_1.DataType.IEEE_ADDR },
            managerEndpoint: { ID: 2, type: enums_1.DataType.UINT8 },
            connected: { ID: 3, type: enums_1.DataType.BOOLEAN },
            preemptible: { ID: 4, type: enums_1.DataType.BOOLEAN },
            idleTimeout: { ID: 5, type: enums_1.DataType.UINT16 },
        },
        commands: {
            transferApdu: {
                ID: 0,
                parameters: [],
            },
            connectReq: {
                ID: 1,
                parameters: [],
            },
            disconnectReq: {
                ID: 2,
                parameters: [],
            },
            connectStatusNoti: {
                ID: 3,
                parameters: [],
            },
        },
        commandsResponse: {},
    },
    piIso7818ProtocolTunnel: {
        ID: 1557,
        attributes: {
            status: { ID: 0, type: enums_1.DataType.UINT8 },
        },
        commands: {},
        commandsResponse: {},
    },
    piRetailTunnel: {
        ID: 1559,
        attributes: {
            manufacturerCode: { ID: 0, type: enums_1.DataType.UINT16 },
            msProfile: { ID: 1, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    seMetering: {
        ID: 1794,
        attributes: {
            currentSummDelivered: { ID: 0, type: enums_1.DataType.UINT48 },
            currentSummReceived: { ID: 1, type: enums_1.DataType.UINT48 },
            currentMaxDemandDelivered: { ID: 2, type: enums_1.DataType.UINT48 },
            currentMaxDemandReceived: { ID: 3, type: enums_1.DataType.UINT48 },
            dftSumm: { ID: 4, type: enums_1.DataType.UINT48 },
            dailyFreezeTime: { ID: 5, type: enums_1.DataType.UINT16 },
            powerFactor: { ID: 6, type: enums_1.DataType.INT8 },
            readingSnapshotTime: { ID: 7, type: enums_1.DataType.UTC },
            currentMaxDemandDeliverdTime: { ID: 8, type: enums_1.DataType.UTC },
            currentMaxDemandReceivedTime: { ID: 9, type: enums_1.DataType.UTC },
            defaultUpdatePeriod: { ID: 10, type: enums_1.DataType.UINT8 },
            fastPollUpdatePeriod: { ID: 11, type: enums_1.DataType.UINT8 },
            currentBlockPeriodConsumpDelivered: { ID: 12, type: enums_1.DataType.UINT48 },
            dailyConsumpTarget: { ID: 13, type: enums_1.DataType.UINT24 },
            currentBlock: { ID: 14, type: enums_1.DataType.ENUM8 },
            profileIntervalPeriod: { ID: 15, type: enums_1.DataType.ENUM8 },
            intervalReadReportingPeriod: { ID: 16, type: enums_1.DataType.UINT16 },
            presetReadingTime: { ID: 17, type: enums_1.DataType.UINT16 },
            volumePerReport: { ID: 18, type: enums_1.DataType.UINT16 },
            flowRestriction: { ID: 19, type: enums_1.DataType.UINT8 },
            supplyStatus: { ID: 20, type: enums_1.DataType.ENUM8 },
            currentInEnergyCarrierSumm: { ID: 21, type: enums_1.DataType.UINT48 },
            currentOutEnergyCarrierSumm: { ID: 22, type: enums_1.DataType.UINT48 },
            inletTempreature: { ID: 23, type: enums_1.DataType.INT24 },
            outletTempreature: { ID: 24, type: enums_1.DataType.INT24 },
            controlTempreature: { ID: 25, type: enums_1.DataType.INT24 },
            currentInEnergyCarrierDemand: { ID: 26, type: enums_1.DataType.INT24 },
            currentOutEnergyCarrierDemand: { ID: 27, type: enums_1.DataType.INT24 },
            currentBlockPeriodConsumpReceived: { ID: 29, type: enums_1.DataType.UINT48 },
            currentBlockReceived: { ID: 30, type: enums_1.DataType.UINT48 },
            DFTSummationReceived: { ID: 31, type: enums_1.DataType.UINT48 },
            activeRegisterTierDelivered: { ID: 32, type: enums_1.DataType.ENUM8 },
            activeRegisterTierReceived: { ID: 33, type: enums_1.DataType.ENUM8 },
            currentTier1SummDelivered: { ID: 256, type: enums_1.DataType.UINT48 },
            currentTier1SummReceived: { ID: 257, type: enums_1.DataType.UINT48 },
            currentTier2SummDelivered: { ID: 258, type: enums_1.DataType.UINT48 },
            currentTier2SummReceived: { ID: 259, type: enums_1.DataType.UINT48 },
            currentTier3SummDelivered: { ID: 260, type: enums_1.DataType.UINT48 },
            currentTier3SummReceived: { ID: 261, type: enums_1.DataType.UINT48 },
            currentTier4SummDelivered: { ID: 262, type: enums_1.DataType.UINT48 },
            currentTier4SummReceived: { ID: 263, type: enums_1.DataType.UINT48 },
            currentTier5SummDelivered: { ID: 264, type: enums_1.DataType.UINT48 },
            currentTier5SummReceived: { ID: 265, type: enums_1.DataType.UINT48 },
            currentTier6SummDelivered: { ID: 266, type: enums_1.DataType.UINT48 },
            currentTier6SummReceived: { ID: 267, type: enums_1.DataType.UINT48 },
            currentTier7SummDelivered: { ID: 268, type: enums_1.DataType.UINT48 },
            currentTier7SummReceived: { ID: 269, type: enums_1.DataType.UINT48 },
            currentTier8SummDelivered: { ID: 270, type: enums_1.DataType.UINT48 },
            currentTier8SummReceived: { ID: 271, type: enums_1.DataType.UINT48 },
            currentTier9SummDelivered: { ID: 272, type: enums_1.DataType.UINT48 },
            currentTier9SummReceived: { ID: 273, type: enums_1.DataType.UINT48 },
            currentTier10SummDelivered: { ID: 274, type: enums_1.DataType.UINT48 },
            currentTier10SummReceived: { ID: 275, type: enums_1.DataType.UINT48 },
            currentTier11SummDelivered: { ID: 276, type: enums_1.DataType.UINT48 },
            currentTier11SummReceived: { ID: 277, type: enums_1.DataType.UINT48 },
            currentTier12SummDelivered: { ID: 278, type: enums_1.DataType.UINT48 },
            currentTier12SummReceived: { ID: 279, type: enums_1.DataType.UINT48 },
            currentTier13SummDelivered: { ID: 280, type: enums_1.DataType.UINT48 },
            currentTier13SummReceived: { ID: 281, type: enums_1.DataType.UINT48 },
            currentTier14SummDelivered: { ID: 282, type: enums_1.DataType.UINT48 },
            currentTier14SummReceived: { ID: 283, type: enums_1.DataType.UINT48 },
            currentTier15SummDelivered: { ID: 284, type: enums_1.DataType.UINT48 },
            currentTier15SummReceived: { ID: 285, type: enums_1.DataType.UINT48 },
            status: { ID: 512, type: enums_1.DataType.BITMAP8 },
            remainingBattLife: { ID: 513, type: enums_1.DataType.UINT8 },
            hoursInOperation: { ID: 514, type: enums_1.DataType.UINT24 },
            hoursInFault: { ID: 515, type: enums_1.DataType.UINT24 },
            extendedStatus: { ID: 516, type: enums_1.DataType.BITMAP64 },
            unitOfMeasure: { ID: 768, type: enums_1.DataType.ENUM8 },
            multiplier: { ID: 769, type: enums_1.DataType.UINT24 },
            divisor: { ID: 770, type: enums_1.DataType.UINT24 },
            summaFormatting: { ID: 771, type: enums_1.DataType.BITMAP8 },
            demandFormatting: { ID: 772, type: enums_1.DataType.BITMAP8 },
            historicalConsumpFormatting: { ID: 773, type: enums_1.DataType.BITMAP8 },
            meteringDeviceType: { ID: 774, type: enums_1.DataType.BITMAP8 },
            siteId: { ID: 775, type: enums_1.DataType.OCTET_STR },
            meterSerialNumber: { ID: 776, type: enums_1.DataType.OCTET_STR },
            energyCarrierUnitOfMeas: { ID: 777, type: enums_1.DataType.ENUM8 },
            energyCarrierSummFormatting: { ID: 778, type: enums_1.DataType.BITMAP8 },
            energyCarrierDemandFormatting: { ID: 779, type: enums_1.DataType.BITMAP8 },
            temperatureUnitOfMeas: { ID: 780, type: enums_1.DataType.ENUM8 },
            temperatureFormatting: { ID: 781, type: enums_1.DataType.BITMAP8 },
            moduleSerialNumber: { ID: 782, type: enums_1.DataType.OCTET_STR },
            operatingTariffLevel: { ID: 783, type: enums_1.DataType.OCTET_STR },
            instantaneousDemand: { ID: 1024, type: enums_1.DataType.INT24 },
            currentdayConsumpDelivered: { ID: 1025, type: enums_1.DataType.UINT24 },
            currentdayConsumpReceived: { ID: 1026, type: enums_1.DataType.UINT24 },
            previousdayConsumpDelivered: { ID: 1027, type: enums_1.DataType.UINT24 },
            previousdayConsumpReceived: { ID: 1028, type: enums_1.DataType.UINT24 },
            curPartProfileIntStartTimeDelivered: { ID: 1029, type: enums_1.DataType.UTC },
            curPartProfileIntStartTimeReceived: { ID: 1030, type: enums_1.DataType.UTC },
            curPartProfileIntValueDelivered: { ID: 1031, type: enums_1.DataType.UINT24 },
            curPartProfileIntValueReceived: { ID: 1032, type: enums_1.DataType.UINT24 },
            currentDayMaxPressure: { ID: 1033, type: enums_1.DataType.UINT48 },
            currentDayMinPressure: { ID: 1034, type: enums_1.DataType.UINT48 },
            previousDayMaxPressure: { ID: 1035, type: enums_1.DataType.UINT48 },
            previousDayMinPressure: { ID: 1036, type: enums_1.DataType.UINT48 },
            currentDayMaxDemand: { ID: 1037, type: enums_1.DataType.INT24 },
            previousDayMaxDemand: { ID: 1038, type: enums_1.DataType.INT24 },
            currentMonthMaxDemand: { ID: 1039, type: enums_1.DataType.INT24 },
            currentYearMaxDemand: { ID: 1040, type: enums_1.DataType.INT24 },
            currentdayMaxEnergyCarrDemand: { ID: 1041, type: enums_1.DataType.INT24 },
            previousdayMaxEnergyCarrDemand: { ID: 1042, type: enums_1.DataType.INT24 },
            curMonthMaxEnergyCarrDemand: { ID: 1043, type: enums_1.DataType.INT24 },
            curMonthMinEnergyCarrDemand: { ID: 1044, type: enums_1.DataType.INT24 },
            curYearMaxEnergyCarrDemand: { ID: 1045, type: enums_1.DataType.INT24 },
            curYearMinEnergyCarrDemand: { ID: 1046, type: enums_1.DataType.INT24 },
            maxNumberOfPeriodsDelivered: { ID: 1280, type: enums_1.DataType.UINT8 },
            currentDemandDelivered: { ID: 1536, type: enums_1.DataType.UINT24 },
            demandLimit: { ID: 1537, type: enums_1.DataType.UINT24 },
            demandIntegrationPeriod: { ID: 1538, type: enums_1.DataType.UINT8 },
            numberOfDemandSubintervals: { ID: 1539, type: enums_1.DataType.UINT8 },
            demandLimitArmDuration: { ID: 1540, type: enums_1.DataType.UINT16 },
            genericAlarmMask: { ID: 2048, type: enums_1.DataType.BITMAP16 },
            electricityAlarmMask: { ID: 2049, type: enums_1.DataType.BITMAP32 },
            genFlowPressureAlarmMask: { ID: 2050, type: enums_1.DataType.BITMAP16 },
            waterSpecificAlarmMask: { ID: 2051, type: enums_1.DataType.BITMAP16 },
            heatCoolSpecificAlarmMASK: { ID: 2052, type: enums_1.DataType.BITMAP16 },
            gasSpecificAlarmMask: { ID: 2053, type: enums_1.DataType.BITMAP16 },
            extendedGenericAlarmMask: { ID: 2054, type: enums_1.DataType.BITMAP48 },
            manufactureAlarmMask: { ID: 2055, type: enums_1.DataType.BITMAP16 },
            billToDate: { ID: 2560, type: enums_1.DataType.UINT32 },
            billToDateTimeStamp: { ID: 2561, type: enums_1.DataType.UTC },
            projectedBill: { ID: 2562, type: enums_1.DataType.UINT32 },
            projectedBillTimeStamp: { ID: 2563, type: enums_1.DataType.UTC },
            develcoPulseConfiguration: { ID: 0x0300, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DEVELCO },
            develcoCurrentSummation: { ID: 0x0301, type: enums_1.DataType.UINT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.DEVELCO },
            develcoInterfaceMode: { ID: 0x0302, type: enums_1.DataType.ENUM16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DEVELCO },
            owonL1PhasePower: { ID: 0x2000, type: enums_1.DataType.INT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL2PhasePower: { ID: 0x2001, type: enums_1.DataType.INT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL3PhasePower: { ID: 0x2002, type: enums_1.DataType.INT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL1PhaseReactivePower: { ID: 0x2100, type: enums_1.DataType.INT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL2PhaseReactivePower: { ID: 0x2101, type: enums_1.DataType.INT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL3PhaseReactivePower: { ID: 0x2102, type: enums_1.DataType.INT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonReactivePowerSum: { ID: 0x2103, type: enums_1.DataType.INT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL1PhaseVoltage: { ID: 0x3000, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL2PhaseVoltage: { ID: 0x3001, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL3PhaseVoltage: { ID: 0x3002, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL1PhaseCurrent: { ID: 0x3100, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL2PhaseCurrent: { ID: 0x3101, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL3PhaseCurrent: { ID: 0x3102, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonCurrentSum: { ID: 0x3103, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonLeakageCurrent: { ID: 0x3104, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL1Energy: { ID: 0x4000, type: enums_1.DataType.UINT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL2Energy: { ID: 0x4001, type: enums_1.DataType.UINT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL3Energy: { ID: 0x4002, type: enums_1.DataType.UINT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL1ReactiveEnergy: { ID: 0x4100, type: enums_1.DataType.UINT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL2ReactiveEnergy: { ID: 0x4101, type: enums_1.DataType.UINT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL3ReactiveEnergy: { ID: 0x4102, type: enums_1.DataType.UINT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonReactiveEnergySum: { ID: 0x4103, type: enums_1.DataType.UINT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL1PowerFactor: { ID: 0x4104, type: enums_1.DataType.INT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL2PowerFactor: { ID: 0x4105, type: enums_1.DataType.INT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonL3PowerFactor: { ID: 0x4106, type: enums_1.DataType.INT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonFrequency: { ID: 0x5005, type: enums_1.DataType.UINT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonReportMap: { ID: 0x1000, type: enums_1.DataType.BITMAP8, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonLastHistoricalRecordTime: { ID: 0x5000, type: enums_1.DataType.UINT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonOldestHistoricalRecordTime: { ID: 0x5001, type: enums_1.DataType.UINT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonMinimumReportCycle: { ID: 0x5002, type: enums_1.DataType.UINT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonMaximumReportCycle: { ID: 0x5003, type: enums_1.DataType.UINT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonSentHistoricalRecordState: { ID: 0x5004, type: enums_1.DataType.UINT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonAccumulativeEnergyThreshold: { ID: 0x5006, type: enums_1.DataType.UINT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonReportMode: { ID: 0x5007, type: enums_1.DataType.UINT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            owonPercentChangeInPower: { ID: 0x5008, type: enums_1.DataType.UINT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC },
            schneiderActiveEnergyTotal: { ID: 0x4010, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderReactiveEnergyTotal: { ID: 0x4011, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderApparentEnergyTotal: { ID: 0x4012, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderPartialActiveEnergyTotal: { ID: 0x4014, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderPartialReactiveEnergyTotal: { ID: 0x4015, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderPartialApparentEnergyTotal: { ID: 0x4016, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderPartialActiveEnergyL1Phase: { ID: 0x4100, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderPartialReactiveEnergyL1Phase: { ID: 0x4101, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderPartialApparentEnergyL1Phase: { ID: 0x4102, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderActiveEnergyL1Phase: { ID: 0x4103, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderReactiveEnergyL1Phase: { ID: 0x4104, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderApparentEnergyL1Phase: { ID: 0x4105, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderPartialActiveEnergyL2Phase: { ID: 0x4200, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderPartialReactiveEnergyL2Phase: { ID: 0x4201, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderPartialApparentEnergyL2Phase: { ID: 0x4202, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderActiveEnergyL2Phase: { ID: 0x4203, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderReactiveEnergyL2Phase: { ID: 0x4204, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderApparentEnergyL2Phase: { ID: 0x4205, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderPartialActiveEnergyL3Phase: { ID: 0x4300, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderPartialReactiveEnergyL3Phase: { ID: 0x4301, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderPartialApparentEnergyL3Phase: { ID: 0x4302, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderActiveEnergyL3Phase: { ID: 0x4303, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderReactiveEnergyL3Phase: { ID: 0x4304, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderApparentEnergyL3Phase: { ID: 0x4305, type: enums_1.DataType.INT48, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderActiveEnergyMultiplier: { ID: 0x4400, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderActiveEnergyDivisor: { ID: 0x4401, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderReactiveEnergyMultiplier: { ID: 0x4402, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderReactiveEnergyDivisor: { ID: 0x4403, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderApparentEnergyMultiplier: { ID: 0x4404, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderApparentEnergyDivisor: { ID: 0x4405, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderEnergyResetDateTime: { ID: 0x4501, type: enums_1.DataType.UTC, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderEnergyCountersReportingPeriod: { ID: 0x4600, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
        },
        commands: {
            getProfile: {
                ID: 0,
                parameters: [],
            },
            reqMirror: {
                ID: 1,
                parameters: [],
            },
            mirrorRem: {
                ID: 2,
                parameters: [],
            },
            reqFastPollMode: {
                ID: 3,
                parameters: [],
            },
            getSnapshot: {
                ID: 4,
                parameters: [],
            },
            takeSnapshot: {
                ID: 5,
                parameters: [],
            },
            mirrorReportAttrRsp: {
                ID: 6,
                parameters: [],
            },
            owonGetHistoryRecord: {
                ID: 0x20,
                parameters: [],
            },
            owonStopSendingHistoricalRecord: {
                ID: 0x21,
                parameters: [],
            },
        },
        commandsResponse: {
            getProfileRsp: {
                ID: 0,
                parameters: [],
            },
            reqMirrorRsp: {
                ID: 1,
                parameters: [],
            },
            mirrorRemRsp: {
                ID: 2,
                parameters: [],
            },
            reqFastPollModeRsp: {
                ID: 3,
                parameters: [],
            },
            getSnapshotRsp: {
                ID: 4,
                parameters: [],
            },
            owonGetHistoryRecordRsp: {
                ID: 0x20,
                parameters: [],
            },
        },
    },
    tunneling: {
        ID: 0x0704,
        attributes: {},
        commands: {
            requestTunnel: {
                ID: 0,
                response: 0,
                parameters: [
                    { name: "protocolId", type: enums_1.DataType.ENUM8 },
                    { name: "manufCode", type: enums_1.DataType.UINT16 },
                    { name: "flowControl", type: enums_1.DataType.BOOLEAN },
                    { name: "mtuSize", type: enums_1.DataType.UINT16 },
                ],
            },
            closeTunnel: {
                ID: 1,
                parameters: [{ name: "tunnelId", type: enums_1.DataType.UINT16 }],
            },
            transferData: {
                ID: 2,
                parameters: [
                    { name: "tunnelId", type: enums_1.DataType.UINT16 },
                    { name: "data", type: enums_1.BuffaloZclDataType.BUFFER },
                ],
            },
            transferDataError: {
                ID: 3,
                parameters: [
                    { name: "tunnelId", type: enums_1.DataType.UINT16 },
                    { name: "status", type: enums_1.DataType.UINT8 },
                ],
            },
        },
        commandsResponse: {
            requestTunnelResp: {
                ID: 0,
                parameters: [
                    { name: "tunnelId", type: enums_1.DataType.UINT16 },
                    { name: "tunnelStatus", type: enums_1.DataType.UINT8 },
                    { name: "mtuSize", type: enums_1.DataType.UINT16 },
                ],
            },
            transferDataResp: {
                ID: 1,
                parameters: [
                    { name: "tunnelId", type: enums_1.DataType.UINT16 },
                    { name: "data", type: enums_1.BuffaloZclDataType.BUFFER },
                ],
            },
            transferDataErrorResp: {
                ID: 2,
                parameters: [
                    { name: "tunnelId", type: enums_1.DataType.UINT16 },
                    { name: "status", type: enums_1.DataType.UINT8 },
                ],
            },
        },
    },
    telecommunicationsInformation: {
        ID: 2304,
        attributes: {
            nodeDescription: { ID: 0, type: enums_1.DataType.CHAR_STR },
            deliveryEnable: { ID: 1, type: enums_1.DataType.BOOLEAN },
            pushInformationTimer: { ID: 2, type: enums_1.DataType.UINT32 },
            enableSecureConfiguration: { ID: 3, type: enums_1.DataType.BOOLEAN },
            numberOfContents: { ID: 16, type: enums_1.DataType.UINT16 },
            contentRootID: { ID: 17, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    telecommunicationsVoiceOverZigbee: {
        ID: 2308,
        attributes: {
            codecType: { ID: 0, type: enums_1.DataType.ENUM8 },
            samplingFrequency: { ID: 1, type: enums_1.DataType.ENUM8 },
            codecrate: { ID: 2, type: enums_1.DataType.ENUM8 },
            establishmentTimeout: { ID: 3, type: enums_1.DataType.UINT8 },
            codecTypeSub1: { ID: 4, type: enums_1.DataType.ENUM8 },
            codecTypeSub2: { ID: 5, type: enums_1.DataType.ENUM8 },
            codecTypeSub3: { ID: 6, type: enums_1.DataType.ENUM8 },
            compressionType: { ID: 7, type: enums_1.DataType.ENUM8 },
            compressionRate: { ID: 8, type: enums_1.DataType.ENUM8 },
            optionFlags: { ID: 9, type: enums_1.DataType.BITMAP8 },
            threshold: { ID: 10, type: enums_1.DataType.UINT8 },
        },
        commands: {},
        commandsResponse: {},
    },
    telecommunicationsChatting: {
        ID: 2309,
        attributes: {
            uID: { ID: 0, type: enums_1.DataType.UINT16 },
            nickname: { ID: 1, type: enums_1.DataType.CHAR_STR },
            cID: { ID: 16, type: enums_1.DataType.UINT16 },
            name: { ID: 17, type: enums_1.DataType.CHAR_STR },
            enableAddChat: { ID: 18, type: enums_1.DataType.BOOLEAN },
        },
        commands: {},
        commandsResponse: {},
    },
    haApplianceIdentification: {
        ID: 2816,
        attributes: {
            basicIdentification: { ID: 0, type: enums_1.DataType.UINT56 },
            companyName: { ID: 16, type: enums_1.DataType.CHAR_STR },
            companyId: { ID: 17, type: enums_1.DataType.UINT16 },
            brandName: { ID: 18, type: enums_1.DataType.CHAR_STR },
            brandId: { ID: 19, type: enums_1.DataType.UINT16 },
            model: { ID: 20, type: enums_1.DataType.OCTET_STR },
            partNumber: { ID: 21, type: enums_1.DataType.OCTET_STR },
            productRevision: { ID: 22, type: enums_1.DataType.OCTET_STR },
            softwareRevision: { ID: 23, type: enums_1.DataType.OCTET_STR },
            productTypeName: { ID: 24, type: enums_1.DataType.OCTET_STR },
            productTypeId: { ID: 25, type: enums_1.DataType.UINT16 },
            cecedSpecificationVersion: { ID: 26, type: enums_1.DataType.UINT8 },
        },
        commands: {},
        commandsResponse: {},
    },
    haMeterIdentification: {
        ID: 2817,
        attributes: {
            companyName: { ID: 0, type: enums_1.DataType.CHAR_STR },
            meterTypeId: { ID: 1, type: enums_1.DataType.UINT16 },
            dataQualityId: { ID: 4, type: enums_1.DataType.UINT16 },
            customerName: { ID: 5, type: enums_1.DataType.CHAR_STR },
            model: { ID: 6, type: enums_1.DataType.CHAR_STR },
            partNumber: { ID: 7, type: enums_1.DataType.CHAR_STR },
            productRevision: { ID: 8, type: enums_1.DataType.CHAR_STR },
            softwareRevision: { ID: 10, type: enums_1.DataType.CHAR_STR },
            utilityName: { ID: 11, type: enums_1.DataType.CHAR_STR },
            pod: { ID: 12, type: enums_1.DataType.CHAR_STR },
            availablePower: { ID: 13, type: enums_1.DataType.INT24 },
            powerThreshold: { ID: 14, type: enums_1.DataType.INT24 },
        },
        commands: {},
        commandsResponse: {},
    },
    haApplianceEventsAlerts: {
        ID: 2818,
        attributes: {},
        commands: {
            getAlerts: {
                ID: 0,
                parameters: [],
            },
        },
        commandsResponse: {
            getAlertsRsp: {
                ID: 0,
                parameters: [
                    { name: "alertscount", type: enums_1.DataType.UINT8 },
                    { name: "aalert", type: enums_1.BuffaloZclDataType.LIST_UINT24 },
                ],
            },
            alertsNotification: {
                ID: 1,
                parameters: [
                    { name: "alertscount", type: enums_1.DataType.UINT8 },
                    { name: "aalert", type: enums_1.BuffaloZclDataType.LIST_UINT24 },
                ],
            },
            eventNotification: {
                ID: 2,
                parameters: [
                    { name: "eventheader", type: enums_1.DataType.UINT8 },
                    { name: "eventid", type: enums_1.DataType.UINT8 },
                ],
            },
        },
    },
    haApplianceStatistics: {
        ID: 2819,
        attributes: {
            logMaxSize: { ID: 0, type: enums_1.DataType.UINT32 },
            logQueueMaxSize: { ID: 1, type: enums_1.DataType.UINT8 },
        },
        commands: {
            log: {
                ID: 0,
                parameters: [{ name: "logid", type: enums_1.DataType.UINT32 }],
            },
            logQueue: {
                ID: 1,
                parameters: [],
            },
        },
        commandsResponse: {
            logNotification: {
                ID: 0,
                parameters: [
                    { name: "timestamp", type: enums_1.DataType.UINT32 },
                    { name: "logid", type: enums_1.DataType.UINT32 },
                    { name: "loglength", type: enums_1.DataType.UINT32 },
                    { name: "logpayload", type: enums_1.BuffaloZclDataType.LIST_UINT8 },
                ],
            },
            logRsp: {
                ID: 1,
                parameters: [
                    { name: "timestamp", type: enums_1.DataType.UINT32 },
                    { name: "logid", type: enums_1.DataType.UINT32 },
                    { name: "loglength", type: enums_1.DataType.UINT32 },
                    { name: "logpayload", type: enums_1.BuffaloZclDataType.LIST_UINT8 },
                ],
            },
            logQueueRsp: {
                ID: 2,
                parameters: [
                    { name: "logqueuesize", type: enums_1.DataType.UINT8 },
                    { name: "logid", type: enums_1.BuffaloZclDataType.LIST_UINT32 },
                ],
            },
            statisticsAvailable: {
                ID: 3,
                parameters: [
                    { name: "logqueuesize", type: enums_1.DataType.UINT8 },
                    { name: "logid", type: enums_1.BuffaloZclDataType.LIST_UINT32 },
                ],
            },
        },
    },
    haElectricalMeasurement: {
        ID: 2820,
        attributes: {
            measurementType: { ID: 0, type: enums_1.DataType.BITMAP32 },
            dcVoltage: { ID: 256, type: enums_1.DataType.INT16 },
            dcVoltageMin: { ID: 257, type: enums_1.DataType.INT16 },
            dcvoltagemax: { ID: 258, type: enums_1.DataType.INT16 },
            dcCurrent: { ID: 259, type: enums_1.DataType.INT16 },
            dcCurrentMin: { ID: 260, type: enums_1.DataType.INT16 },
            dcCurrentMax: { ID: 261, type: enums_1.DataType.INT16 },
            dcPower: { ID: 262, type: enums_1.DataType.INT16 },
            dcPowerMin: { ID: 263, type: enums_1.DataType.INT16 },
            dcPowerMax: { ID: 264, type: enums_1.DataType.INT16 },
            dcVoltageMultiplier: { ID: 512, type: enums_1.DataType.UINT16 },
            dcVoltageDivisor: { ID: 513, type: enums_1.DataType.UINT16 },
            dcCurrentMultiplier: { ID: 514, type: enums_1.DataType.UINT16 },
            dcCurrentDivisor: { ID: 515, type: enums_1.DataType.UINT16 },
            dcPowerMultiplier: { ID: 516, type: enums_1.DataType.UINT16 },
            dcPowerDivisor: { ID: 517, type: enums_1.DataType.UINT16 },
            acFrequency: { ID: 768, type: enums_1.DataType.UINT16 },
            acFrequencyMin: { ID: 769, type: enums_1.DataType.UINT16 },
            acFrequencyMax: { ID: 770, type: enums_1.DataType.UINT16 },
            neutralCurrent: { ID: 771, type: enums_1.DataType.UINT16 },
            totalActivePower: { ID: 772, type: enums_1.DataType.INT32 },
            totalReactivePower: { ID: 773, type: enums_1.DataType.INT32 },
            totalApparentPower: { ID: 774, type: enums_1.DataType.UINT32 },
            meas1stHarmonicCurrent: { ID: 775, type: enums_1.DataType.INT16 },
            meas3rdHarmonicCurrent: { ID: 776, type: enums_1.DataType.INT16 },
            meas5thHarmonicCurrent: { ID: 777, type: enums_1.DataType.INT16 },
            meas7thHarmonicCurrent: { ID: 778, type: enums_1.DataType.INT16 },
            meas9thHarmonicCurrent: { ID: 779, type: enums_1.DataType.INT16 },
            meas11thHarmonicCurrent: { ID: 780, type: enums_1.DataType.INT16 },
            measPhase1stHarmonicCurrent: { ID: 781, type: enums_1.DataType.INT16 },
            measPhase3rdHarmonicCurrent: { ID: 782, type: enums_1.DataType.INT16 },
            measPhase5thHarmonicCurrent: { ID: 783, type: enums_1.DataType.INT16 },
            measPhase7thHarmonicCurrent: { ID: 784, type: enums_1.DataType.INT16 },
            measPhase9thHarmonicCurrent: { ID: 785, type: enums_1.DataType.INT16 },
            measPhase11thHarmonicCurrent: { ID: 786, type: enums_1.DataType.INT16 },
            acFrequencyMultiplier: { ID: 1024, type: enums_1.DataType.UINT16 },
            acFrequencyDivisor: { ID: 1025, type: enums_1.DataType.UINT16 },
            powerMultiplier: { ID: 1026, type: enums_1.DataType.UINT32 },
            powerDivisor: { ID: 1027, type: enums_1.DataType.UINT32 },
            harmonicCurrentMultiplier: { ID: 1028, type: enums_1.DataType.INT8 },
            phaseHarmonicCurrentMultiplier: { ID: 1029, type: enums_1.DataType.INT8 },
            instantaneousVoltage: { ID: 1280, type: enums_1.DataType.INT16 },
            instantaneousLineCurrent: { ID: 1281, type: enums_1.DataType.UINT16 },
            instantaneousActiveCurrent: { ID: 1282, type: enums_1.DataType.INT16 },
            instantaneousReactiveCurrent: { ID: 1283, type: enums_1.DataType.INT16 },
            instantaneousPower: { ID: 1284, type: enums_1.DataType.INT16 },
            rmsVoltage: { ID: 1285, type: enums_1.DataType.UINT16 },
            rmsVoltageMin: { ID: 1286, type: enums_1.DataType.UINT16 },
            rmsVoltageMax: { ID: 1287, type: enums_1.DataType.UINT16 },
            rmsCurrent: { ID: 1288, type: enums_1.DataType.UINT16 },
            rmsCurrentMin: { ID: 1289, type: enums_1.DataType.UINT16 },
            rmsCurrentMax: { ID: 1290, type: enums_1.DataType.UINT16 },
            activePower: { ID: 1291, type: enums_1.DataType.INT16 },
            activePowerMin: { ID: 1292, type: enums_1.DataType.INT16 },
            activePowerMax: { ID: 1293, type: enums_1.DataType.INT16 },
            reactivePower: { ID: 1294, type: enums_1.DataType.INT16 },
            apparentPower: { ID: 1295, type: enums_1.DataType.UINT16 },
            powerFactor: { ID: 1296, type: enums_1.DataType.INT8 },
            averageRmsVoltageMeasPeriod: { ID: 1297, type: enums_1.DataType.UINT16 },
            averageRmsOverVoltageCounter: { ID: 1298, type: enums_1.DataType.UINT16 },
            averageRmsUnderVoltageCounter: { ID: 1299, type: enums_1.DataType.UINT16 },
            rmsExtremeOverVoltagePeriod: { ID: 1300, type: enums_1.DataType.UINT16 },
            rmsExtremeUnderVoltagePeriod: { ID: 1301, type: enums_1.DataType.UINT16 },
            rmsVoltageSagPeriod: { ID: 1302, type: enums_1.DataType.UINT16 },
            rmsVoltageSwellPeriod: { ID: 1303, type: enums_1.DataType.UINT16 },
            acVoltageMultiplier: { ID: 1536, type: enums_1.DataType.UINT16 },
            acVoltageDivisor: { ID: 1537, type: enums_1.DataType.UINT16 },
            acCurrentMultiplier: { ID: 1538, type: enums_1.DataType.UINT16 },
            acCurrentDivisor: { ID: 1539, type: enums_1.DataType.UINT16 },
            acPowerMultiplier: { ID: 1540, type: enums_1.DataType.UINT16 },
            acPowerDivisor: { ID: 1541, type: enums_1.DataType.UINT16 },
            dcOverloadAlarmsMask: { ID: 1792, type: enums_1.DataType.BITMAP8 },
            dcVoltageOverload: { ID: 1793, type: enums_1.DataType.INT16 },
            dcCurrentOverload: { ID: 1794, type: enums_1.DataType.INT16 },
            acAlarmsMask: { ID: 2048, type: enums_1.DataType.BITMAP16 },
            acVoltageOverload: { ID: 2049, type: enums_1.DataType.INT16 },
            acCurrentOverload: { ID: 2050, type: enums_1.DataType.INT16 },
            acActivePowerOverload: { ID: 2051, type: enums_1.DataType.INT16 },
            acReactivePowerOverload: { ID: 2052, type: enums_1.DataType.INT16 },
            averageRmsOverVoltage: { ID: 2053, type: enums_1.DataType.INT16 },
            averageRmsUnderVoltage: { ID: 2054, type: enums_1.DataType.INT16 },
            rmsExtremeOverVoltage: { ID: 2055, type: enums_1.DataType.INT16 },
            rmsExtremeUnderVoltage: { ID: 2056, type: enums_1.DataType.INT16 },
            rmsVoltageSag: { ID: 2057, type: enums_1.DataType.INT16 },
            rmsVoltageSwell: { ID: 2058, type: enums_1.DataType.INT16 },
            lineCurrentPhB: { ID: 2305, type: enums_1.DataType.UINT16 },
            activeCurrentPhB: { ID: 2306, type: enums_1.DataType.INT16 },
            reactiveCurrentPhB: { ID: 2307, type: enums_1.DataType.INT16 },
            rmsVoltagePhB: { ID: 2309, type: enums_1.DataType.UINT16 },
            rmsVoltageMinPhB: { ID: 2310, type: enums_1.DataType.UINT16 },
            rmsVoltageMaxPhB: { ID: 2311, type: enums_1.DataType.UINT16 },
            rmsCurrentPhB: { ID: 2312, type: enums_1.DataType.UINT16 },
            rmsCurrentMinPhB: { ID: 2313, type: enums_1.DataType.UINT16 },
            rmsCurrentMaxPhB: { ID: 2314, type: enums_1.DataType.UINT16 },
            activePowerPhB: { ID: 2315, type: enums_1.DataType.INT16 },
            activePowerMinPhB: { ID: 2316, type: enums_1.DataType.INT16 },
            activePowerMaxPhB: { ID: 2317, type: enums_1.DataType.INT16 },
            reactivePowerPhB: { ID: 2318, type: enums_1.DataType.INT16 },
            apparentPowerPhB: { ID: 2319, type: enums_1.DataType.UINT16 },
            powerFactorPhB: { ID: 2320, type: enums_1.DataType.INT8 },
            averageRmsVoltageMeasurePeriodPhB: { ID: 2321, type: enums_1.DataType.UINT16 },
            averageRmsOverVoltageCounterPhB: { ID: 2322, type: enums_1.DataType.UINT16 },
            averageUnderVoltageCounterPhB: { ID: 2323, type: enums_1.DataType.UINT16 },
            rmsExtremeOverVoltagePeriodPhB: { ID: 2324, type: enums_1.DataType.UINT16 },
            rmsExtremeUnderVoltagePeriodPhB: { ID: 2325, type: enums_1.DataType.UINT16 },
            rmsVoltageSagPeriodPhB: { ID: 2326, type: enums_1.DataType.UINT16 },
            rmsVoltageSwellPeriodPhB: { ID: 2327, type: enums_1.DataType.UINT16 },
            lineCurrentPhC: { ID: 2561, type: enums_1.DataType.UINT16 },
            activeCurrentPhC: { ID: 2562, type: enums_1.DataType.INT16 },
            reactiveCurrentPhC: { ID: 2563, type: enums_1.DataType.INT16 },
            rmsVoltagePhC: { ID: 2565, type: enums_1.DataType.UINT16 },
            rmsVoltageMinPhC: { ID: 2566, type: enums_1.DataType.UINT16 },
            rmsVoltageMaxPhC: { ID: 2567, type: enums_1.DataType.UINT16 },
            rmsCurrentPhC: { ID: 2568, type: enums_1.DataType.UINT16 },
            rmsCurrentMinPhC: { ID: 2569, type: enums_1.DataType.UINT16 },
            rmsCurrentMaxPhC: { ID: 2570, type: enums_1.DataType.UINT16 },
            activePowerPhC: { ID: 2571, type: enums_1.DataType.INT16 },
            activePowerMinPhC: { ID: 2572, type: enums_1.DataType.INT16 },
            activePowerMaxPhC: { ID: 2573, type: enums_1.DataType.INT16 },
            reactivePowerPhC: { ID: 2574, type: enums_1.DataType.INT16 },
            apparentPowerPhC: { ID: 2575, type: enums_1.DataType.UINT16 },
            powerFactorPhC: { ID: 2576, type: enums_1.DataType.INT8 },
            averageRmsVoltageMeasPeriodPhC: { ID: 2577, type: enums_1.DataType.UINT16 },
            averageRmsOverVoltageCounterPhC: { ID: 2578, type: enums_1.DataType.UINT16 },
            averageUnderVoltageCounterPhC: { ID: 2579, type: enums_1.DataType.UINT16 },
            rmsExtremeOverVoltagePeriodPhC: { ID: 2580, type: enums_1.DataType.UINT16 },
            rmsExtremeUnderVoltagePeriodPhC: { ID: 2581, type: enums_1.DataType.UINT16 },
            rmsVoltageSagPeriodPhC: { ID: 2582, type: enums_1.DataType.UINT16 },
            rmsVoltageSwellPeriodPhC: { ID: 2583, type: enums_1.DataType.UINT16 },
            schneiderActivePowerDemandTotal: { ID: 0x4300, type: enums_1.DataType.INT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderReactivePowerDemandTotal: { ID: 0x4303, type: enums_1.DataType.INT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderApparentPowerDemandTotal: { ID: 0x4318, type: enums_1.DataType.INT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderDemandIntervalDuration: { ID: 0x4319, type: enums_1.DataType.UINT24, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderDemandDateTime: { ID: 0x4320, type: enums_1.DataType.UTC, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderActivePowerDemandPhase1: { ID: 0x4509, type: enums_1.DataType.INT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderReactivePowerDemandPhase1: { ID: 0x450a, type: enums_1.DataType.INT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderApparentPowerDemandPhase1: { ID: 0x450b, type: enums_1.DataType.INT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderDemandIntervalMinimalVoltageL1: { ID: 0x4510, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderDemandIntervalMaximalCurrentI1: { ID: 0x4513, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderActivePowerDemandPhase2: { ID: 0x4909, type: enums_1.DataType.INT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderReactivePowerDemandPhase2: { ID: 0x490a, type: enums_1.DataType.INT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderApparentPowerDemandPhase2: { ID: 0x490b, type: enums_1.DataType.INT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderDemandIntervalMinimalVoltageL2: { ID: 0x4910, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderDemandIntervalMaximalCurrentI2: { ID: 0x4913, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderActivePowerDemandPhase3: { ID: 0x4a09, type: enums_1.DataType.INT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderReactivePowerDemandPhase3: { ID: 0x4a0a, type: enums_1.DataType.INT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderApparentPowerDemandPhase3: { ID: 0x4a0b, type: enums_1.DataType.INT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderDemandIntervalMinimalVoltageL3: { ID: 0x4a10, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderDemandIntervalMaximalCurrentI3: { ID: 0x4a13, type: enums_1.DataType.UINT16, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderCurrentSensorMultiplier: { ID: 0x4e00, type: enums_1.DataType.UINT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
        },
        commands: {
            getProfileInfo: {
                ID: 0,
                parameters: [],
            },
            getMeasurementProfile: {
                ID: 1,
                parameters: [
                    { name: "attrId", type: enums_1.DataType.UINT16 },
                    { name: "starttime", type: enums_1.DataType.UINT32 },
                    { name: "numofuntervals", type: enums_1.DataType.UINT8 },
                ],
            },
        },
        commandsResponse: {
            getProfileInfoRsp: {
                ID: 0,
                parameters: [
                    { name: "profilecount", type: enums_1.DataType.UINT8 },
                    { name: "profileintervalperiod", type: enums_1.DataType.UINT8 },
                    { name: "maxnumofintervals", type: enums_1.DataType.UINT8 },
                    { name: "numofattrs", type: enums_1.DataType.UINT8 },
                    { name: "listofattr", type: enums_1.BuffaloZclDataType.LIST_UINT16 },
                ],
            },
            getMeasurementProfileRsp: {
                ID: 1,
                parameters: [
                    { name: "starttime", type: enums_1.DataType.UINT32 },
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "profileintervalperiod", type: enums_1.DataType.UINT8 },
                    { name: "numofintervalsdeliv", type: enums_1.DataType.UINT8 },
                    { name: "attrId", type: enums_1.DataType.UINT16 },
                    { name: "intervals", type: enums_1.BuffaloZclDataType.LIST_UINT8 },
                ],
            },
        },
    },
    haDiagnostic: {
        ID: 2821,
        attributes: {
            numberOfResets: { ID: 0, type: enums_1.DataType.UINT16 },
            persistentMemoryWrites: { ID: 1, type: enums_1.DataType.UINT16 },
            macRxBcast: { ID: 256, type: enums_1.DataType.UINT32 },
            macTxBcast: { ID: 257, type: enums_1.DataType.UINT32 },
            macRxUcast: { ID: 258, type: enums_1.DataType.UINT32 },
            macTxUcast: { ID: 259, type: enums_1.DataType.UINT32 },
            macTxUcastRetry: { ID: 260, type: enums_1.DataType.UINT16 },
            macTxUcastFail: { ID: 261, type: enums_1.DataType.UINT16 },
            aPSRxBcast: { ID: 262, type: enums_1.DataType.UINT16 },
            aPSTxBcast: { ID: 263, type: enums_1.DataType.UINT16 },
            aPSRxUcast: { ID: 264, type: enums_1.DataType.UINT16 },
            aPSTxUcastSuccess: { ID: 265, type: enums_1.DataType.UINT16 },
            aPSTxUcastRetry: { ID: 266, type: enums_1.DataType.UINT16 },
            aPSTxUcastFail: { ID: 267, type: enums_1.DataType.UINT16 },
            routeDiscInitiated: { ID: 268, type: enums_1.DataType.UINT16 },
            neighborAdded: { ID: 269, type: enums_1.DataType.UINT16 },
            neighborRemoved: { ID: 270, type: enums_1.DataType.UINT16 },
            neighborStale: { ID: 271, type: enums_1.DataType.UINT16 },
            joinIndication: { ID: 272, type: enums_1.DataType.UINT16 },
            childMoved: { ID: 273, type: enums_1.DataType.UINT16 },
            nwkFcFailure: { ID: 274, type: enums_1.DataType.UINT16 },
            apsFcFailure: { ID: 275, type: enums_1.DataType.UINT16 },
            apsUnauthorizedKey: { ID: 276, type: enums_1.DataType.UINT16 },
            nwkDecryptFailures: { ID: 277, type: enums_1.DataType.UINT16 },
            apsDecryptFailures: { ID: 278, type: enums_1.DataType.UINT16 },
            packetBufferAllocateFailures: { ID: 279, type: enums_1.DataType.UINT16 },
            relayedUcast: { ID: 280, type: enums_1.DataType.UINT16 },
            phyToMacQueueLimitReached: { ID: 281, type: enums_1.DataType.UINT16 },
            packetValidateDropCount: { ID: 282, type: enums_1.DataType.UINT16 },
            averageMacRetryPerApsMessageSent: { ID: 283, type: enums_1.DataType.UINT16 },
            lastMessageLqi: { ID: 284, type: enums_1.DataType.UINT8 },
            lastMessageRssi: { ID: 285, type: enums_1.DataType.INT8 },
            danfossSystemStatusCode: { ID: 0x4000, type: enums_1.DataType.BITMAP16, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossSystemStatusWater: { ID: 0x4200, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            danfossMultimasterRole: { ID: 0x4201, type: enums_1.DataType.ENUM8, manufacturerCode: manufacturerCode_1.ManufacturerCode.DANFOSS_A_S },
            schneiderMeterStatus: { ID: 0xff01, type: enums_1.DataType.UINT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderDiagnosticRegister1: { ID: 0xff02, type: enums_1.DataType.UINT32, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
            schneiderCommunicationQuality: { ID: 0x4000, type: enums_1.DataType.UINT8, manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC },
        },
        commands: {},
        commandsResponse: {},
    },
    touchlink: {
        ID: 4096,
        attributes: {},
        commands: {
            scanRequest: {
                ID: 0x00,
                response: 0x01,
                parameters: [
                    { name: "transactionID", type: enums_1.DataType.UINT32 },
                    { name: "zigbeeInformation", type: enums_1.DataType.BITMAP8 },
                    { name: "touchlinkInformation", type: enums_1.DataType.BITMAP8 },
                ],
            },
            deviceInformation: {
                ID: 0x02,
                response: 0x03,
                parameters: [
                    { name: "transactionID", type: enums_1.DataType.UINT32 },
                    { name: "startIndex", type: enums_1.DataType.UINT8 },
                ],
            },
            identifyRequest: {
                ID: 0x06,
                parameters: [
                    { name: "transactionID", type: enums_1.DataType.UINT32 },
                    { name: "duration", type: enums_1.DataType.UINT16 },
                ],
            },
            resetToFactoryNew: {
                ID: 0x07,
                parameters: [{ name: "transactionID", type: enums_1.DataType.UINT32 }],
            },
            networkStart: {
                ID: 0x10,
                response: 0x11,
                parameters: [
                    { name: "transactionID", type: enums_1.DataType.UINT32 },
                    { name: "extendedPANID", type: enums_1.DataType.IEEE_ADDR },
                    { name: "keyIndex", type: enums_1.DataType.UINT8 },
                    { name: "encryptedNetworkKey", type: enums_1.DataType.SEC_KEY },
                    { name: "logicalChannel", type: enums_1.DataType.UINT8 },
                    { name: "panID", type: enums_1.DataType.UINT16 },
                    { name: "nwkAddr", type: enums_1.DataType.UINT16 },
                    { name: "groupIDsBegin", type: enums_1.DataType.UINT16 },
                    { name: "groupIDsEnd", type: enums_1.DataType.UINT16 },
                    { name: "freeNwkAddrRangeBegin", type: enums_1.DataType.UINT16 },
                    { name: "freeNwkAddrRangeEnd", type: enums_1.DataType.UINT16 },
                    { name: "freeGroupIDRangeBegin", type: enums_1.DataType.UINT16 },
                    { name: "freeGroupIDRangeEnd", type: enums_1.DataType.UINT16 },
                    { name: "initiatorIEEE", type: enums_1.DataType.IEEE_ADDR },
                    { name: "initiatorNwkAddr", type: enums_1.DataType.UINT16 },
                ],
            },
            networkJoinRouter: {
                ID: 0x12,
                response: 0x13,
                parameters: [
                    { name: "transactionID", type: enums_1.DataType.UINT32 },
                    { name: "extendedPANID", type: enums_1.DataType.IEEE_ADDR },
                    { name: "keyIndex", type: enums_1.DataType.UINT8 },
                    { name: "encryptedNetworkKey", type: enums_1.DataType.SEC_KEY },
                    { name: "networkUpdateID", type: enums_1.DataType.UINT8 },
                    { name: "logicalChannel", type: enums_1.DataType.UINT8 },
                    { name: "panID", type: enums_1.DataType.UINT16 },
                    { name: "nwkAddr", type: enums_1.DataType.UINT16 },
                    { name: "groupIDsBegin", type: enums_1.DataType.UINT16 },
                    { name: "groupIDsEnd", type: enums_1.DataType.UINT16 },
                    { name: "freeNwkAddrRangeBegin", type: enums_1.DataType.UINT16 },
                    { name: "freeNwkAddrRangeEnd", type: enums_1.DataType.UINT16 },
                    { name: "freeGroupIDRangeBegin", type: enums_1.DataType.UINT16 },
                    { name: "freeGroupIDRangeEnd", type: enums_1.DataType.UINT16 },
                ],
            },
            networkJoinEndDevice: {
                ID: 0x14,
                response: 0x15,
                parameters: [
                    { name: "transactionID", type: enums_1.DataType.UINT32 },
                    { name: "extendedPANID", type: enums_1.DataType.IEEE_ADDR },
                    { name: "keyIndex", type: enums_1.DataType.UINT8 },
                    { name: "encryptedNetworkKey", type: enums_1.DataType.SEC_KEY },
                    { name: "networkUpdateID", type: enums_1.DataType.UINT8 },
                    { name: "logicalChannel", type: enums_1.DataType.UINT8 },
                    { name: "panID", type: enums_1.DataType.UINT16 },
                    { name: "nwkAddr", type: enums_1.DataType.UINT16 },
                    { name: "groupIDsBegin", type: enums_1.DataType.UINT16 },
                    { name: "groupIDsEnd", type: enums_1.DataType.UINT16 },
                    { name: "freeNwkAddrRangeBegin", type: enums_1.DataType.UINT16 },
                    { name: "freeNwkAddrRangeEnd", type: enums_1.DataType.UINT16 },
                    { name: "freeGroupIDRangeBegin", type: enums_1.DataType.UINT16 },
                    { name: "freeGroupIDRangeEnd", type: enums_1.DataType.UINT16 },
                ],
            },
            networkUpdate: {
                ID: 0x16,
                parameters: [
                    { name: "transactionID", type: enums_1.DataType.UINT32 },
                    { name: "extendedPANID", type: enums_1.DataType.IEEE_ADDR },
                    { name: "networkUpdateID", type: enums_1.DataType.UINT8 },
                    { name: "logicalChannel", type: enums_1.DataType.UINT8 },
                    { name: "panID", type: enums_1.DataType.UINT16 },
                    { name: "nwkAddr", type: enums_1.DataType.UINT16 },
                ],
            },
            getGroupIdentifiers: {
                ID: 0x41,
                response: 0x41,
                parameters: [{ name: "startIndex", type: enums_1.DataType.UINT8 }],
            },
            getEndpointList: {
                ID: 0x42,
                response: 0x42,
                parameters: [{ name: "startIndex", type: enums_1.DataType.UINT8 }],
            },
        },
        commandsResponse: {
            scanResponse: {
                ID: 0x01,
                parameters: [
                    { name: "transactionID", type: enums_1.DataType.UINT32 },
                    { name: "rssiCorrection", type: enums_1.DataType.UINT8 },
                    { name: "zigbeeInformation", type: enums_1.DataType.UINT8 },
                    { name: "touchlinkInformation", type: enums_1.DataType.UINT8 },
                    { name: "keyBitmask", type: enums_1.DataType.UINT16 },
                    { name: "responseID", type: enums_1.DataType.UINT32 },
                    { name: "extendedPanID", type: enums_1.DataType.IEEE_ADDR },
                    { name: "networkUpdateID", type: enums_1.DataType.UINT8 },
                    { name: "logicalChannel", type: enums_1.DataType.UINT8 },
                    { name: "panID", type: enums_1.DataType.UINT16 },
                    { name: "networkAddress", type: enums_1.DataType.UINT16 },
                    { name: "numberOfSubDevices", type: enums_1.DataType.UINT8 },
                    { name: "totalGroupIdentifiers", type: enums_1.DataType.UINT8 },
                    {
                        name: "endpointID",
                        type: enums_1.DataType.UINT8,
                        conditions: [{ type: enums_1.ParameterCondition.FIELD_EQUAL, field: "numberOfSubDevices", value: 1 }],
                    },
                    {
                        name: "profileID",
                        type: enums_1.DataType.UINT16,
                        conditions: [{ type: enums_1.ParameterCondition.FIELD_EQUAL, field: "numberOfSubDevices", value: 1 }],
                    },
                    {
                        name: "deviceID",
                        type: enums_1.DataType.UINT16,
                        conditions: [{ type: enums_1.ParameterCondition.FIELD_EQUAL, field: "numberOfSubDevices", value: 1 }],
                    },
                    {
                        name: "version",
                        type: enums_1.DataType.UINT8,
                        conditions: [{ type: enums_1.ParameterCondition.FIELD_EQUAL, field: "numberOfSubDevices", value: 1 }],
                    },
                    {
                        name: "groupIDCount",
                        type: enums_1.DataType.UINT8,
                        conditions: [{ type: enums_1.ParameterCondition.FIELD_EQUAL, field: "numberOfSubDevices", value: 1 }],
                    },
                ],
            },
            deviceInformation: {
                ID: 0x03,
                parameters: [
                    { name: "transactionID", type: enums_1.DataType.UINT32 },
                    { name: "numberOfSubDevices", type: enums_1.DataType.UINT8 },
                    { name: "startIndex", type: enums_1.DataType.UINT8 },
                    { name: "deviceInfoCount", type: enums_1.DataType.UINT8 },
                    /**
                     * TODO: (this * deviceInfoCount)
                     * {name: 'ieeeAddress', type: DataType.IEEE_ADDR},
                     * {name: 'endpointID', type: DataType.UINT8},
                     * {name: 'profileID', type: DataType.UINT16},
                     * {name: 'deviceID', type: DataType.UINT16},
                     * {name: 'version', type: DataType.UINT8},
                     * {name: 'groupIdCount', type: DataType.UINT8},
                     * {name: 'sort', type: DataType.UINT8},
                     */
                    // {name: 'deviceInfoRecord', type: TODO},
                ],
            },
            networkStart: {
                ID: 0x11,
                parameters: [
                    { name: "transactionID", type: enums_1.DataType.UINT32 },
                    /**
                     * - 0x00 Success
                     * - 0x01 Failure
                     * - 0x02 – 0xff Reserved
                     */
                    { name: "status", type: enums_1.DataType.ENUM8 },
                    { name: "extendedPANID", type: enums_1.DataType.IEEE_ADDR },
                    { name: "networkUpdateID", type: enums_1.DataType.UINT8 },
                    { name: "logicalChannel", type: enums_1.DataType.UINT8 },
                    { name: "panID", type: enums_1.DataType.UINT16 },
                ],
            },
            networkJoinRouter: {
                ID: 0x13,
                parameters: [
                    { name: "transactionID", type: enums_1.DataType.UINT32 },
                    /**
                     * - 0x00 Success
                     * - 0x01 Failure
                     * - 0x02 – 0xff Reserved
                     */
                    { name: "status", type: enums_1.DataType.ENUM8 },
                ],
            },
            networkJoinEndDevice: {
                ID: 0x15,
                parameters: [
                    { name: "transactionID", type: enums_1.DataType.UINT32 },
                    /**
                     * - 0x00 Success
                     * - 0x01 Failure
                     * - 0x02 – 0xff Reserved
                     */
                    { name: "status", type: enums_1.DataType.ENUM8 },
                ],
            },
            endpointInformation: {
                ID: 0x40,
                parameters: [
                    { name: "ieeeAddress", type: enums_1.DataType.IEEE_ADDR },
                    { name: "networkAddress", type: enums_1.DataType.UINT16 },
                    { name: "endpointID", type: enums_1.DataType.UINT8 },
                    { name: "profileID", type: enums_1.DataType.UINT16 },
                    { name: "deviceID", type: enums_1.DataType.UINT16 },
                    { name: "version", type: enums_1.DataType.UINT8 },
                ],
            },
            getGroupIdentifiers: {
                ID: 0x41,
                parameters: [
                    { name: "total", type: enums_1.DataType.UINT8 },
                    { name: "startIndex", type: enums_1.DataType.UINT8 },
                    { name: "count", type: enums_1.DataType.UINT8 },
                    /**
                     * TODO: (this * count)
                     * {name: 'groupID', type: DataType.UINT16},
                     * {name: 'groupType', type: DataType.UINT8},
                     */
                    // {name: 'groupInfoList', type: TODO},
                ],
            },
            getEndpointList: {
                ID: 0x42,
                parameters: [
                    { name: "total", type: enums_1.DataType.UINT8 },
                    { name: "startIndex", type: enums_1.DataType.UINT8 },
                    { name: "count", type: enums_1.DataType.UINT8 },
                    /**
                     * TODO: (this * count)
                     * {name: 'networkAddress', type: DataType.UINT16},
                     * {name: 'endpointID', type: DataType.UINT8},
                     * {name: 'profileID', type: DataType.UINT16},
                     * {name: 'deviceID', type: DataType.UINT16},
                     * {name: 'version', type: DataType.UINT8},
                     */
                    // {name: 'endpointInfoList', type: TODO},
                ],
            },
        },
    },
    manuSpecificClusterAduroSmart: {
        ID: 64716,
        attributes: {},
        commands: {
            cmd0: {
                ID: 0,
                parameters: [],
            },
        },
        commandsResponse: {},
    },
    manuSpecificOsram: {
        ID: 64527,
        attributes: {},
        commands: {
            saveStartupParams: {
                ID: 1,
                parameters: [],
            },
            resetStartupParams: {
                ID: 2,
                parameters: [],
            },
        },
        commandsResponse: {
            saveStartupParamsRsp: {
                ID: 0,
                parameters: [],
            },
        },
    },
    manuSpecificPhilips: {
        ID: 0xfc00,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.SIGNIFY_NETHERLANDS_B_V,
        attributes: {
            config: { ID: 49, type: enums_1.DataType.BITMAP16 },
        },
        commands: {},
        commandsResponse: {
            hueNotification: {
                ID: 0,
                parameters: [
                    { name: "button", type: enums_1.DataType.UINT8 },
                    { name: "unknown1", type: enums_1.DataType.UINT24 },
                    { name: "type", type: enums_1.DataType.UINT8 },
                    { name: "unknown2", type: enums_1.DataType.UINT8 },
                    { name: "time", type: enums_1.DataType.UINT8 },
                    { name: "unknown2", type: enums_1.DataType.UINT8 },
                ],
            },
        },
    },
    manuSpecificPhilips2: {
        ID: 0xfc03,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.SIGNIFY_NETHERLANDS_B_V,
        attributes: {
            state: { ID: 0x0002, type: enums_1.DataType.OCTET_STR },
        },
        commands: {
            multiColor: {
                ID: 0,
                parameters: [{ name: "data", type: enums_1.BuffaloZclDataType.BUFFER }],
            },
        },
        commandsResponse: {},
    },
    manuSpecificSinope: {
        ID: 65281,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.SINOPE_TECHNOLOGIES,
        attributes: {
            // attribute ID :1's readable
            keypadLockout: { ID: 2, type: enums_1.DataType.ENUM8 },
            // 'firmware number': {ID: 3, type: DataType.UNKNOWN},
            firmwareVersion: { ID: 4, type: enums_1.DataType.CHAR_STR },
            outdoorTempToDisplay: { ID: 16, type: enums_1.DataType.INT16 },
            outdoorTempToDisplayTimeout: { ID: 17, type: enums_1.DataType.UINT16 },
            secondScreenBehavior: { ID: 18, type: enums_1.DataType.ENUM8 }, // auto:0,setpoint:1,outside:2
            currentTimeToDisplay: { ID: 32, type: enums_1.DataType.UINT32 },
            ledIntensityOn: { ID: 82, type: enums_1.DataType.UINT8 },
            ledIntensityOff: { ID: 83, type: enums_1.DataType.UINT8 },
            ledColorOn: { ID: 80, type: enums_1.DataType.UINT24 }, // inversed hex BBGGRR
            ledColorOff: { ID: 81, type: enums_1.DataType.UINT24 },
            onLedIntensity: { ID: 82, type: enums_1.DataType.UINT8 }, // percent
            offLedIntensity: { ID: 83, type: enums_1.DataType.UINT8 }, // percent
            actionReport: { ID: 84, type: enums_1.DataType.ENUM8 }, // singleTapUp: 1,2, doubleTapUp: 1,4, singleTapDown: 17,18, doubleTapDown: 17,20
            minimumBrightness: { ID: 85, type: enums_1.DataType.UINT16 },
            connectedLoadRM: { ID: 96, type: enums_1.DataType.UINT16 }, // unit watt/hr for Calypso RM3500 & Load Controller RM3250
            currentLoad: { ID: 112, type: enums_1.DataType.BITMAP8 }, // related to ecoMode(s)
            ecoMode: { ID: 113, type: enums_1.DataType.INT8 }, // default:-128||-100-0-100%
            ecoMode1: { ID: 114, type: enums_1.DataType.UINT8 }, // default:255||0-99
            ecoMode2: { ID: 115, type: enums_1.DataType.UINT8 }, // default 255||0-100
            unknown: { ID: 117, type: enums_1.DataType.BITMAP32 }, // RW *testing*
            drConfigWaterTempMin: { ID: 118, type: enums_1.DataType.UINT8 }, // value 45 or 0
            drConfigWaterTempTime: { ID: 119, type: enums_1.DataType.UINT8 }, // default 2
            drWTTimeOn: { ID: 120, type: enums_1.DataType.UINT16 },
            unknown1: { ID: 128, type: enums_1.DataType.UINT32 }, // readOnly stringNumber *testing*
            dimmerTimmer: { ID: 160, type: enums_1.DataType.UINT32 },
            unknown2: { ID: 256, type: enums_1.DataType.UINT8 }, // readOnly *testing*
            floorControlMode: { ID: 261, type: enums_1.DataType.ENUM8 }, // airFloorMode
            auxOutputMode: { ID: 262, type: enums_1.DataType.ENUM8 },
            floorTemperature: { ID: 263, type: enums_1.DataType.INT16 },
            ambiantMaxHeatSetpointLimit: { ID: 264, type: enums_1.DataType.INT16 },
            floorMinHeatSetpointLimit: { ID: 265, type: enums_1.DataType.INT16 },
            floorMaxHeatSetpointLimit: { ID: 266, type: enums_1.DataType.INT16 },
            temperatureSensor: { ID: 267, type: enums_1.DataType.ENUM8 },
            floorLimitStatus: { ID: 268, type: enums_1.DataType.ENUM8 },
            roomTemperature: { ID: 269, type: enums_1.DataType.INT16 },
            timeFormatToDisplay: { ID: 276, type: enums_1.DataType.ENUM8 },
            GFCiStatus: { ID: 277, type: enums_1.DataType.ENUM8 },
            auxConnectedLoad: { ID: 280, type: enums_1.DataType.UINT16 },
            connectedLoad: { ID: 281, type: enums_1.DataType.UINT16 },
            pumpProtection: { ID: 296, type: enums_1.DataType.UINT8 },
            unknown3: { ID: 298, type: enums_1.DataType.ENUM8 }, // RW default:60||5,10,15,20,30,60 *testing*
            currentSetpoint: { ID: 299, type: enums_1.DataType.INT16 }, // W:to ocuppiedHeatSetpoint, R:depends of SinopeOccupancy
            // attribute ID: 300's readable, returns a buffer
            reportLocalTemperature: { ID: 301, type: enums_1.DataType.INT16 },
            // attribute ID: 512's readable
            flowMeterConfig: { ID: 576, type: enums_1.DataType.ARRAY },
            coldLoadPickupStatus: { ID: 643, type: enums_1.DataType.UINT8 },
        },
        commands: {},
        commandsResponse: {},
    },
    manuSpecificLegrandDevices: {
        ID: 0xfc01,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.LEGRAND_GROUP,
        attributes: {
        // attributes seems to vary depending on the device. Can't be static
        },
        commands: {},
        commandsResponse: {},
    },
    manuSpecificLegrandDevices2: {
        ID: 0xfc40,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.LEGRAND_GROUP,
        attributes: {},
        commands: {
            command0: {
                ID: 0,
                parameters: [{ name: "data", type: enums_1.BuffaloZclDataType.BUFFER }],
            },
        },
        commandsResponse: {},
    },
    manuSpecificLegrandDevices3: {
        ID: 0xfc41,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.LEGRAND_GROUP,
        attributes: {},
        commands: {
            command0: {
                ID: 0,
                parameters: [{ name: "data", type: enums_1.BuffaloZclDataType.BUFFER }],
            },
        },
        commandsResponse: {},
    },
    wiserDeviceInfo: {
        ID: 0xfe03, // 65027
        attributes: {
            deviceInfo: { ID: 32, type: enums_1.DataType.CHAR_STR },
        },
        commands: {},
        commandsResponse: {},
    },
    /**
     * Tuya cluster
     *
     * Common parameters:
     *
     *  seq -  Sequence number of transmitted data, range 0-65535, revert to 0 after reaching 65535
     *
     * Official Tuya documentation: https://developer.tuya.com/en/docs/iot-device-dev/tuya-zigbee-universal-docking-access-standard?id=K9ik6zvofpzql#subtitle-6-Private%20cluster
     *
     */
    manuSpecificTuya: {
        ID: 0xef00, // 61184
        attributes: {},
        commands: {
            /**
             * Gateway-side data request
             */
            dataRequest: {
                ID: 0,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "dpValues", type: enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES },
                ],
            },
            /**
             * GW send, trigger MCU side to report all current information, no zcl payload.
             * Note: Device side can make a policy, data better not to report centrally
             */
            dataQuery: {
                ID: 3,
                parameters: [],
            },
            /**
             * Gw->Zigbee gateway query MCU version
             */
            mcuVersionRequest: {
                ID: 0x10,
                parameters: [{ name: "seq", type: enums_1.DataType.UINT16 }],
            },
            /**
             * FIXME: This command is not listed in Tuya zigbee cluster description,
             *  but there is some command 0x04 (description is: Command Issuance)
             *  in `Serial command list` section of the same document
             *  So, need to investigate more information about it
             */
            sendData: {
                ID: 4,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "dpValues", type: enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES },
                ],
            },
            /**
             * Gw->Zigbee gateway notifies MCU of upgrade
             */
            mcuOtaNotify: {
                ID: 0x12,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    // FIXME: key is fixed (8 byte) uint8 array
                    //  Ask Koen is there any type to read fixed size uint_8t.
                    //  currently there is `length` property in options but sems it is
                    //  ignored in `writePayloadCluster()` and other methods.
                    //  So, as workaround we use hi/low for key, which is not best solution
                    { name: "key_hi", type: enums_1.DataType.UINT32 },
                    { name: "key_lo", type: enums_1.DataType.UINT32 },
                    { name: "version", type: enums_1.DataType.UINT8 },
                    { name: "imageSize", type: enums_1.DataType.UINT32 },
                    { name: "crc", type: enums_1.DataType.UINT32 },
                ],
            },
            /**
             * Gw->Zigbee gateway returns the requested upgrade package for MCU
             */
            mcuOtaBlockDataResponse: {
                ID: 0x14,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "key_hi", type: enums_1.DataType.UINT32 },
                    { name: "key_lo", type: enums_1.DataType.UINT32 },
                    { name: "version", type: enums_1.DataType.UINT8 },
                    { name: "offset", type: enums_1.DataType.UINT32 },
                    { name: "imageData", type: enums_1.BuffaloZclDataType.LIST_UINT8 },
                ],
            },
            /**
             * Time synchronization (bidirectional)
             */
            mcuSyncTime: {
                ID: 0x24,
                parameters: [
                    { name: "payloadSize", type: enums_1.DataType.UINT16 },
                    { name: "payload", type: enums_1.BuffaloZclDataType.LIST_UINT8 },
                ],
            },
            /**
             * Gateway connection status (bidirectional)
             */
            mcuGatewayConnectionStatus: {
                ID: 0x25,
                parameters: [
                    { name: "payloadSize", type: enums_1.DataType.UINT16 },
                    { name: "payload", type: enums_1.DataType.UINT8 },
                ],
            },
        },
        commandsResponse: {
            /**
             * Reply to MCU-side data request
             */
            dataResponse: {
                ID: 1,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "dpValues", type: enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES },
                ],
            },
            /**
             * MCU-side data active upload (bidirectional)
             */
            dataReport: {
                ID: 2,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "dpValues", type: enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES },
                ],
            },
            /**
             * FIXME: This command is not listed in Tuya zigbee cluster description,
             *  but there is some command 0x05 (description is: Status query)
             *  in `Serial command list` section of the same document
             *  So, need to investigate more information about it
             */
            activeStatusReportAlt: {
                ID: 5,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "dpValues", type: enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES },
                ],
            },
            /**
             * FIXME: This command is not listed in Tuya zigbee cluster description,
             *  but there is some command 0x06 (description is: Status query)
             *  in `Serial command list` section of the same document
             *  So, need to investigate more information about it
             */
            activeStatusReport: {
                ID: 6,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "dpValues", type: enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES },
                ],
            },
            /**
             * Zigbee->Gw MCU return version or actively report version
             */
            mcuVersionResponse: {
                ID: 0x11,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "version", type: enums_1.DataType.UINT8 },
                ],
            },
            /**
             * Zigbee->Gw requests an upgrade package for the MCU
             */
            mcuOtaBlockDataRequest: {
                ID: 0x13,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "key_hi", type: enums_1.DataType.UINT32 },
                    { name: "key_lo", type: enums_1.DataType.UINT32 },
                    { name: "version", type: enums_1.DataType.UINT8 },
                    { name: "offset", type: enums_1.DataType.UINT32 },
                    { name: "size", type: enums_1.DataType.UINT32 },
                ],
            },
            /**
             * Zigbee->Gw returns the upgrade result for the mcu
             */
            mcuOtaResult: {
                ID: 0x15,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "status", type: enums_1.DataType.UINT8 },
                    { name: "key_hi", type: enums_1.DataType.UINT32 },
                    { name: "key_lo", type: enums_1.DataType.UINT32 },
                    { name: "version", type: enums_1.DataType.UINT8 },
                ],
            },
            /**
             * Time synchronization (bidirectional)
             */
            mcuSyncTime: {
                ID: 0x24,
                parameters: [{ name: "payloadSize", type: enums_1.DataType.UINT16 }],
            },
            /**
             * Gateway connection status (bidirectional)
             */
            mcuGatewayConnectionStatus: {
                ID: 0x25,
                parameters: [{ name: "payloadSize", type: enums_1.DataType.UINT16 }],
            },
        },
    },
    manuSpecificLumi: {
        ID: 0xfcc0,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.LUMI_UNITED_TECHOLOGY_LTD_SHENZHEN,
        attributes: {
            mode: { ID: 0x0009, type: enums_1.DataType.UINT8 },
            illuminance: { ID: 0x0112, type: enums_1.DataType.UINT32 },
            displayUnit: { ID: 0x0114, type: enums_1.DataType.UINT8 },
            airQuality: { ID: 0x0129, type: enums_1.DataType.UINT8 },
            curtainReverse: { ID: 0x0400, type: enums_1.DataType.BOOLEAN },
            curtainHandOpen: { ID: 0x0401, type: enums_1.DataType.BOOLEAN },
            curtainCalibrated: { ID: 0x0402, type: enums_1.DataType.BOOLEAN },
        },
        commands: {},
        commandsResponse: {},
    },
    liXeePrivate: {
        ID: 0xff66,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.NXP_SEMICONDUCTORS,
        attributes: {
            currentTarif: { ID: 0x0000, type: enums_1.DataType.CHAR_STR },
            tomorrowColor: { ID: 0x0001, type: enums_1.DataType.CHAR_STR },
            scheduleHPHC: { ID: 0x0002, type: enums_1.DataType.UINT8 },
            presencePotential: { ID: 0x0003, type: enums_1.DataType.UINT8 },
            startNoticeEJP: { ID: 0x0004, type: enums_1.DataType.UINT8 },
            warnDPS: { ID: 0x0005, type: enums_1.DataType.UINT16 },
            warnDIR1: { ID: 0x0006, type: enums_1.DataType.UINT16 },
            warnDIR2: { ID: 0x0007, type: enums_1.DataType.UINT16 },
            warnDIR3: { ID: 0x0008, type: enums_1.DataType.UINT16 },
            motDEtat: { ID: 0x0009, type: enums_1.DataType.CHAR_STR },
            currentPrice: { ID: 0x0200, type: enums_1.DataType.CHAR_STR },
            currentIndexTarif: { ID: 0x0201, type: enums_1.DataType.UINT8 },
            currentDate: { ID: 0x0202, type: enums_1.DataType.CHAR_STR },
            activeEnergyOutD01: { ID: 0x0203, type: enums_1.DataType.UINT32 },
            activeEnergyOutD02: { ID: 0x0204, type: enums_1.DataType.UINT32 },
            activeEnergyOutD03: { ID: 0x0205, type: enums_1.DataType.UINT32 },
            activeEnergyOutD04: { ID: 0x0206, type: enums_1.DataType.UINT32 },
            injectedVA: { ID: 0x0207, type: enums_1.DataType.UINT16 },
            injectedVAMaxN: { ID: 0x0208, type: enums_1.DataType.INT16 },
            injectedVAMaxN1: { ID: 0x0209, type: enums_1.DataType.INT16 },
            injectedActiveLoadN: { ID: 0x0210, type: enums_1.DataType.INT16 },
            injectedActiveLoadN1: { ID: 0x0211, type: enums_1.DataType.INT16 },
            drawnVAMaxN1: { ID: 0x0212, type: enums_1.DataType.INT16 },
            drawnVAMaxN1P2: { ID: 0x0213, type: enums_1.DataType.INT16 },
            drawnVAMaxN1P3: { ID: 0x0214, type: enums_1.DataType.INT16 },
            message1: { ID: 0x0215, type: enums_1.DataType.CHAR_STR },
            message2: { ID: 0x0216, type: enums_1.DataType.CHAR_STR },
            statusRegister: { ID: 0x0217, type: enums_1.DataType.OCTET_STR },
            startMobilePoint1: { ID: 0x0218, type: enums_1.DataType.UINT8 },
            stopMobilePoint1: { ID: 0x0219, type: enums_1.DataType.UINT8 },
            startMobilePoint2: { ID: 0x0220, type: enums_1.DataType.UINT8 },
            stopMobilePoint2: { ID: 0x0221, type: enums_1.DataType.UINT8 },
            startMobilePoint3: { ID: 0x0222, type: enums_1.DataType.UINT8 },
            stopMobilePoint3: { ID: 0x0223, type: enums_1.DataType.UINT8 },
            relais: { ID: 0x0224, type: enums_1.DataType.UINT16 },
            daysNumberCurrentCalendar: { ID: 0x0225, type: enums_1.DataType.UINT8 },
            daysNumberNextCalendar: { ID: 0x0226, type: enums_1.DataType.UINT8 },
            daysProfileCurrentCalendar: { ID: 0x0227, type: enums_1.DataType.LONG_OCTET_STR },
            daysProfileNextCalendar: { ID: 0x0228, type: enums_1.DataType.LONG_OCTET_STR },
            linkyMode: { ID: 0x0300, type: enums_1.DataType.UINT8 },
        },
        commands: {},
        commandsResponse: {},
    },
    // biome-ignore lint/style/useNamingConvention: cross-repo impact
    manuSpecificTuya_2: {
        ID: 0xe002,
        attributes: {
            alarm_temperature_max: { ID: 53258, type: enums_1.DataType.INT16 },
            alarm_temperature_min: { ID: 53259, type: enums_1.DataType.INT16 },
            alarm_humidity_max: { ID: 53261, type: enums_1.DataType.INT16 },
            alarm_humidity_min: { ID: 53262, type: enums_1.DataType.INT16 },
            alarm_humidity: { ID: 53263, type: enums_1.DataType.ENUM8 },
            alarm_temperature: { ID: 53254, type: enums_1.DataType.ENUM8 },
            unknown: { ID: 53264, type: enums_1.DataType.UINT8 },
        },
        commands: {},
        commandsResponse: {},
    },
    // biome-ignore lint/style/useNamingConvention: cross-repo impact
    manuSpecificTuya_3: {
        ID: 0xe001,
        attributes: {
            powerOnBehavior: { ID: 0xd010, type: enums_1.DataType.ENUM8 },
            switchMode: { ID: 0xd020, type: enums_1.DataType.ENUM8 },
            switchType: { ID: 0xd030, type: enums_1.DataType.ENUM8 },
        },
        commands: {
            setOptions1: {
                ID: 0xe5,
                parameters: [{ name: "data", type: enums_1.BuffaloZclDataType.BUFFER }],
            },
            setOptions2: {
                ID: 0xe6,
                parameters: [{ name: "data", type: enums_1.BuffaloZclDataType.BUFFER }],
            },
            setOptions3: {
                ID: 0xe7,
                parameters: [{ name: "data", type: enums_1.BuffaloZclDataType.BUFFER }],
            },
        },
        commandsResponse: {},
    },
    manuSpecificCentraliteHumidity: {
        ID: 0xfc45,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.CENTRALITE_SYSTEMS_INC,
        attributes: {
            measuredValue: { ID: 0, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    manuSpecificSmartThingsArrivalSensor: {
        ID: 0xfc05,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.SMARTTHINGS_INC,
        attributes: {},
        commands: {},
        commandsResponse: {
            arrivalSensorNotify: {
                ID: 1,
                parameters: [],
            },
        },
    },
    manuSpecificSamsungAccelerometer: {
        ID: 0xfc02,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.SMARTTHINGS_INC,
        attributes: {
            motion_threshold_multiplier: { ID: 0, type: enums_1.DataType.UINT8 },
            motion_threshold: { ID: 2, type: enums_1.DataType.UINT16 },
            acceleration: { ID: 16, type: enums_1.DataType.BITMAP8 },
            x_axis: { ID: 18, type: enums_1.DataType.INT16 },
            y_axis: { ID: 19, type: enums_1.DataType.INT16 },
            z_axis: { ID: 20, type: enums_1.DataType.INT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    heimanSpecificAirQuality: {
        // from HS2AQ-3.0海曼智能空气质量检测仪API文档-V01
        ID: 0xfc81,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.HEIMAN_TECHNOLOGY_CO_LTD,
        attributes: {
            language: { ID: 0xf000, type: enums_1.DataType.UINT8 },
            unitOfMeasure: { ID: 0xf001, type: enums_1.DataType.UINT8 },
            batteryState: { ID: 0xf002, type: enums_1.DataType.UINT8 }, //  (0 is not charged, 1 is charging, 2 is fully charged)
            pm10measuredValue: { ID: 0xf003, type: enums_1.DataType.UINT16 },
            tvocMeasuredValue: { ID: 0xf004, type: enums_1.DataType.UINT16 },
            aqiMeasuredValue: { ID: 0xf005, type: enums_1.DataType.UINT16 },
            temperatureMeasuredMax: { ID: 0xf006, type: enums_1.DataType.INT16 },
            temperatureMeasuredMin: { ID: 0xf007, type: enums_1.DataType.INT16 },
            humidityMeasuredMax: { ID: 0xf008, type: enums_1.DataType.UINT16 },
            humidityMeasuredMin: { ID: 0xf009, type: enums_1.DataType.UINT16 },
            alarmEnable: { ID: 0xf00a, type: enums_1.DataType.UINT16 },
        },
        commands: {
            setLanguage: {
                ID: 0x011b,
                parameters: [
                    // (1: English 0: Chinese)
                    { name: "languageCode", type: enums_1.DataType.UINT8 },
                ],
            },
            setUnitOfTemperature: {
                ID: 0x011c,
                parameters: [
                    // (0: ℉ 1: ℃)
                    { name: "unitsCode", type: enums_1.DataType.UINT8 },
                ],
            },
            getTime: {
                ID: 0x011d,
                parameters: [],
            },
        },
        commandsResponse: {},
    },
    heimanSpecificScenes: {
        // from HS2SS-3.0海曼智能情景开关API文档-V01
        ID: 0xfc80,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.HEIMAN_TECHNOLOGY_CO_LTD,
        attributes: {},
        commands: {
            cinema: {
                ID: 0xf0,
                parameters: [],
            },
            atHome: {
                ID: 0xf1,
                parameters: [],
            },
            sleep: {
                ID: 0xf2,
                parameters: [],
            },
            goOut: {
                ID: 0xf3,
                parameters: [],
            },
            repast: {
                ID: 0xf4,
                parameters: [],
            },
        },
        commandsResponse: {},
    },
    tradfriButton: {
        ID: 0xfc80,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.IKEA_OF_SWEDEN,
        attributes: {},
        commands: {
            action1: {
                ID: 1,
                parameters: [{ name: "data", type: enums_1.DataType.UINT8 }],
            },
            action2: {
                ID: 2,
                parameters: [{ name: "data", type: enums_1.DataType.UINT8 }],
            },
            action3: {
                ID: 3,
                parameters: [{ name: "data", type: enums_1.DataType.UINT8 }],
            },
            action4: {
                ID: 4,
                parameters: [{ name: "data", type: enums_1.DataType.UINT8 }],
            },
            action6: {
                ID: 6,
                parameters: [{ name: "data", type: enums_1.DataType.UINT8 }],
            },
        },
        commandsResponse: {},
    },
    heimanSpecificInfraRedRemote: {
        // from HS2IRC-3.0海曼智能红外转发控制器API-V01文档
        ID: 0xfc82,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.HEIMAN_TECHNOLOGY_CO_LTD,
        attributes: {},
        commands: {
            sendKey: {
                ID: 0xf0,
                parameters: [
                    { name: "id", type: enums_1.DataType.UINT8 },
                    { name: "keyCode", type: enums_1.DataType.UINT8 },
                ],
            },
            studyKey: {
                // Total we can have 30 keycode for each device ID (1..30).
                ID: 0xf1,
                // response: 0xf2,
                parameters: [
                    { name: "id", type: enums_1.DataType.UINT8 },
                    { name: "keyCode", type: enums_1.DataType.UINT8 },
                ],
            },
            deleteKey: {
                ID: 0xf3,
                parameters: [
                    // 1-15 - Delete specific ID, >= 16 - Delete All
                    { name: "id", type: enums_1.DataType.UINT8 },
                    // 1-30 - Delete specific keycode, >= 31 - Delete All keycodes for the ID
                    { name: "keyCode", type: enums_1.DataType.UINT8 },
                ],
            },
            createId: {
                // Total we can have 15 device IDs (1..15).
                ID: 0xf4,
                // response: 0xf5,
                parameters: [{ name: "modelType", type: enums_1.DataType.UINT8 }],
            },
            getIdAndKeyCodeList: {
                ID: 0xf6,
                // response: 0xf7,
                parameters: [],
            },
        },
        commandsResponse: {
            studyKeyRsp: {
                ID: 0xf2,
                parameters: [
                    { name: "id", type: enums_1.DataType.UINT8 },
                    { name: "keyCode", type: enums_1.DataType.UINT8 },
                    { name: "result", type: enums_1.DataType.UINT8 }, // 0 - success, 1 - fail
                ],
            },
            createIdRsp: {
                ID: 0xf5,
                parameters: [
                    { name: "id", type: enums_1.DataType.UINT8 }, // 0xFF - create failed
                    { name: "modelType", type: enums_1.DataType.UINT8 },
                ],
            },
            getIdAndKeyCodeListRsp: {
                ID: 0xf7,
                parameters: [
                    { name: "packetsTotal", type: enums_1.DataType.UINT8 },
                    { name: "packetNumber", type: enums_1.DataType.UINT8 },
                    { name: "packetLength", type: enums_1.DataType.UINT8 }, // Max length is 70 bytes
                    // HELP for learnedDevicesList data structure:
                    //   struct structPacketPayload {
                    //     uint8_t ID;
                    //     uint8_t ModeType;
                    //     uint8_t KeyNum;
                    //     uint8_t KeyCode[KeyNum];
                    //   } arayPacketPayload[CurentPacketLenght];
                    // }
                    { name: "learnedDevicesList", type: enums_1.BuffaloZclDataType.LIST_UINT8 },
                ],
            },
        },
    },
    schneiderSpecificPilotMode: {
        ID: 0xff23,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC,
        attributes: {
            pilotMode: { ID: 0x0031, type: enums_1.DataType.ENUM8 },
        },
        commands: {},
        commandsResponse: {},
    },
    elkoOccupancySettingClusterServer: {
        ID: 0xff19,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO,
        attributes: {
            AmbienceLightThreshold: { ID: 0x0000, type: enums_1.DataType.UINT16 },
            OccupancyActions: { ID: 0x0001, type: enums_1.DataType.ENUM8 },
            UnoccupiedLevelDflt: { ID: 0x0002, type: enums_1.DataType.UINT8 },
            UnoccupiedLevel: { ID: 0x0003, type: enums_1.DataType.UINT8 },
        },
        commands: {},
        commandsResponse: {},
    },
    elkoSwitchConfigurationClusterServer: {
        ID: 0xff17,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.ADEO,
        attributes: {
            SwitchIndication: { ID: 0x0000, type: enums_1.DataType.ENUM8 },
            UpSceneID: { ID: 0x0010, type: enums_1.DataType.UINT8 },
            UpGroupID: { ID: 0x0011, type: enums_1.DataType.UINT16 },
            DownSceneID: { ID: 0x0020, type: enums_1.DataType.UINT8 },
            DownGroupID: { ID: 0x0021, type: enums_1.DataType.UINT16 },
            SwitchActions: { ID: 0x0001, type: enums_1.DataType.ENUM8 },
        },
        commands: {},
        commandsResponse: {},
    },
    manuSpecificSchneiderLightSwitchConfiguration: {
        ID: 0xff17,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC,
        attributes: {
            ledIndication: { ID: 0x0000, type: enums_1.DataType.ENUM8 },
            upSceneID: { ID: 0x0010, type: enums_1.DataType.UINT8 },
            upGroupID: { ID: 0x0011, type: enums_1.DataType.UINT16 },
            downSceneID: { ID: 0x0020, type: enums_1.DataType.UINT8 },
            downGroupID: { ID: 0x0021, type: enums_1.DataType.UINT16 },
            switchActions: { ID: 0x0001, type: enums_1.DataType.ENUM8 },
        },
        commands: {},
        commandsResponse: {},
    },
    manuSpecificSchneiderFanSwitchConfiguration: {
        ID: 0xfc04,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.SCHNEIDER_ELECTRIC,
        attributes: {
            ledIndication: { ID: 0x0002, type: enums_1.DataType.UINT8 },
            ledOrientation: { ID: 0x0060, type: enums_1.DataType.UINT8 },
        },
        commands: {},
        commandsResponse: {},
    },
    sprutDevice: {
        ID: 26112,
        manufacturerCode: 26214,
        attributes: {
            debug: { ID: 0, type: enums_1.DataType.BOOLEAN },
        },
        commands: {},
        commandsResponse: {},
    },
    sprutVoc: {
        ID: 26113,
        manufacturerCode: 26214,
        attributes: {
            voc: { ID: 26112, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    sprutNoise: {
        ID: 26114,
        manufacturerCode: 26214,
        attributes: {
            noise: { ID: 26112, type: enums_1.DataType.SINGLE_PREC },
            noiseDetected: { ID: 26113, type: enums_1.DataType.BITMAP8 },
            noiseDetectLevel: { ID: 26114, type: enums_1.DataType.SINGLE_PREC },
            noiseAfterDetectDelay: { ID: 26115, type: enums_1.DataType.UINT16 },
        },
        commands: {},
        commandsResponse: {},
    },
    sprutIrBlaster: {
        ID: 26115,
        manufacturerCode: 26214,
        attributes: {},
        commands: {
            playStore: {
                ID: 0x00,
                parameters: [{ name: "param", type: enums_1.DataType.UINT8 }],
            },
            learnStart: {
                ID: 0x01,
                parameters: [{ name: "value", type: enums_1.DataType.UINT8 }],
            },
            learnStop: {
                ID: 0x02,
                parameters: [{ name: "value", type: enums_1.DataType.UINT8 }],
            },
            clearStore: {
                ID: 0x03,
                parameters: [],
            },
            playRam: {
                ID: 0x04,
                parameters: [],
            },
            learnRamStart: {
                ID: 0x05,
                parameters: [],
            },
            learnRamStop: {
                ID: 0x06,
                parameters: [],
            },
        },
        commandsResponse: {},
    },
    manuSpecificSiglisZigfred: {
        ID: 0xfc42,
        manufacturerCode: 0x129c,
        attributes: {
            buttonEvent: { ID: 0x0008, type: enums_1.DataType.UINT32 },
        },
        commands: {
            siglisZigfredButtonEvent: {
                ID: 0x02,
                parameters: [
                    { name: "button", type: enums_1.DataType.UINT8 },
                    { name: "type", type: enums_1.DataType.UINT8 },
                    { name: "duration", type: enums_1.DataType.UINT16 },
                ],
            },
        },
        commandsResponse: {},
    },
    owonClearMetering: {
        ID: 0xffe0,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.OWON_TECHNOLOGY_INC,
        attributes: {},
        commands: {
            owonClearMeasurementData: {
                ID: 0x00,
                parameters: [],
            },
        },
        commandsResponse: {},
    },
    zosungIRTransmit: {
        ID: 0xed00,
        attributes: {},
        commands: {
            zosungSendIRCode00: {
                ID: 0,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "length", type: enums_1.DataType.UINT32 },
                    { name: "unk1", type: enums_1.DataType.UINT32 },
                    { name: "unk2", type: enums_1.DataType.UINT16 },
                    { name: "unk3", type: enums_1.DataType.UINT8 },
                    { name: "cmd", type: enums_1.DataType.UINT8 },
                    { name: "unk4", type: enums_1.DataType.UINT16 },
                ],
            },
            zosungSendIRCode01: {
                ID: 1,
                parameters: [
                    { name: "zero", type: enums_1.DataType.UINT8 },
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "length", type: enums_1.DataType.UINT32 },
                    { name: "unk1", type: enums_1.DataType.UINT32 },
                    { name: "unk2", type: enums_1.DataType.UINT16 },
                    { name: "unk3", type: enums_1.DataType.UINT8 },
                    { name: "cmd", type: enums_1.DataType.UINT8 },
                    { name: "unk4", type: enums_1.DataType.UINT16 },
                ],
            },
            zosungSendIRCode02: {
                ID: 2,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "position", type: enums_1.DataType.UINT32 },
                    { name: "maxlen", type: enums_1.DataType.UINT8 },
                ],
            },
            zosungSendIRCode03: {
                ID: 3,
                parameters: [
                    { name: "zero", type: enums_1.DataType.UINT8 },
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "position", type: enums_1.DataType.UINT32 },
                    { name: "msgpart", type: enums_1.DataType.OCTET_STR },
                    { name: "msgpartcrc", type: enums_1.DataType.UINT8 },
                ],
            },
            zosungSendIRCode04: {
                ID: 4,
                parameters: [
                    { name: "zero0", type: enums_1.DataType.UINT8 },
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "zero1", type: enums_1.DataType.UINT16 },
                ],
            },
            zosungSendIRCode05: {
                ID: 5,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "zero", type: enums_1.DataType.UINT16 },
                ],
            },
        },
        commandsResponse: {
            zosungSendIRCode03Resp: {
                ID: 3,
                parameters: [
                    { name: "zero", type: enums_1.DataType.UINT8 },
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "position", type: enums_1.DataType.UINT32 },
                    { name: "msgpart", type: enums_1.DataType.OCTET_STR },
                    { name: "msgpartcrc", type: enums_1.DataType.UINT8 },
                ],
            },
            zosungSendIRCode05Resp: {
                ID: 5,
                parameters: [
                    { name: "seq", type: enums_1.DataType.UINT16 },
                    { name: "zero", type: enums_1.DataType.UINT16 },
                ],
            },
        },
    },
    zosungIRControl: {
        ID: 0xe004,
        attributes: {},
        commands: {
            zosungControlIRCommand00: {
                ID: 0,
                parameters: [
                    // JSON string with a command.
                    { name: "data", type: enums_1.BuffaloZclDataType.BUFFER },
                ],
            },
        },
        commandsResponse: {},
    },
    manuSpecificAssaDoorLock: {
        ID: 0xfc00,
        attributes: {
            autoLockTime: { ID: 0x0012, type: enums_1.DataType.UINT8 },
            wrongCodeAttempts: { ID: 0x0013, type: enums_1.DataType.UINT8 },
            shutdownTime: { ID: 0x0014, type: enums_1.DataType.UINT8 },
            batteryLevel: { ID: 0x0015, type: enums_1.DataType.UINT8 },
            insideEscutcheonLED: { ID: 0x0016, type: enums_1.DataType.UINT8 },
            volume: { ID: 0x0017, type: enums_1.DataType.UINT8 },
            lockMode: { ID: 0x0018, type: enums_1.DataType.UINT8 },
            language: { ID: 0x0019, type: enums_1.DataType.UINT8 },
            allCodesLockout: { ID: 0x001a, type: enums_1.DataType.BOOLEAN },
            oneTouchLocking: { ID: 0x001b, type: enums_1.DataType.BOOLEAN },
            privacyButtonSetting: { ID: 0x001c, type: enums_1.DataType.BOOLEAN },
            /* enableLogging: {ID: 0x0020, type: DataType.BOOLEAN},*/ // marked in C4 driver as not supported
            numberLogRecordsSupported: { ID: 0x0021, type: enums_1.DataType.UINT16 },
            numberPinsSupported: { ID: 0x0030, type: enums_1.DataType.UINT8 },
            numberScheduleSlotsPerUser: { ID: 0x0040, type: enums_1.DataType.UINT8 },
            alarmMask: { ID: 0x0050, type: enums_1.DataType.UINT8 },
        },
        commands: {
            getLockStatus: {
                ID: 0x10,
                response: 0,
                parameters: [],
            },
            getBatteryLevel: {
                ID: 0x12,
                parameters: [],
            },
            setRFLockoutTime: {
                ID: 0x13,
                parameters: [],
            },
            /* getLogRecord: {
                ID: 0x20,
                parameters: [],
            },*/ // marked in C4 driver as not supported
            userCodeSet: {
                ID: 0x30,
                parameters: [
                    // bit pack ("bbb", slot, status, pinLength) .. pin
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
            userCodeGet: {
                ID: 0x31,
                parameters: [
                    // bit pack ("b", slot)
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
            userCodeClear: {
                ID: 0x32,
                parameters: [
                    // bit pack ("b", slot)
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
            clearAllUserCodes: {
                ID: 0x33,
                parameters: [],
            },
            setUserCodeStatus: {
                ID: 0x34,
                parameters: [],
            },
            getUserCodeStatus: {
                ID: 0x35,
                parameters: [],
            },
            getLastUserIdEntered: {
                ID: 0x36,
                parameters: [],
            },
            userAdded: {
                ID: 0x37,
                parameters: [],
            },
            userDeleted: {
                ID: 0x38,
                parameters: [],
            },
            setScheduleSlot: {
                ID: 0x40,
                parameters: [
                    // bit pack ("bbbbbbb", 0, slot, weeklyScheduleNumber, startHour, startMinute, hours, minutes)
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
            getScheduleSlot: {
                ID: 0x41,
                parameters: [
                    // bit pack ("bb", slot, userId)
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
            setScheduleSlotStatus: {
                ID: 0x42,
                parameters: [
                    // bit pack ("bbb", 0, slot, status)
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
            reflash: {
                ID: 0x60,
                response: 1,
                parameters: [
                    // bit pack ("bI", version, length)
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
            reflashData: {
                ID: 0x61,
                response: 2,
                parameters: [
                    // bit pack ("IH", segmentId - 1, length) .. string sub (data, start, finish)
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
            reflashStatus: {
                ID: 0x62,
                response: 3,
                parameters: [
                    // bit pack ("bI", reflashStatusParameter, 0x00)
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
            getReflashLock: {
                ID: 0x90,
                parameters: [],
            },
            getHistory: {
                ID: 0xa0,
                parameters: [],
            },
            getLogin: {
                ID: 0xa1,
                parameters: [],
            },
            getUser: {
                ID: 0xa2,
                parameters: [],
            },
            getUsers: {
                ID: 0xa3,
                parameters: [],
            },
            getMandatoryAttributes: {
                ID: 0xb0,
                parameters: [],
            },
            readAttribute: {
                ID: 0xb1,
                parameters: [],
            },
            writeAttribute: {
                ID: 0xb2,
                parameters: [],
            },
            configureReporting: {
                ID: 0xb3,
                parameters: [],
            },
            getBasicClusterAttributes: {
                ID: 0xb4,
                parameters: [],
            },
        },
        commandsResponse: {
            getLockStatusRsp: {
                ID: 0,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            reflashRsp: {
                ID: 1,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            reflashDataRsp: {
                ID: 2,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            reflashStatusRsp: {
                ID: 3,
                parameters: [{ name: "status", type: enums_1.DataType.UINT8 }],
            },
            /* boltStateRsp: {
                ID: 4,
                parameters: [
                    {name: 'state', type: DataType.UINT8},
                ],
            },*/ // C4 driver has this response yet there is no command - maybe a non-specific cluster response?
            /* lockStatusReportRsp: {
                ID: 5,
                parameters: [
                    {name: 'status', type: DataType.UINT8},
                ],
            },*/ // C4 driver has this response yet there is no command - maybe a non-specific cluster response?
            /* handleStateRsp: {
                ID: 6,
                parameters: [
                    {name: 'state', type: DataType.UINT8},
                ],
            },*/ // C4 driver has this response yet there is no command - maybe a non-specific cluster response?
            /* userStatusRsp: {
                ID: 7,
                parameters: [
                    {name: 'status', type: DataType.UINT8},
                ],
            },*/ // C4 driver has this response yet there is no command - maybe a non-specific cluster response?
        },
    },
    manuSpecificDoorman: {
        ID: 0xeacc,
        attributes: {},
        commands: {
            getConfigurationParameter: {
                ID: 0xfc,
                parameters: [
                    // bit pack ("bbb", 0x00, 0x00, configurationId)
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
            setConfigurationParameter: {
                ID: 0xfd,
                parameters: [
                    // bit pack ("bbbb", 0x00, 0x00, configurationId, value)
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
            integrationModeActivation: {
                ID: 0x25,
                parameters: [
                    // bit pack ("bbbbb", slot, codeType, string sub (userCode, 1, 2), string sub (userCode, 3, 4), string sub (userCode, 5, 6)) .. String duplicate (0xff, 12)
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
            armDisarm: {
                ID: 0x4e,
                parameters: [
                    // bit pack ("bb", lockSequenceNumber, operatingParameter)
                    { name: "payload", type: enums_1.DataType.CHAR_STR },
                ],
            },
        },
        commandsResponse: {},
    },
    manuSpecificProfalux1: {
        ID: 0xfc21, // Config cluster, 0xfc20 mostly for commands it seems
        manufacturerCode: manufacturerCode_1.ManufacturerCode.PROFALUX,
        attributes: {
            motorCoverType: { ID: 0, type: enums_1.DataType.UINT8 }, // 0 : rolling shutters (volet), 1 : rolling shutters with tilt (BSO), 2: shade (store)
        },
        commands: {},
        commandsResponse: {},
    },
    manuSpecificAmazonWWAH: {
        ID: 0xfc57,
        manufacturerCode: manufacturerCode_1.ManufacturerCode.AMAZON_LAB126,
        attributes: {
            disableOTADowngrades: { ID: 0x0002, type: enums_1.DataType.BOOLEAN },
            mgmtLeaveWithoutRejoinEnabled: { ID: 0x0003, type: enums_1.DataType.BOOLEAN },
            nwkRetryCount: { ID: 0x0004, type: enums_1.DataType.UINT8 },
            macRetryCount: { ID: 0x0005, type: enums_1.DataType.UINT8 },
            routerCheckInEnabled: { ID: 0x0006, type: enums_1.DataType.BOOLEAN },
            touchlinkInterpanEnabled: { ID: 0x0007, type: enums_1.DataType.BOOLEAN },
            wwahParentClassificationEnabled: { ID: 0x0008, type: enums_1.DataType.BOOLEAN },
            wwahAppEventRetryEnabled: { ID: 0x0009, type: enums_1.DataType.BOOLEAN },
            wwahAppEventRetryQueueSize: { ID: 0x000a, type: enums_1.DataType.UINT8 },
            wwahRejoinEnabled: { ID: 0x000b, type: enums_1.DataType.BOOLEAN },
            macPollFailureWaitTime: { ID: 0x000c, type: enums_1.DataType.UINT8 },
            configurationModeEnabled: { ID: 0x000d, type: enums_1.DataType.BOOLEAN },
            currentDebugReportID: { ID: 0x000e, type: enums_1.DataType.UINT8 },
            tcSecurityOnNwkKeyRotationEnabled: { ID: 0x000f, type: enums_1.DataType.BOOLEAN },
            wwahBadParentRecoveryEnabled: { ID: 0x0010, type: enums_1.DataType.BOOLEAN },
            pendingNetworkUpdateChannel: { ID: 0x0011, type: enums_1.DataType.UINT8 },
            pendingNetworkUpdatePANID: { ID: 0x0012, type: enums_1.DataType.UINT16 },
            otaMaxOfflineDuration: { ID: 0x0013, type: enums_1.DataType.UINT16 },
            clusterRevision: { ID: 0xfffd, type: enums_1.DataType.UINT16 },
        },
        commands: {
            clearBindingTable: {
                ID: 0x0a,
                parameters: [],
            },
        },
        commandsResponse: {},
    },
};
//# sourceMappingURL=cluster.js.map