UNPKG

zigbee-herdsman

Version:

An open source ZigBee gateway solution with node.js.

1,139 lines (1,137 loc) 115 kB
import {ClusterId as ZdoClusterId} from "../../../zspec/zdo"; import {Type as CommandType, Subsystem} from "../unpi/constants"; import ParameterType from "./parameterType"; import type {MtCmd} from "./tstype"; const Definition: { [Subsystem.SYS]: MtCmd[]; [Subsystem.MAC]: MtCmd[]; [Subsystem.AF]: MtCmd[]; [Subsystem.ZDO]: MtCmd[]; [Subsystem.SAPI]: MtCmd[]; [Subsystem.UTIL]: MtCmd[]; [Subsystem.DEBUG]: MtCmd[]; [Subsystem.APP]: MtCmd[]; [Subsystem.APP_CNF]: MtCmd[]; [Subsystem.GREENPOWER]: MtCmd[]; [Subsystem.RESERVED]: MtCmd[]; [Subsystem.NWK]: MtCmd[]; } = { [Subsystem.SYS]: [ { name: "resetReq", ID: 0, type: CommandType.AREQ, request: [{name: "type", parameterType: ParameterType.UINT8}], }, { name: "ping", ID: 1, type: CommandType.SREQ, request: [], response: [{name: "capabilities", parameterType: ParameterType.UINT16}], }, { name: "version", ID: 2, type: CommandType.SREQ, request: [], response: [ {name: "transportrev", parameterType: ParameterType.UINT8}, {name: "product", parameterType: ParameterType.UINT8}, {name: "majorrel", parameterType: ParameterType.UINT8}, {name: "minorrel", parameterType: ParameterType.UINT8}, {name: "maintrel", parameterType: ParameterType.UINT8}, {name: "revision", parameterType: ParameterType.UINT32}, ], }, { name: "setExtAddr", ID: 3, type: CommandType.SREQ, request: [{name: "extaddress", parameterType: ParameterType.IEEEADDR}], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "getExtAddr", ID: 4, type: CommandType.SREQ, request: [], response: [{name: "extaddress", parameterType: ParameterType.IEEEADDR}], }, { name: "ramRead", ID: 5, type: CommandType.SREQ, request: [ {name: "address", parameterType: ParameterType.UINT16}, {name: "len", parameterType: ParameterType.UINT8}, ], response: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "len", parameterType: ParameterType.UINT8}, {name: "value", parameterType: ParameterType.BUFFER}, ], }, { name: "ramWrite", ID: 6, type: CommandType.SREQ, request: [ {name: "address", parameterType: ParameterType.UINT16}, {name: "len", parameterType: ParameterType.UINT8}, {name: "value", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "osalNvItemInit", ID: 7, type: CommandType.SREQ, request: [ {name: "id", parameterType: ParameterType.UINT16}, {name: "len", parameterType: ParameterType.UINT16}, {name: "initlen", parameterType: ParameterType.UINT8}, {name: "initvalue", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "osalNvRead", ID: 8, type: CommandType.SREQ, request: [ {name: "id", parameterType: ParameterType.UINT16}, {name: "offset", parameterType: ParameterType.UINT8}, ], response: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "len", parameterType: ParameterType.UINT8}, {name: "value", parameterType: ParameterType.BUFFER}, ], }, { name: "osalNvWrite", ID: 9, type: CommandType.SREQ, request: [ {name: "id", parameterType: ParameterType.UINT16}, {name: "offset", parameterType: ParameterType.UINT8}, {name: "len", parameterType: ParameterType.UINT8}, {name: "value", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "osalStartTimer", ID: 10, type: CommandType.SREQ, request: [ {name: "id", parameterType: ParameterType.UINT8}, {name: "timeout", parameterType: ParameterType.UINT16}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "osalStopTimer", ID: 11, type: CommandType.SREQ, request: [{name: "id", parameterType: ParameterType.UINT8}], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "random", ID: 12, type: CommandType.SREQ, request: [], response: [{name: "value", parameterType: ParameterType.UINT16}], }, { name: "adcRead", ID: 13, type: CommandType.SREQ, request: [ {name: "channel", parameterType: ParameterType.UINT8}, {name: "resolution", parameterType: ParameterType.UINT8}, ], response: [{name: "value", parameterType: ParameterType.UINT16}], }, { name: "gpio", ID: 14, type: CommandType.SREQ, request: [ {name: "operation", parameterType: ParameterType.UINT8}, {name: "value", parameterType: ParameterType.UINT8}, ], response: [{name: "value", parameterType: ParameterType.UINT8}], }, { name: "stackTune", ID: 15, type: CommandType.SREQ, request: [ {name: "operation", parameterType: ParameterType.UINT8}, {name: "value", parameterType: ParameterType.INT8}, ], response: [{name: "value", parameterType: ParameterType.UINT8}], }, { name: "setTime", ID: 16, type: CommandType.SREQ, request: [ {name: "utc", parameterType: ParameterType.UINT32}, {name: "hour", parameterType: ParameterType.UINT8}, {name: "minute", parameterType: ParameterType.UINT8}, {name: "second", parameterType: ParameterType.UINT8}, {name: "month", parameterType: ParameterType.UINT8}, {name: "day", parameterType: ParameterType.UINT8}, {name: "year", parameterType: ParameterType.UINT16}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "getTime", ID: 17, type: CommandType.SREQ, request: [], response: [ {name: "utc", parameterType: ParameterType.UINT32}, {name: "hour", parameterType: ParameterType.UINT8}, {name: "minute", parameterType: ParameterType.UINT8}, {name: "second", parameterType: ParameterType.UINT8}, {name: "month", parameterType: ParameterType.UINT8}, {name: "day", parameterType: ParameterType.UINT8}, {name: "year", parameterType: ParameterType.UINT16}, ], }, { name: "osalNvDelete", ID: 18, type: CommandType.SREQ, request: [ {name: "id", parameterType: ParameterType.UINT16}, {name: "len", parameterType: ParameterType.UINT16}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "osalNvLength", ID: 19, type: CommandType.SREQ, request: [{name: "id", parameterType: ParameterType.UINT16}], response: [{name: "length", parameterType: ParameterType.UINT16}], }, { name: "setTxPower", ID: 20, type: CommandType.SREQ, request: [{name: "level", parameterType: ParameterType.UINT8}], response: [{name: "txpower", parameterType: ParameterType.UINT8}], }, { name: "jammerParameters", ID: 21, type: CommandType.SREQ, request: [ {name: "jmrcntievents", parameterType: ParameterType.UINT16}, {name: "jmrhinoiselvl", parameterType: ParameterType.UINT8}, {name: "jmrdetectperiod", parameterType: ParameterType.UINT32}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "snifferParameters", ID: 22, type: CommandType.SREQ, request: [{name: "param", parameterType: ParameterType.UINT8}], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "zdiagsInitStats", ID: 23, type: CommandType.SREQ, request: [], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "zdiagsClearStats", ID: 24, type: CommandType.SREQ, request: [{name: "clearnv", parameterType: ParameterType.UINT8}], response: [{name: "sysclock", parameterType: ParameterType.UINT32}], }, { name: "zdiagsGetStats", ID: 25, type: CommandType.SREQ, request: [{name: "attributeid", parameterType: ParameterType.UINT16}], response: [{name: "attributevalue", parameterType: ParameterType.UINT32}], }, { name: "zdiagsRestoreStatsNv", ID: 26, type: CommandType.SREQ, request: [], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "zdiagsSaveStatsToNv", ID: 27, type: CommandType.SREQ, request: [], response: [{name: "sysclock", parameterType: ParameterType.UINT32}], }, { name: "osalNvReadExt", ID: 28, type: CommandType.SREQ, request: [ {name: "id", parameterType: ParameterType.UINT16}, {name: "offset", parameterType: ParameterType.UINT16}, ], response: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "len", parameterType: ParameterType.UINT8}, {name: "value", parameterType: ParameterType.BUFFER}, ], }, { name: "osalNvWriteExt", ID: 29, type: CommandType.SREQ, request: [ {name: "id", parameterType: ParameterType.UINT16}, {name: "offset", parameterType: ParameterType.UINT16}, {name: "len", parameterType: ParameterType.UINT16}, {name: "value", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "nvCreate", ID: 48, type: CommandType.SREQ, request: [ {name: "sysid", parameterType: ParameterType.UINT8}, {name: "itemid", parameterType: ParameterType.UINT16}, {name: "subid", parameterType: ParameterType.UINT16}, {name: "len", parameterType: ParameterType.UINT32}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "nvDelete", ID: 49, type: CommandType.SREQ, request: [ {name: "sysid", parameterType: ParameterType.UINT8}, {name: "itemid", parameterType: ParameterType.UINT16}, {name: "subid", parameterType: ParameterType.UINT16}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "nvLength", ID: 50, type: CommandType.SREQ, request: [ {name: "sysid", parameterType: ParameterType.UINT8}, {name: "itemid", parameterType: ParameterType.UINT16}, {name: "subid", parameterType: ParameterType.UINT16}, ], response: [{name: "len", parameterType: ParameterType.UINT8}], }, { name: "nvRead", ID: 51, type: CommandType.SREQ, request: [ {name: "sysid", parameterType: ParameterType.UINT8}, {name: "itemid", parameterType: ParameterType.UINT16}, {name: "subid", parameterType: ParameterType.UINT16}, {name: "offset", parameterType: ParameterType.UINT16}, {name: "len", parameterType: ParameterType.UINT8}, ], response: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "len", parameterType: ParameterType.UINT8}, {name: "value", parameterType: ParameterType.BUFFER}, ], }, { name: "nvWrite", ID: 52, type: CommandType.SREQ, request: [ {name: "sysid", parameterType: ParameterType.UINT8}, {name: "itemid", parameterType: ParameterType.UINT16}, {name: "subid", parameterType: ParameterType.UINT16}, {name: "offset", parameterType: ParameterType.UINT16}, {name: "len", parameterType: ParameterType.UINT8}, {name: "value", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "nvUpdate", ID: 53, type: CommandType.SREQ, request: [ {name: "sysid", parameterType: ParameterType.UINT8}, {name: "itemid", parameterType: ParameterType.UINT16}, {name: "subid", parameterType: ParameterType.UINT16}, {name: "len", parameterType: ParameterType.UINT8}, {name: "value", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "nvCompact", ID: 54, type: CommandType.SREQ, request: [{name: "threshold", parameterType: ParameterType.UINT16}], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "resetInd", ID: 128, type: CommandType.AREQ, request: [ {name: "reason", parameterType: ParameterType.UINT8}, {name: "transportrev", parameterType: ParameterType.UINT8}, {name: "productid", parameterType: ParameterType.UINT8}, {name: "majorrel", parameterType: ParameterType.UINT8}, {name: "minorrel", parameterType: ParameterType.UINT8}, {name: "hwrev", parameterType: ParameterType.UINT8}, ], }, { name: "osalTimerExpired", ID: 129, type: CommandType.AREQ, request: [{name: "id", parameterType: ParameterType.UINT8}], }, { name: "jammerInd", ID: 130, type: CommandType.AREQ, request: [{name: "jammerind", parameterType: ParameterType.UINT8}], }, ], [Subsystem.MAC]: [ { name: "resetReq", ID: 1, type: CommandType.SREQ, request: [{name: "setdefault", parameterType: ParameterType.UINT8}], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "init", ID: 2, type: CommandType.SREQ, request: [], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "startReq", ID: 3, type: CommandType.SREQ, request: [ {name: "starttime", parameterType: ParameterType.UINT32}, {name: "panid", parameterType: ParameterType.UINT16}, {name: "logicalchannel", parameterType: ParameterType.UINT8}, {name: "channelpage", parameterType: ParameterType.UINT8}, {name: "beaconorder", parameterType: ParameterType.UINT8}, {name: "superframeorder", parameterType: ParameterType.UINT8}, {name: "pancoordinator", parameterType: ParameterType.UINT8}, {name: "batterylifeext", parameterType: ParameterType.UINT8}, {name: "coordrealignment", parameterType: ParameterType.UINT8}, {name: "realignkeysource", parameterType: ParameterType.BUFFER}, {name: "realignsecuritylevel", parameterType: ParameterType.UINT8}, {name: "realignkeyidmode", parameterType: ParameterType.UINT8}, {name: "realignkeyindex", parameterType: ParameterType.UINT8}, {name: "beaconkeysource", parameterType: ParameterType.BUFFER}, {name: "beaconsecuritylevel", parameterType: ParameterType.UINT8}, {name: "beaconkeyidmode", parameterType: ParameterType.UINT8}, {name: "beaconkeyindex", parameterType: ParameterType.UINT8}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "syncReq", ID: 4, type: CommandType.SREQ, request: [ {name: "logicalchannel", parameterType: ParameterType.UINT8}, {name: "channelpage", parameterType: ParameterType.UINT8}, {name: "trackbeacon", parameterType: ParameterType.UINT8}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "dataReq", ID: 5, type: CommandType.SREQ, request: [ {name: "destaddressmode", parameterType: ParameterType.UINT8}, {name: "destaddress", parameterType: ParameterType.IEEEADDR}, {name: "destpanid", parameterType: ParameterType.UINT16}, {name: "srcaddressmode", parameterType: ParameterType.UINT8}, {name: "handle", parameterType: ParameterType.UINT8}, {name: "txoption", parameterType: ParameterType.UINT8}, {name: "logicalchannel", parameterType: ParameterType.UINT8}, {name: "power", parameterType: ParameterType.UINT8}, {name: "keysource", parameterType: ParameterType.BUFFER}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, {name: "msdulength", parameterType: ParameterType.UINT8}, {name: "msdu", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "associateReq", ID: 6, type: CommandType.SREQ, request: [ {name: "logicalchannel", parameterType: ParameterType.UINT8}, {name: "channelpage", parameterType: ParameterType.UINT8}, {name: "coordaddressmode", parameterType: ParameterType.UINT8}, {name: "coordaddress", parameterType: ParameterType.IEEEADDR}, {name: "coordpanid", parameterType: ParameterType.UINT16}, {name: "capabilityinformation", parameterType: ParameterType.UINT8}, {name: "keysource", parameterType: ParameterType.BUFFER}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "disassociateReq", ID: 7, type: CommandType.SREQ, request: [ {name: "deviceaddressmode", parameterType: ParameterType.UINT8}, {name: "deviceaddress", parameterType: ParameterType.IEEEADDR}, {name: "devicepanid", parameterType: ParameterType.UINT16}, {name: "disassociatereason", parameterType: ParameterType.UINT8}, {name: "txindirect", parameterType: ParameterType.UINT8}, {name: "keysource", parameterType: ParameterType.BUFFER}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "getReq", ID: 8, type: CommandType.SREQ, request: [{name: "attribute", parameterType: ParameterType.UINT8}], response: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "data", parameterType: ParameterType.BUFFER16}, ], }, { name: "setReq", ID: 9, type: CommandType.SREQ, request: [ {name: "attribute", parameterType: ParameterType.UINT8}, {name: "attributevalue", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "scanReq", ID: 12, type: CommandType.SREQ, request: [ {name: "scanchannels", parameterType: ParameterType.UINT32}, {name: "scantype", parameterType: ParameterType.UINT8}, {name: "scanduration", parameterType: ParameterType.UINT8}, {name: "channelpage", parameterType: ParameterType.UINT8}, {name: "maxresults", parameterType: ParameterType.UINT8}, {name: "keysource", parameterType: ParameterType.BUFFER}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "pollReq", ID: 13, type: CommandType.SREQ, request: [ {name: "coordaddressmode", parameterType: ParameterType.UINT8}, {name: "coordaddress", parameterType: ParameterType.IEEEADDR}, {name: "coordpanid", parameterType: ParameterType.UINT16}, {name: "keysource", parameterType: ParameterType.BUFFER}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "purgeReq", ID: 14, type: CommandType.SREQ, request: [{name: "msduhandle", parameterType: ParameterType.UINT8}], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "setRxGainReq", ID: 15, type: CommandType.SREQ, request: [{name: "mode", parameterType: ParameterType.UINT8}], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "securityGetReq", ID: 48, type: CommandType.SREQ, request: [ {name: "attribute", parameterType: ParameterType.UINT8}, {name: "index1", parameterType: ParameterType.UINT8}, {name: "index2", parameterType: ParameterType.UINT8}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "securitySetReq", ID: 49, type: CommandType.SREQ, request: [ {name: "attribute", parameterType: ParameterType.UINT8}, {name: "attributevalue", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "associateRsp", ID: 80, type: CommandType.SREQ, request: [ {name: "extaddr", parameterType: ParameterType.IEEEADDR}, {name: "assocshortaddress", parameterType: ParameterType.UINT16}, {name: "assocstatus", parameterType: ParameterType.UINT8}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "orphanRsp", ID: 81, type: CommandType.SREQ, request: [ {name: "extaddr", parameterType: ParameterType.IEEEADDR}, {name: "assocshortaddress", parameterType: ParameterType.UINT16}, {name: "associatedmember", parameterType: ParameterType.UINT8}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "syncLossInd", ID: 128, type: CommandType.AREQ, request: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "panid", parameterType: ParameterType.UINT16}, {name: "logicalchannel", parameterType: ParameterType.UINT8}, {name: "channelpage", parameterType: ParameterType.UINT8}, {name: "keysource", parameterType: ParameterType.BUFFER8}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, ], }, { name: "associateInd", ID: 129, type: CommandType.AREQ, request: [ {name: "deviceextendedaddress", parameterType: ParameterType.IEEEADDR}, {name: "capabilities", parameterType: ParameterType.UINT8}, {name: "keysource", parameterType: ParameterType.BUFFER8}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, ], }, { name: "associateCnf", ID: 130, type: CommandType.AREQ, request: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "deviceshortaddress", parameterType: ParameterType.UINT16}, {name: "keysource", parameterType: ParameterType.BUFFER8}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, ], }, { name: "beaconNotifyInd", ID: 131, type: CommandType.AREQ, request: [ {name: "bsn", parameterType: ParameterType.UINT8}, {name: "timestamp", parameterType: ParameterType.UINT32}, {name: "coordinatoraddressmode", parameterType: ParameterType.UINT8}, {name: "coordinatorextendedaddress", parameterType: ParameterType.IEEEADDR}, {name: "panid", parameterType: ParameterType.UINT16}, {name: "superframespec", parameterType: ParameterType.UINT16}, {name: "logicalchannel", parameterType: ParameterType.UINT8}, {name: "gtspermit", parameterType: ParameterType.UINT8}, {name: "linkquality", parameterType: ParameterType.UINT8}, {name: "securityfailure", parameterType: ParameterType.UINT8}, {name: "keysource", parameterType: ParameterType.BUFFER8}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, {name: "pendingaddrspec", parameterType: ParameterType.UINT8}, {name: "addresslist", parameterType: ParameterType.BUFFER32}, {name: "sdulength", parameterType: ParameterType.UINT8}, {name: "nsdu", parameterType: ParameterType.BUFFER}, ], }, { name: "dataCnf", ID: 132, type: CommandType.AREQ, request: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "handle", parameterType: ParameterType.UINT8}, {name: "timestamp", parameterType: ParameterType.UINT32}, {name: "timestamp2", parameterType: ParameterType.UINT16}, ], }, { name: "dataInd", ID: 133, type: CommandType.AREQ, request: [ {name: "srcaddrmode", parameterType: ParameterType.UINT8}, {name: "srcaddr", parameterType: ParameterType.IEEEADDR}, {name: "dstaddrmode", parameterType: ParameterType.UINT8}, {name: "dstaddr", parameterType: ParameterType.IEEEADDR}, {name: "timestamp", parameterType: ParameterType.UINT32}, {name: "timestamp2", parameterType: ParameterType.UINT16}, {name: "srcpanid", parameterType: ParameterType.UINT16}, {name: "dstpanid", parameterType: ParameterType.UINT16}, {name: "linkquality", parameterType: ParameterType.UINT8}, {name: "correlation", parameterType: ParameterType.UINT8}, {name: "rssi", parameterType: ParameterType.UINT8}, {name: "dsn", parameterType: ParameterType.UINT8}, {name: "keysource", parameterType: ParameterType.BUFFER8}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, {name: "length", parameterType: ParameterType.UINT8}, {name: "data", parameterType: ParameterType.BUFFER}, ], }, { name: "disassociateInd", ID: 134, type: CommandType.AREQ, request: [ {name: "extendedaddress", parameterType: ParameterType.IEEEADDR}, {name: "disassociatereason", parameterType: ParameterType.UINT8}, {name: "keysource", parameterType: ParameterType.BUFFER8}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, ], }, { name: "disassociateCnf", ID: 135, type: CommandType.AREQ, request: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "deviceaddrmode", parameterType: ParameterType.UINT8}, {name: "deviceaddr", parameterType: ParameterType.IEEEADDR}, {name: "devicepanid", parameterType: ParameterType.UINT16}, ], }, { name: "orphanInd", ID: 138, type: CommandType.AREQ, request: [ {name: "extendedaddr", parameterType: ParameterType.IEEEADDR}, {name: "keysource", parameterType: ParameterType.BUFFER8}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, ], }, { name: "pollCnf", ID: 139, type: CommandType.AREQ, request: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "scanCnf", ID: 140, type: CommandType.AREQ, request: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "ed", parameterType: ParameterType.UINT8}, {name: "scantype", parameterType: ParameterType.UINT8}, {name: "channelpage", parameterType: ParameterType.UINT8}, {name: "unscannedchannellist", parameterType: ParameterType.UINT32}, {name: "resultlistcount", parameterType: ParameterType.UINT8}, {name: "resultlistmaxlength", parameterType: ParameterType.UINT8}, {name: "resultlist", parameterType: ParameterType.BUFFER}, ], }, { name: "commStatusInd", ID: 141, type: CommandType.AREQ, request: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "srcaddrmode", parameterType: ParameterType.UINT8}, {name: "srcaddr", parameterType: ParameterType.IEEEADDR}, {name: "dstaddrmode", parameterType: ParameterType.UINT8}, {name: "dstaddr", parameterType: ParameterType.IEEEADDR}, {name: "devicepanid", parameterType: ParameterType.UINT16}, {name: "reason", parameterType: ParameterType.UINT8}, {name: "keysource", parameterType: ParameterType.BUFFER8}, {name: "securitylevel", parameterType: ParameterType.UINT8}, {name: "keyidmode", parameterType: ParameterType.UINT8}, {name: "keyindex", parameterType: ParameterType.UINT8}, ], }, { name: "startCnf", ID: 142, type: CommandType.AREQ, request: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "rxEnableCnf", ID: 143, type: CommandType.AREQ, request: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "purgeCnf", ID: 144, type: CommandType.AREQ, request: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "handle", parameterType: ParameterType.UINT8}, ], }, ], [Subsystem.AF]: [ { name: "register", ID: 0, type: CommandType.SREQ, request: [ {name: "endpoint", parameterType: ParameterType.UINT8}, {name: "appprofid", parameterType: ParameterType.UINT16}, {name: "appdeviceid", parameterType: ParameterType.UINT16}, {name: "appdevver", parameterType: ParameterType.UINT8}, {name: "latencyreq", parameterType: ParameterType.UINT8}, {name: "appnuminclusters", parameterType: ParameterType.UINT8}, {name: "appinclusterlist", parameterType: ParameterType.LIST_UINT16}, {name: "appnumoutclusters", parameterType: ParameterType.UINT8}, {name: "appoutclusterlist", parameterType: ParameterType.LIST_UINT16}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "dataRequest", ID: 1, type: CommandType.SREQ, request: [ {name: "dstaddr", parameterType: ParameterType.UINT16}, {name: "destendpoint", parameterType: ParameterType.UINT8}, {name: "srcendpoint", parameterType: ParameterType.UINT8}, {name: "clusterid", parameterType: ParameterType.UINT16}, {name: "transid", parameterType: ParameterType.UINT8}, {name: "options", parameterType: ParameterType.UINT8}, {name: "radius", parameterType: ParameterType.UINT8}, {name: "len", parameterType: ParameterType.UINT8}, {name: "data", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "dataRequestExt", ID: 2, type: CommandType.SREQ, request: [ {name: "dstaddrmode", parameterType: ParameterType.UINT8}, {name: "dstaddr", parameterType: ParameterType.IEEEADDR}, {name: "destendpoint", parameterType: ParameterType.UINT8}, {name: "dstpanid", parameterType: ParameterType.UINT16}, {name: "srcendpoint", parameterType: ParameterType.UINT8}, {name: "clusterid", parameterType: ParameterType.UINT16}, {name: "transid", parameterType: ParameterType.UINT8}, {name: "options", parameterType: ParameterType.UINT8}, {name: "radius", parameterType: ParameterType.UINT8}, {name: "len", parameterType: ParameterType.UINT16}, {name: "data", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "dataRequestSrcRtg", ID: 3, type: CommandType.SREQ, request: [ {name: "dstaddr", parameterType: ParameterType.UINT16}, {name: "destendpoint", parameterType: ParameterType.UINT8}, {name: "srcendpoint", parameterType: ParameterType.UINT8}, {name: "clusterid", parameterType: ParameterType.UINT16}, {name: "transid", parameterType: ParameterType.UINT8}, {name: "options", parameterType: ParameterType.UINT8}, {name: "radius", parameterType: ParameterType.UINT8}, {name: "relaycount", parameterType: ParameterType.UINT8}, {name: "relaylist", parameterType: ParameterType.LIST_UINT16}, {name: "len", parameterType: ParameterType.UINT8}, {name: "data", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "delete", ID: 4, type: CommandType.SREQ, request: [{name: "endpoint", parameterType: ParameterType.UINT8}], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "interPanCtl", ID: 16, type: CommandType.SREQ, request: [ {name: "cmd", parameterType: ParameterType.UINT8}, {name: "data", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "dataStore", ID: 17, type: CommandType.SREQ, request: [ {name: "index", parameterType: ParameterType.UINT16}, {name: "length", parameterType: ParameterType.UINT8}, {name: "data", parameterType: ParameterType.BUFFER}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "dataRetrieve", ID: 18, type: CommandType.SREQ, request: [ {name: "timestamp", parameterType: ParameterType.UINT32}, {name: "index", parameterType: ParameterType.UINT16}, {name: "length", parameterType: ParameterType.UINT8}, ], response: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "length", parameterType: ParameterType.UINT8}, {name: "data", parameterType: ParameterType.BUFFER}, ], }, { name: "apsfConfigSet", ID: 19, type: CommandType.SREQ, request: [ {name: "endpoint", parameterType: ParameterType.UINT8}, {name: "framedelay", parameterType: ParameterType.UINT8}, {name: "windowsize", parameterType: ParameterType.UINT8}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "apsfConfigGet", ID: 20, type: CommandType.SREQ, request: [{name: "endpoint", parameterType: ParameterType.UINT8}], response: [ {name: "framedelay", parameterType: ParameterType.UINT8}, {name: "windowsize", parameterType: ParameterType.UINT8}, {name: "nomean", parameterType: ParameterType.UINT8}, ], }, { name: "dataConfirm", ID: 128, type: CommandType.AREQ, request: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "endpoint", parameterType: ParameterType.UINT8}, {name: "transid", parameterType: ParameterType.UINT8}, ], }, { name: "incomingMsg", ID: 129, type: CommandType.AREQ, request: [ {name: "groupid", parameterType: ParameterType.UINT16}, {name: "clusterid", parameterType: ParameterType.UINT16}, {name: "srcaddr", parameterType: ParameterType.UINT16}, {name: "srcendpoint", parameterType: ParameterType.UINT8}, {name: "dstendpoint", parameterType: ParameterType.UINT8}, {name: "wasbroadcast", parameterType: ParameterType.UINT8}, {name: "linkquality", parameterType: ParameterType.UINT8}, {name: "securityuse", parameterType: ParameterType.UINT8}, {name: "timestamp", parameterType: ParameterType.UINT32}, {name: "transseqnumber", parameterType: ParameterType.UINT8}, {name: "len", parameterType: ParameterType.UINT8}, {name: "data", parameterType: ParameterType.BUFFER}, ], }, { name: "incomingMsgExt", ID: 130, type: CommandType.AREQ, request: [ {name: "groupid", parameterType: ParameterType.UINT16}, {name: "clusterid", parameterType: ParameterType.UINT16}, {name: "srcaddrmode", parameterType: ParameterType.UINT8}, {name: "srcaddr", parameterType: ParameterType.IEEEADDR}, {name: "srcendpoint", parameterType: ParameterType.UINT8}, {name: "srcpanid", parameterType: ParameterType.UINT16}, {name: "dstendpoint", parameterType: ParameterType.UINT8}, {name: "wasbroadcast", parameterType: ParameterType.UINT8}, {name: "linkquality", parameterType: ParameterType.UINT8}, {name: "securityuse", parameterType: ParameterType.UINT8}, {name: "timestamp", parameterType: ParameterType.UINT32}, {name: "transseqnumber", parameterType: ParameterType.UINT8}, {name: "len", parameterType: ParameterType.UINT16}, {name: "data", parameterType: ParameterType.BUFFER}, ], }, { name: "reflectError", ID: 131, type: CommandType.AREQ, request: [ {name: "status", parameterType: ParameterType.UINT8}, {name: "endpoint", parameterType: ParameterType.UINT8}, {name: "transid", parameterType: ParameterType.UINT8}, {name: "dstaddrmode", parameterType: ParameterType.UINT8}, {name: "dstaddr", parameterType: ParameterType.UINT16}, ], }, ], [Subsystem.ZDO]: [ { name: "nwkAddrReq", ID: 0, type: CommandType.SREQ, zdoClusterId: ZdoClusterId.NETWORK_ADDRESS_REQUEST, // request: [ // {name: 'ieeeaddr', parameterType: ParameterType.IEEEADDR}, // {name: 'reqtype', parameterType: ParameterType.UINT8}, // {name: 'startindex', parameterType: ParameterType.UINT8}, // ], // response: [{name: 'status', parameterType: ParameterType.UINT8}], }, { name: "ieeeAddrReq", ID: 1, type: CommandType.SREQ, zdoClusterId: ZdoClusterId.IEEE_ADDRESS_REQUEST, // request: [ // {name: 'shortaddr', parameterType: ParameterType.UINT16}, // {name: 'reqtype', parameterType: ParameterType.UINT8}, // {name: 'startindex', parameterType: ParameterType.UINT8}, // ], // response: [{name: 'status', parameterType: ParameterType.UINT8}], }, { name: "nodeDescReq", ID: 2, type: CommandType.SREQ, zdoClusterId: ZdoClusterId.NODE_DESCRIPTOR_REQUEST, // request: [ // {name: 'dstaddr', parameterType: ParameterType.UINT16}, // {name: 'nwkaddrofinterest', parameterType: ParameterType.UINT16}, // ], // response: [{name: 'status', parameterType: ParameterType.UINT8}], }, { name: "powerDescReq", ID: 3, type: CommandType.SREQ, zdoClusterId: ZdoClusterId.POWER_DESCRIPTOR_REQUEST, // request: [ // {name: 'dstaddr', parameterType: ParameterType.UINT16}, // {name: 'nwkaddrofinterest', parameterType: ParameterType.UINT16}, // ], // response: [{name: 'status', parameterType: ParameterType.UINT8}], }, { name: "simpleDescReq", ID: 4, type: CommandType.SREQ, zdoClusterId: ZdoClusterId.SIMPLE_DESCRIPTOR_REQUEST, // request: [ // {name: 'dstaddr', parameterType: ParameterType.UINT16}, // {name: 'nwkaddrofinterest', parameterType: ParameterType.UINT16}, // {name: 'endpoint', parameterType: ParameterType.UINT8}, // ], // response: [{name: 'status', parameterType: ParameterType.UINT8}], }, { name: "activeEpReq", ID: 5, type: CommandType.SREQ, zdoClusterId: ZdoClusterId.ACTIVE_ENDPOINTS_REQUEST, // request: [ // {name: 'dstaddr', parameterType: ParameterType.UINT16}, // {name: 'nwkaddrofinterest', parameterType: ParameterType.UINT16}, // ], // response: [{name: 'status', parameterType: ParameterType.UINT8}], }, { name: "matchDescReq", ID: 6, type: CommandType.SREQ, zdoClusterId: ZdoClusterId.MATCH_DESCRIPTORS_REQUEST, // request: [ // {name: 'dstaddr', parameterType: ParameterType.UINT16}, // {name: 'nwkaddrofinterest', parameterType: ParameterType.UINT16}, // {name: 'profileid', parameterType: ParameterType.UINT16}, // {name: 'numinclusters', parameterType: ParameterType.UINT8}, // {name: 'inclusterlist', parameterType: ParameterType.LIST_UINT16}, // {name: 'numoutclusters', parameterType: ParameterType.UINT8}, // {name: 'outclusterlist', parameterType: ParameterType.LIST_UINT16}, // ], // response: [{name: 'status', parameterType: ParameterType.UINT8}], }, { name: "complexDescReq", ID: 7, type: CommandType.SREQ, request: [ {name: "dstaddr", parameterType: ParameterType.UINT16}, {name: "nwkaddrofinterest", parameterType: ParameterType.UINT16}, ], response: [{name: "status", parameterType: ParameterType.UINT8}], }, { name: "userDescReq", ID: 8,