zigbee-herdsman-zigate
Version:
An open source ZigBee gateway solution with node.js.
3,014 lines • 116 kB
text/typescript
import {Subsystem, Type as CommandType} from '../unpi/constants';
import ParameterType from './parameterType';
import {MtCmd} from './tstype';
const Definition: {
[s: number]: 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,
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,
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,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'nwkaddrofinterest', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'powerDescReq',
ID: 3,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'nwkaddrofinterest', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'simpleDescReq',
ID: 4,
type: CommandType.SREQ,
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,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'nwkaddrofinterest', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'matchDescReq',
ID: 6,
type: CommandType.SREQ,
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,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'nwkaddrofinterest', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'endDeviceAnnce',
ID: 10,
type: CommandType.SREQ,
request: [
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'ieeeaddr', parameterType: ParameterType.IEEEADDR},
{name: 'capability', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'userDescSet',
ID: 11,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'nwkaddrofinterest', parameterType: ParameterType.UINT16},
{name: 'descriptor_len', parameterType: ParameterType.UINT8},
{name: 'userdescriptor', parameterType: ParameterType.BUFFER},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'serverDiscReq',
ID: 12,
type: CommandType.SREQ,
request: [
{name: 'servermask', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'endDeviceBindReq',
ID: 32,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'localcoord', parameterType: ParameterType.UINT16},
{name: 'localieee', parameterType: ParameterType.IEEEADDR},
{name: 'endpoint', parameterType: ParameterType.UINT8},
{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: 'bindReq',
ID: 33,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'srcaddr', parameterType: ParameterType.IEEEADDR},
{name: 'srcendpoint', parameterType: ParameterType.UINT8},
{name: 'clusterid', parameterType: ParameterType.UINT16},
{name: 'dstaddrmode', parameterType: ParameterType.UINT8},
{name: 'dstaddress', parameterType: ParameterType.IEEEADDR},
{name: 'dstendpoint', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'unbindReq',
ID: 34,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'srcaddr', parameterType: ParameterType.IEEEADDR},
{name: 'srcendpoint', parameterType: ParameterType.UINT8},
{name: 'clusterid', parameterType: ParameterType.UINT16},
{name: 'dstaddrmode', parameterType: ParameterType.UINT8},
{name: 'dstaddress', parameterType: ParameterType.IEEEADDR},
{name: 'dstendpoint', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'setLinkKey',
ID: 35,
type: CommandType.SREQ,
request: [
{name: 'shortaddr', parameterType: ParameterType.UINT16},
{name: 'ieeeaddr', parameterType: ParameterType.IEEEADDR},
{name: 'linkkey', parameterType: ParameterType.BUFFER},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'removeLinkKey',
ID: 36,
type: CommandType.SREQ,
request: [
{name: 'ieeeaddr', parameterType: ParameterType.IEEEADDR},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'getLinkKey',
ID: 37,
type: CommandType.SREQ,
request: [
{name: 'ieeeaddr', parameterType: ParameterType.IEEEADDR},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'ieeeaddr', parameterType: ParameterType.IEEEADDR},
{name: 'linkkeydata', parameterType: ParameterType.BUFFER16},
],
},
{
name: 'nwkDiscoveryReq',
ID: 38,
type: CommandType.SREQ,
request: [
{name: 'scanchannels', parameterType: ParameterType.UINT32},
{name: 'scanduration', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'joinReq',
ID: 39,
type: CommandType.SREQ,
request: [
{name: 'logicalchannel', parameterType: ParameterType.UINT8},
{name: 'panid', parameterType: ParameterType.UINT16},
{name: 'extendedpanid', parameterType: ParameterType.IEEEADDR},
{name: 'chosenparent', parameterType: ParameterType.UINT16},
{name: 'parentdepth', parameterType: ParameterType.UINT8},
{name: 'stackprofile', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'mgmtNwkDiscReq',
ID: 48,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'scanchannels', parameterType: ParameterType.UINT32},
{name: 'scanduration', parameterType: ParameterType.UINT8},
{name: 'startindex', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'mgmtLqiReq',
ID: 49,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'startindex', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'mgmtRtgReq',
ID: 50,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'startindex', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'mgmtBindReq',
ID: 51,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'startindex', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'mgmtLeaveReq',
ID: 52,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'deviceaddress', parameterType: ParameterType.IEEEADDR},
{name: 'removechildrenRejoin', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'mgmtDirectJoinReq',
ID: 53,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'deviceaddr', parameterType: ParameterType.IEEEADDR},
{name: 'capinfo', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'mgmtPermitJoinReq',
ID: 54,
type: CommandType.SREQ,
request: [
{name: 'addrmode', parameterType: ParameterType.UINT8},
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'duration', parameterType: ParameterType.UINT8},
{name: 'tcsignificance', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'mgmtNwkUpdateReq',
ID: 55,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'dstaddrmode', parameterType: ParameterType.UINT8},
{name: 'channelmask', parameterType: ParameterType.UINT32},
{name: 'scanduration', parameterType: ParameterType.UINT8},
{name: 'scancount', parameterType: ParameterType.UINT8},
{name: 'nwkmanageraddr', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'msgCbRegister',
ID: 62,
type: CommandType.SREQ,
request: [
{name: 'clusterid', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'msgCbRemove',
ID: 63,
type: CommandType.SREQ,
request: [
{name: 'clusterid', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'startupFromApp',
ID: 64,
type: CommandType.SREQ,
request: [
{name: 'startdelay', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'autoFindDestination',
ID: 65,
type: CommandType.AREQ,
request: [
{name: 'endpoint', parameterType: ParameterType.UINT8},
],
},
{
name: 'nwkAddrRsp',
ID: 128,
type: CommandType.AREQ,
request: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'ieeeaddr', parameterType: ParameterType.IEEEADDR},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'startindex', parameterType: ParameterType.UINT8},
{name: 'numassocdev', parameterType: ParameterType.UINT8},
{name: 'assocdevlist', parameterType: ParameterType.LIST_ASSOC_DEV},
],
},
{
name: 'ieeeAddrRsp',
ID: 129,
type: CommandType.AREQ,
request: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'ieeeaddr', parameterType: ParameterType.IEEEADDR},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'startindex', parameterType: ParameterType.UINT8},
{name: 'numassocdev', parameterType: ParameterType.UINT8},
{name: 'assocdevlist', parameterType: ParameterType.LIST_ASSOC_DEV},
],
},
{
name: 'nodeDescRsp',
ID: 130,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'logicaltype_cmplxdescavai_userdescavai', parameterType: ParameterType.UINT8},
{name: 'apsflags_freqband', parameterType: ParameterType.UINT8},
{name: 'maccapflags', parameterType: ParameterType.UINT8},
{name: 'manufacturercode', parameterType: ParameterType.UINT16},
{name: 'maxbuffersize', parameterType: ParameterType.UINT8},
{name: 'maxintransfersize', parameterType: ParameterType.UINT16},
{name: 'servermask', parameterType: ParameterType.UINT16},
{name: 'maxouttransfersize', parameterType: ParameterType.UINT16},
{name: 'descriptorcap', parameterType: ParameterType.UINT8},
],
},
{
name: 'powerDescRsp',
ID: 131,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'currentpowermode_avaipowersrc', parameterType: ParameterType.UINT8},
{name: 'currentpowersrc_currentpowersrclevel', parameterType: ParameterType.UINT8},
],
},
{
name: 'simpleDescRsp',
ID: 132,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'len', parameterType: ParameterType.UINT8},
{name: 'endpoint', parameterType: ParameterType.UINT8},
{name: 'profileid', parameterType: ParameterType.UINT16},
{name: 'deviceid', parameterType: ParameterType.UINT16},
{name: 'deviceversion', parameterType: ParameterType.UINT8},
{name: 'numinclusters', parameterType: ParameterType.UINT8},
{name: 'inclusterlist', parameterType: ParameterType.LIST_UINT16},
{name: 'numoutclusters', parameterType: ParameterType.UINT8},
{name: 'outclusterlist', parameterType: ParameterType.LIST_UINT16},
],
},
{
name: 'activeEpRsp',
ID: 133,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'activeepcount', parameterType: ParameterType.UINT8},
{name: 'activeeplist', parameterType: ParameterType.LIST_UINT8},
],
},
{
name: 'matchDescRsp',
ID: 134,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'matchlength', parameterType: ParameterType.UINT8},
{name: 'matchlist', parameterType: ParameterType.BUFFER},
],
},
{
name: 'complexDescRsp',
ID: 135,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'complexlength', parameterType: ParameterType.UINT8},
{name: 'complexdesclist', parameterType: ParameterType.BUFFER},
],
},
{
name: 'userDescRsp',
ID: 136,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'userlength', parameterType: ParameterType.UINT8},
{name: 'userdescriptor', parameterType: ParameterType.BUFFER},
],
},
{
name: 'userDescConf',
ID: 137,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
],
},
{
name: 'serverDiscRsp',
ID: 138,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'servermask', parameterType: ParameterType.UINT16},
],
},
{
name: 'endDeviceBindRsp',
ID: 160,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'bindRsp',
ID: 161,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'unbindRsp',
ID: 162,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'mgmtNwkDiscRsp',
ID: 176,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'networkcount', parameterType: ParameterType.UINT8},
{name: 'startindex', parameterType: ParameterType.UINT8},
{name: 'networklistcount', parameterType: ParameterType.UINT8},
{name: 'networklist', parameterType: ParameterType.LIST_NETWORK},
],
},
{
name: 'mgmtLqiRsp',
ID: 177,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'neighbortableentries', parameterType: ParameterType.UINT8},
{name: 'startindex', parameterType: ParameterType.UINT8},
{name: 'neighborlqilistcount', parameterType: ParameterType.UINT8},
{name: 'neighborlqilist', parameterType: ParameterType.LIST_NEIGHBOR_LQI},
],
},
{
name: 'mgmtRtgRsp',
ID: 178,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'routingtableentries', parameterType: ParameterType.UINT8},
{name: 'startindex', parameterType: ParameterType.UINT8},
{name: 'routingtablelistcount', parameterType: ParameterType.UINT8},
{name: 'routingtablelist', parameterType: ParameterType.LIST_ROUTING_TABLE},
],
},
{
name: 'mgmtBindRsp',
ID: 179,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'bindingtableentries', parameterType: ParameterType.UINT8},
{name: 'startindex', parameterType: ParameterType.UINT8},
{name: 'bindingtablelistcount', parameterType: ParameterType.UINT8},
{name: 'bindingtablelist', parameterType: ParameterType.LIST_BIND_TABLE},
],
},
{
name: 'mgmtLeaveRsp',
ID: 180,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'mgmtDirectJoinRsp',
ID: 181,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'mgmtPermitJoinRsp',
ID: 182,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'stateChangeInd',
ID: 192,
type: CommandType.AREQ,
request: [
{name: 'state', parameterType: ParameterType.UINT8},
],
},
{
name: 'endDeviceAnnceInd',
ID: 193,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'ieeeaddr', parameterType: ParameterType.IEEEADDR},
{name: 'capabilities', parameterType: ParameterType.UINT8},
],
},
{
name: 'matchDescRspSent',
ID: 194,
type: CommandType.AREQ,
request: [
{name: 'nwkaddr', 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},
],
},
{
name: 'statusErrorRsp',
ID: 195,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'srcRtgInd',
ID: 196,
type: CommandType.AREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'relaycount', parameterType: ParameterType.UINT8},
{name: 'relaylist', parameterType: ParameterType.LIST_UINT16},
],
},
{
name: 'beacon_notify_ind',
ID: 197,
type: CommandType.AREQ,
request: [
{name: 'beaconcount', parameterType: ParameterType.UINT8},
{name: 'beaconlist', parameterType: ParameterType.BUFFER}, // FIXME
],
},
{
name: 'joinCnf',
ID: 198,
type: CommandType.AREQ,
request: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'deviceaddress', parameterType: ParameterType.UINT16},
{name: 'parentaddress', parameterType: ParameterType.UINT16},
],
},
{
name: 'nwkDiscoveryCnf',
ID: 199,
type: CommandType.AREQ,
request: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'concentratorIndCb',
ID: 200,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
{name: 'pktCost', parameterType: ParameterType.UINT8},
],
},
{
name: 'leaveInd',
ID: 201,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
{name: 'request', parameterType: ParameterType.UINT8},
{name: 'removechildren', parameterType: ParameterType.UINT8},
{name: 'rejoin', parameterType: ParameterType.UINT8},
],
},
{
name: 'setRejoinParametersReq',
ID: 204,
type: CommandType.SREQ,
request: [
{name: 'backoffduration', parameterType: ParameterType.UINT32},
{name: 'scanduration', parameterType: ParameterType.UINT32},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'msgCbIncoming',
ID: 255,
type: CommandType.AREQ,
request: [
{name: 'srcaddr', parameterType: ParameterType.UINT16},
{name: 'wasbroadcast', parameterType: ParameterType.UINT8},
{name: 'clusterid', parameterType: ParameterType.UINT16},
{name: 'securityuse', parameterType: ParameterType.UINT8},
{name: 'seqnum', parameterType: ParameterType.UINT8},
{name: 'macdstaddr', parameterType: ParameterType.UINT16},
{name: 'msgdata', parameterType: ParameterType.BUFFER}, // FIXME
],
},
{
name: 'endDeviceTimeoutReq',
ID: 13,
type: CommandType.SREQ,
request: [
{name: 'parentaddr', parameterType: ParameterType.UINT16},
{name: 'reqrimeout', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'sendData',
ID: 40,
type: CommandType.SREQ,
request: [
{name: 'shortaddr', parameterType: ParameterType.UINT16},
{name: 'transseq', parameterType: ParameterType.UINT8},
{name: 'cmd', parameterType: ParameterType.UINT16},
{name: 'len', parameterType: ParameterType.UINT8},
{name: 'buf', parameterType: ParameterType.BUFFER},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'nwkAddrOfInterestReq',
ID: 41,
type: CommandType.SREQ,
request: [
{name: 'shortaddr', parameterType: ParameterType.UINT16},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'cmd', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'secAddLinkKey',
ID: 66,
type: CommandType.SREQ,
request: [
{name: 'shortaddr', parameterType: ParameterType.UINT16},
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
{name: 'linkkey', parameterType: ParameterType.BUFFER},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'secEntryLookupExt',
ID: 67,
type: CommandType.SREQ,
request: [
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'ami', parameterType: ParameterType.UINT16},
{name: 'keynvid', parameterType: ParameterType.UINT16},
{name: 'authenticateoption', parameterType: ParameterType.UINT8},
],
},
{
name: 'secDeviceRemove',
ID: 68,
type: CommandType.SREQ,
request: [
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'extRouteDisc',
ID: 69,
type: CommandType.SREQ,
request: [
{name: 'dstAddr', parameterType: ParameterType.UINT16},
{name: 'options', parameterType: ParameterType.UINT8},
{name: 'radius', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'extRouteCheck',
ID: 70,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'rtstatus', parameterType: ParameterType.UINT8},
{name: 'options', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'extRemoveGroup',
ID: 71,
type: CommandType.SREQ,
request: [
{name: 'endpoint', parameterType: ParameterType.UINT8},
{name: 'groupid', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'extRemoveAllGroup',
ID: 72,
type: CommandType.SREQ,
request: [
{name: 'endpoint', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'extFindAllGroupsEndpoint',
ID: 73,
type: CommandType.SREQ,
request: [
{name: 'endpoint', parameterType: ParameterType.UINT8},
],
response: [
{name: 'groups', parameterType: ParameterType.UINT8},
{name: 'grouplist', parameterType: ParameterType.LIST_UINT16},
],
},
{
name: 'extFindGroup',
ID: 74,
type: CommandType.SREQ,
request: [
{name: 'endpoint', parameterType: ParameterType.UINT8},
{name: 'groupid', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'groupid', parameterType: ParameterType.UINT16},
{name: 'namelen', parameterType: ParameterType.UINT8},
{name: 'groupname', parameterType: ParameterType.BUFFER},
],
},
{
name: 'extAddGroup',
ID: 75,
type: CommandType.SREQ,
request: [
{name: 'endpoint', parameterType: ParameterType.UINT8},
{name: 'groupid', parameterType: ParameterType.UINT16},
{name: 'namelen', parameterType: ParameterType.UINT8},
{name: 'groupname', parameterType: ParameterType.BUFFER},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'extCountAllGroups',
ID: 76,
type: CommandType.SREQ,
request: [
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'extRxIdle',
ID: 77,
type: CommandType.SREQ,
request: [
{name: 'setflag', parameterType: ParameterType.UINT8},
{name: 'setvalue', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'extUpdateNwkKey',
ID: 78,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'keyseqnum', parameterType: ParameterType.UINT8},
{name: 'key', parameterType: ParameterType.BUFFER},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'extSwitchNwkKey',
ID: 79,
type: CommandType.SREQ,
request: [
{name: 'dstaddr', parameterType: ParameterType.UINT16},
{name: 'keyseqnum', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'extNwkInfo',
ID: 80,
type: CommandType.SREQ,
request: [
],
response: [
{name: 'shortaddr', parameterType: ParameterType.UINT16},
{name: 'devstate', parameterType: ParameterType.UINT8},
{name: 'panid', parameterType: ParameterType.UINT16},
{name: 'parentaddr', parameterType: ParameterType.UINT16},
{name: 'extendedpanid', parameterType: ParameterType.IEEEADDR},
{name: 'parentextaddr', parameterType: ParameterType.IEEEADDR},
{name: 'channel', parameterType: ParameterType.UINT8},
],
},
{
name: 'extSecApsRemoveReq',
ID: 81,
type: CommandType.SREQ,
request: [
{name: 'parentaddr', parameterType: ParameterType.UINT16},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'forceConcentratorChange',
ID: 82,
type: CommandType.SREQ,
request: [
],
response: [
],
},
{
name: 'extSetParams',
ID: 83,
type: CommandType.SREQ,
request: [
{name: 'usemulticast', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'tcDeviceInd',
ID: 202,
type: CommandType.AREQ,
request: [
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
{name: 'parentaddr', parameterType: ParameterType.UINT16},
],
},
{
name: 'permitJoinInd',
ID: 203,
type: CommandType.AREQ,
request: [
{name: 'duration', parameterType: ParameterType.UINT8},
],
},
],
[Subsystem.SAPI]: [
{
name: 'systemReset',
ID: 9,
type: CommandType.AREQ,
request: [
],
},
{
name: 'startRequest',
ID: 0,
type: CommandType.SREQ,
request: [
],
response: [
],
},
{
name: 'bindDevice',
ID: 1,
type: CommandType.SREQ,
request: [
{name: 'action', parameterType: ParameterType.UINT8},
{name: 'commandid', parameterType: ParameterType.UINT16},
{name: 'destination', parameterType: ParameterType.IEEEADDR},
],
response: [
],
},
{
name: 'allowBind',
ID: 2,
type: CommandType.SREQ,
request: [
{name: 'timeout', parameterType: ParameterType.UINT8},
],
response: [
],
},
{
name: 'sendDataRequest',
ID: 3,
type: CommandType.SREQ,
request: [
{name: 'destination', parameterType: ParameterType.UINT16},
{name: 'commandid', parameterType: ParameterType.UINT16},
{name: 'handle', parameterType: ParameterType.UINT8},
{name: 'txoptions', parameterType: ParameterType.UINT8},
{name: 'radius', parameterType: ParameterType.UINT8},
{name: 'payloadlen', parameterType: ParameterType.UINT8},
{name: 'payloadvalue', parameterType: ParameterType.BUFFER},
],
response: [
],
},
{
name: 'readConfiguration',
ID: 4,
type: CommandType.SREQ,
request: [
{name: 'configid', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'configid', parameterType: ParameterType.UINT8},
{name: 'len', parameterType: ParameterType.UINT8},
{name: 'value', parameterType: ParameterType.BUFFER},
],
},
{
name: 'writeConfiguration',
ID: 5,
type: CommandType.SREQ,
request: [
{name: 'configid', parameterType: ParameterType.UINT8},
{name: 'len', parameterType: ParameterType.UINT8},
{name: 'value', parameterType: ParameterType.BUFFER},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'getDeviceInfo',
ID: 6,
type: CommandType.SREQ,
request: [
{name: 'param', parameterType: ParameterType.UINT8},
],
response: [
{name: 'param', parameterType: ParameterType.UINT8},
{name: 'value', parameterType: ParameterType.BUFFER8},
],
},
{
name: 'findDeviceRequest',
ID: 7,
type: CommandType.SREQ,
request: [
{name: 'searchKey', parameterType: ParameterType.IEEEADDR},
],
response: [
],
},
{
name: 'permitJoiningRequest',
ID: 8,
type: CommandType.SREQ,
request: [
{name: 'destination', parameterType: ParameterType.UINT16},
{name: 'timeout', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'startConfirm',
ID: 128,
type: CommandType.AREQ,
request: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'bindConfirm',
ID: 129,
type: CommandType.AREQ,
request: [
{name: 'commandid', parameterType: ParameterType.UINT16},
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'allowBindConfirm',
ID: 130,
type: CommandType.AREQ,
request: [
{name: 'source', parameterType: ParameterType.UINT16},
],
},
{
name: 'sendDataConfirm',
ID: 131,
type: CommandType.AREQ,
request: [
{name: 'handle', parameterType: ParameterType.UINT8},
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'findDeviceConfirm',
ID: 133,
type: CommandType.AREQ,
request: [
{name: 'searchtype', parameterType: ParameterType.UINT8},
{name: 'searchkey', parameterType: ParameterType.UINT16},
{name: 'result', parameterType: ParameterType.IEEEADDR},
],
},
{
name: 'receiveDataIndication',
ID: 135,
type: CommandType.AREQ,
request: [
{name: 'source', parameterType: ParameterType.UINT16},
{name: 'command', parameterType: ParameterType.UINT16},
{name: 'len', parameterType: ParameterType.UINT16},
{name: 'data', parameterType: ParameterType.BUFFER},
],
},
],
[Subsystem.UTIL]: [
{
name: 'getDeviceInfo',
ID: 0,
type: CommandType.SREQ,
request: [
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'ieeeaddr', parameterType: ParameterType.IEEEADDR},
{name: 'shortaddr', parameterType: ParameterType.UINT16},
{name: 'devicetype', parameterType: ParameterType.UINT8},
{name: 'devicestate', parameterType: ParameterType.UINT8},
{name: 'numassocdevices', parameterType: ParameterType.UINT8},
{name: 'assocdeviceslist', parameterType: ParameterType.LIST_UINT16},
],
},
{
name: 'getNvInfo',
ID: 1,
type: CommandType.SREQ,
request: [
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'ieeeaddr', parameterType: ParameterType.IEEEADDR},
{name: 'scanchannels', parameterType: ParameterType.UINT32},
{name: 'panid', parameterType: ParameterType.UINT16},
{name: 'securitylevel', parameterType: ParameterType.UINT8},
{name: 'preconfigkey', parameterType: ParameterType.BUFFER16},
],
},
{
name: 'setPanid',
ID: 2,
type: CommandType.SREQ,
request: [
{name: 'panid', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'setChannels',
ID: 3,
type: CommandType.SREQ,
request: [
{name: 'channels', parameterType: ParameterType.UINT32},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'setSeclevel',
ID: 4,
type: CommandType.SREQ,
request: [
{name: 'securitylevel', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'setPrecfgkey',
ID: 5,
type: CommandType.SREQ,
request: [
{name: 'preconfigkey', parameterType: ParameterType.BUFFER},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'callbackSubCmd',
ID: 6,
type: CommandType.SREQ,
request: [
{name: 'subsystemid', parameterType: ParameterType.UINT16},
{name: 'action', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'keyEvent',
ID: 7,
type: CommandType.SREQ,
request: [
{name: 'keys', parameterType: ParameterType.UINT8},
{name: 'shift', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'timeAlive',
ID: 9,
type: CommandType.SREQ,
request: [
],
response: [
{name: 'seconds', parameterType: ParameterType.UINT32},
],
},
{
name: 'ledControl',
ID: 10,
type: CommandType.SREQ,
request: [
{name: 'ledid', parameterType: ParameterType.UINT8},
{name: 'mode', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'testLoopback',
ID: 16,
type: CommandType.SREQ,
request: [
{name: 'data', parameterType: ParameterType.BUFFER},
],
response: [
{name: 'data', parameterType: ParameterType.BUFFER},
],
},
{
name: 'dataReq',
ID: 17,
type: CommandType.SREQ,
request: [
{name: 'securityuse', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'srcMatchEnable',
ID: 32,
type: CommandType.SREQ,
request: [
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'srcMatchAddEntry',
ID: 33,
type: CommandType.SREQ,
request: [
{name: 'addressmode', parameterType: ParameterType.UINT8},
{name: 'address', parameterType: ParameterType.IEEEADDR},
{name: 'panid', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'srcMatchDelEntry',
ID: 34,
type: CommandType.SREQ,
request: [
{name: 'addressmode', parameterType: ParameterType.UINT8},
{name: 'address', parameterType: ParameterType.IEEEADDR},
{name: 'panid', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'srcMatchCheckSrcAddr',
ID: 35,
type: CommandType.SREQ,
request: [
{name: 'addressmode', parameterType: ParameterType.UINT8},
{name: 'address', parameterType: ParameterType.IEEEADDR},
{name: 'panid', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'srcMatchAckAllPending',
ID: 36,
type: CommandType.SREQ,
request: [
{name: 'option', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'srcMatchCheckAllPending',
ID: 37,
type: CommandType.SREQ,
request: [
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'value', parameterType: ParameterType.UINT8},
],
},
{
name: 'addrmgrExtAddrLookup',
ID: 64,
type: CommandType.SREQ,
request: [
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
],
response: [
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
],
},
{
name: 'addrmgrNwkAddrLookup',
ID: 65,
type: CommandType.SREQ,
request: [
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
],
response: [
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
],
},
{
name: 'apsmeLinkKeyDataGet',
ID: 68,
type: CommandType.SREQ,
request: [
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'seckey', parameterType: ParameterType.BUFFER16},
{name: 'txfrmcntr', parameterType: ParameterType.UINT32},
{name: 'rxfrmcntr', parameterType: ParameterType.UINT32},
],
},
{
name: 'apsmeLinkKeyNvIdGet',
ID: 69,
type: CommandType.SREQ,
request: [
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'linkkeynvid', parameterType: ParameterType.UINT16},
],
},
{
name: 'assocCount',
ID: 72,
type: CommandType.SREQ,
request: [
{name: 'startrelation', parameterType: ParameterType.UINT8},
{name: 'endrelation', parameterType: ParameterType.UINT8},
],
response: [
{name: 'count', parameterType: ParameterType.UINT16},
],
},
{
name: 'assocFindDevice',
ID: 73,
type: CommandType.SREQ,
request: [
{name: 'number', parameterType: ParameterType.UINT8},
],
response: [
{name: 'device', parameterType: ParameterType.BUFFER18},
],
},
{
name: 'assocGetWithAddress',
ID: 74,
type: CommandType.SREQ,
request: [
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
],
response: [
{name: 'device', parameterType: ParameterType.BUFFER18},
],
},
{
name: 'apsmeRequestKeyCmd',
ID: 75,
type: CommandType.SREQ,
request: [
{name: 'partneraddr', parameterType: ParameterType.IEEEADDR},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
// Custom command
name: 'assocRemove',
ID: 99,
type: CommandType.SREQ,
request: [
{name: 'ieeeadr', parameterType: ParameterType.IEEEADDR},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'zclKeyEstInitEst',
ID: 128,
type: CommandType.SREQ,
request: [
{name: 'taskid', parameterType: ParameterType.UINT8},
{name: 'seqnum', parameterType: ParameterType.UINT8},
{name: 'endpoint', parameterType: ParameterType.UINT8},
{name: 'addrmode', parameterType: ParameterType.UINT8},
{name: 'extaddr', parameterType: ParameterType.IEEEADDR},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'zclKeyEstSign',
ID: 129,
type: CommandType.SREQ,
request: [
{name: 'inputlen', parameterType: ParameterType.UINT8},
{name: 'input', parameterType: ParameterType.BUFFER},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'key', parameterType: ParameterType.BUFFER42},
],
},
{
name: 'syncReq',
ID: 224,
type: CommandType.AREQ,
request: [
],
},
{
name: 'zclKeyEstablishInd',
ID: 225,
type: CommandType.AREQ,
request: [
{name: 'taskid', parameterType: ParameterType.UINT8},
{name: 'event', parameterType: ParameterType.UINT8},
{name: 'status', parameterType: ParameterType.UINT8},
{name: 'waittime', parameterType: ParameterType.UINT8},
{name: 'suite', parameterType: ParameterType.UINT16},
],
},
{
name: 'gpioSetDirection',
ID: 20,
type: CommandType.SREQ,
request: [
{name: 'port', parameterType: ParameterType.UINT8},
{name: 'bit', parameterType: ParameterType.UINT8},
{name: 'direction', parameterType: ParameterType.UINT8},
],
response: [
{name: 'oldp0dir', parameterType: ParameterType.UINT8},
{name: 'oldp1dir', parameterType: ParameterType.UINT8},
{name: 'oldp2dir', parameterType: ParameterType.UINT8},
{name: 'p0dir', parameterType: ParameterType.UINT8},
{name: 'p1dir', parameterType: ParameterType.UINT8},
{name: 'p2dir', parameterType: ParameterType.UINT8},
],
},
{
name: 'gpioRead',
ID: 21,
type: CommandType.SREQ,
request: [
],
response: [
{name: 'p0', parameterType: ParameterType.UINT8},
{name: 'p1', parameterType: ParameterType.UINT8},
{name: 'p2', parameterType: ParameterType.UINT8},
{name: 'p0dir', parameterType: ParameterType.UINT8},
{name: 'p1dir', parameterType: ParameterType.UINT8},
{name: 'p2dir', parameterType: ParameterType.UINT8},
],
},
{
name: 'gpioWrite',
ID: 22,
type: CommandType.SREQ,
request: [
{name: 'port', parameterType: ParameterType.UINT8},
{name: 'bit', parameterType: ParameterType.UINT8},
{name: 'value', parameterType: ParameterType.UINT8},
],
response: [
{name: 'oldp0', parameterType: ParameterType.UINT8},
{name: 'oldp1', parameterType: ParameterType.UINT8},
{name: 'oldp2', parameterType: ParameterType.UINT8},
{name: 'p0', parameterType: ParameterType.UINT8},
{name: 'p1', parameterType: ParameterType.UINT8},
{name: 'p2', parameterType: ParameterType.UINT8},
{name: 'p0dir', parameterType: ParameterType.UINT8},
{name: 'p1dir', parameterType: ParameterType.UINT8},
{name: 'p2dir', parameterType: ParameterType.UINT8},
],
},
{
name: 'srngGen',
ID: 76,
type: CommandType.SREQ,
request: [
],
response: [
{name: 'outrng', parameterType: ParameterType.BUFFER100},
],
},
{
name: 'bindAddEntry',
ID: 77,
type: CommandType.SREQ,
request: [
{name: 'addrmode', parameterType: ParameterType.UINT8},
{name: 'dstaddr', parameterType: ParameterType.IEEEADDR},
{name: 'dstendpoint', parameterType: ParameterType.UINT8},
{name: 'numclusterids', parameterType: ParameterType.UINT8},
{name: 'clusterids', parameterType: ParameterType.LIST_UINT16},
],
response: [
{name: 'srcep', parameterType: ParameterType.UINT8},
{name: 'dstgroupmode', parameterType: ParameterType.UINT8},
{name: 'dstidx', parameterType: ParameterType.UINT16},
{name: 'dstep', parameterType: ParameterType.UINT8},
{name: 'numclusterids', parameterType: ParameterType.UINT8},
{name: 'clusterids', parameterType: ParameterType.BUFFER8},
],
},
],
[Subsystem.DEBUG]: [
{
name: 'setThreshold',
ID: 0,
type: CommandType.SREQ,
request: [
{name: 'componentid', parameterType: ParameterType.UINT8},
{name: 'threshold', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'msg',
ID: 128,
type: CommandType.AREQ,
request: [
{name: 'length', parameterType: ParameterType.UINT8},
{name: 'string', parameterType: ParameterType.BUFFER},
],
},
],
[Subsystem.APP]: [
{
name: 'msg',
ID: 0,
type: CommandType.SREQ,
request: [
{name: 'appendpoint', parameterType: ParameterType.UINT8},
{name: 'destaddress', parameterType: ParameterType.UINT16},
{name: 'destendpoint', parameterType: ParameterType.UINT8},
{name: 'clusterid', parameterType: ParameterType.UINT16},
{name: 'msglen', parameterType: ParameterType.UINT8},
{name: 'message', parameterType: ParameterType.BUFFER},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'userTest',
ID: 1,
type: CommandType.SREQ,
request: [
{name: 'srcep', parameterType: ParameterType.UINT8},
{name: 'commandid', parameterType: ParameterType.UINT16},
{name: 'param1', parameterType: ParameterType.UINT16},
{name: 'param2', parameterType: ParameterType.UINT16},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'zllTlInd',
ID: 129,
type: CommandType.AREQ,
request: [
{name: 'nwkaddr', parameterType: ParameterType.UINT16},
{name: 'endpoint', parameterType: ParameterType.UINT8},
{name: 'profileid', parameterType: ParameterType.UINT16},
{name: 'deviceid', parameterType: ParameterType.UINT16},
{name: 'version', parameterType: ParameterType.UINT8},
],
},
],
[Subsystem.APP_CNF]: [
{
name: 'bdbStartCommissioning',
ID: 5,
type: CommandType.SREQ,
request: [
{name: 'mode', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'bdbSetChannel',
ID: 8,
type: CommandType.SREQ,
request: [
{name: 'isPrimary', parameterType: ParameterType.UINT8},
{name: 'channel', parameterType: ParameterType.UINT32},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
{
name: 'bdbComissioningNotifcation',
ID: 128,
type: CommandType.AREQ,
request: [
{name: 'status', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
],
[Subsystem.GREENPOWER]: [
{
name: 'secReq',
ID: 3,
type: CommandType.SREQ,
request: [
{name: 'applicationID', parameterType: ParameterType.UINT8},
{name: 'srcID', parameterType: ParameterType.UINT32},
{name: 'gdpIeeeAddr', parameterType: ParameterType.IEEEADDR},
{name: 'endpoint', parameterType: ParameterType.UINT8},
{name: 'gpdfSecurityLevel', parameterType: ParameterType.UINT8},
{name: 'gpdfSecurityFrameCounter', parameterType: ParameterType.UINT8},
{name: 'dgpStubHandle', parameterType: ParameterType.UINT8},
],
response: [
{name: 'status', parameterType: ParameterType.UINT8},
],
},
],
};
export default Definition;