UNPKG

zigbee-herdsman

Version:

An open source ZigBee gateway solution with node.js.

270 lines 11.1 kB
"use strict"; /* eslint max-len: 0 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.Foundation = void 0; const enums_1 = require("./enums"); const status_1 = require("./status"); exports.Foundation = { /** Read Attributes */ read: { ID: 0x00, parseStrategy: 'repetitive', parameters: [{ name: 'attrId', type: enums_1.DataType.UINT16 }], response: 0x01, // readRsp }, /** Read Attributes Response */ readRsp: { ID: 0x01, parseStrategy: 'repetitive', parameters: [ { name: 'attrId', type: enums_1.DataType.UINT16 }, { name: 'status', type: enums_1.DataType.UINT8 }, { name: 'dataType', type: enums_1.DataType.UINT8, conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }] }, { name: 'attrData', type: enums_1.BuffaloZclDataType.USE_DATA_TYPE, conditions: [{ type: enums_1.ParameterCondition.STATUS_EQUAL, value: status_1.Status.SUCCESS }] }, ], }, /** Write Attributes */ write: { ID: 0x02, parseStrategy: 'repetitive', parameters: [ { name: 'attrId', type: enums_1.DataType.UINT16 }, { name: 'dataType', type: enums_1.DataType.UINT8 }, { name: 'attrData', type: enums_1.BuffaloZclDataType.USE_DATA_TYPE }, ], response: 0x04, // writeRsp }, /** Write Attributes Undivided */ writeUndiv: { ID: 0x03, parseStrategy: 'repetitive', parameters: [ { name: 'attrId', type: enums_1.DataType.UINT16 }, { name: 'dataType', type: enums_1.DataType.UINT8 }, { name: 'attrData', type: enums_1.BuffaloZclDataType.USE_DATA_TYPE }, ], }, /** Write Attributes Response */ writeRsp: { ID: 0x04, parseStrategy: 'repetitive', parameters: [ { name: 'status', type: enums_1.DataType.UINT8 }, { name: 'attrId', type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.STATUS_NOT_EQUAL, value: status_1.Status.SUCCESS }] }, ], }, /** Write Attributes No Response */ writeNoRsp: { ID: 0x05, parseStrategy: 'repetitive', parameters: [ { name: 'attrId', type: enums_1.DataType.UINT16 }, { name: 'dataType', type: enums_1.DataType.UINT8 }, { name: 'attrData', type: enums_1.BuffaloZclDataType.USE_DATA_TYPE }, ], }, /** Configure Reporting */ configReport: { ID: 0x06, parseStrategy: 'repetitive', parameters: [ { name: 'direction', type: enums_1.DataType.UINT8 }, { name: 'attrId', type: enums_1.DataType.UINT16 }, { name: 'dataType', type: enums_1.DataType.UINT8, conditions: [{ type: enums_1.ParameterCondition.DIRECTION_EQUAL, value: enums_1.Direction.CLIENT_TO_SERVER }] }, { name: 'minRepIntval', type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.DIRECTION_EQUAL, value: enums_1.Direction.CLIENT_TO_SERVER }], }, { name: 'maxRepIntval', type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.DIRECTION_EQUAL, value: enums_1.Direction.CLIENT_TO_SERVER }], }, { name: 'repChange', type: enums_1.BuffaloZclDataType.USE_DATA_TYPE, conditions: [ { type: enums_1.ParameterCondition.DIRECTION_EQUAL, value: enums_1.Direction.CLIENT_TO_SERVER }, { type: enums_1.ParameterCondition.DATA_TYPE_CLASS_EQUAL, value: enums_1.DataTypeClass.ANALOG }, ], }, { name: 'timeout', type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.DIRECTION_EQUAL, value: enums_1.Direction.SERVER_TO_CLIENT }] }, ], response: 0x07, // configReportRsp }, /** Configure Reporting Response */ configReportRsp: { ID: 0x07, parseStrategy: 'repetitive', parameters: [ { name: 'status', type: enums_1.DataType.UINT8 }, // minimumRemainingBufferBytes: if direction is present, attrId is also present // https://github.com/Koenkk/zigbee-herdsman/pull/115 { name: 'direction', type: enums_1.DataType.UINT8, conditions: [{ type: enums_1.ParameterCondition.MINIMUM_REMAINING_BUFFER_BYTES, value: 3 }] }, { name: 'attrId', type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.MINIMUM_REMAINING_BUFFER_BYTES, value: 2 }] }, ], }, /** Read Reporting Configuration */ readReportConfig: { ID: 0x08, parseStrategy: 'repetitive', parameters: [ { name: 'direction', type: enums_1.DataType.UINT8 }, { name: 'attrId', type: enums_1.DataType.UINT16 }, ], }, /** Read Reporting Configuration Response */ readReportConfigRsp: { ID: 0x09, parseStrategy: 'repetitive', parameters: [ { name: 'direction', type: enums_1.DataType.UINT8 }, { name: 'attrId', type: enums_1.DataType.UINT16 }, { name: 'dataType', type: enums_1.DataType.UINT8, conditions: [{ type: enums_1.ParameterCondition.DIRECTION_EQUAL, value: enums_1.Direction.CLIENT_TO_SERVER }] }, { name: 'minRepIntval', type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.DIRECTION_EQUAL, value: enums_1.Direction.CLIENT_TO_SERVER }], }, { name: 'maxRepIntval', type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.DIRECTION_EQUAL, value: enums_1.Direction.CLIENT_TO_SERVER }], }, { name: 'repChange', type: enums_1.BuffaloZclDataType.USE_DATA_TYPE, conditions: [ { type: enums_1.ParameterCondition.DIRECTION_EQUAL, value: enums_1.Direction.CLIENT_TO_SERVER }, { type: enums_1.ParameterCondition.DATA_TYPE_CLASS_EQUAL, value: enums_1.DataTypeClass.ANALOG }, ], }, { name: 'timeout', type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.DIRECTION_EQUAL, value: enums_1.Direction.SERVER_TO_CLIENT }] }, ], }, /** Report attributes */ report: { ID: 0x0a, parseStrategy: 'repetitive', parameters: [ { name: 'attrId', type: enums_1.DataType.UINT16 }, { name: 'dataType', type: enums_1.DataType.UINT8 }, { name: 'attrData', type: enums_1.BuffaloZclDataType.USE_DATA_TYPE }, ], }, /** Default Response */ defaultRsp: { ID: 0x0b, parseStrategy: 'flat', parameters: [ { name: 'cmdId', type: enums_1.DataType.UINT8 }, { name: 'statusCode', type: enums_1.DataType.UINT8 }, ], }, /** Discover Attributes */ discover: { ID: 0x0c, parseStrategy: 'flat', parameters: [ { name: 'startAttrId', type: enums_1.DataType.UINT16 }, { name: 'maxAttrIds', type: enums_1.DataType.UINT8 }, ], }, /** Discover Attributes Response */ discoverRsp: { ID: 0x0d, parseStrategy: 'oneof', parameters: [ { name: 'attrId', type: enums_1.DataType.UINT16 }, { name: 'dataType', type: enums_1.DataType.UINT8 }, ], }, /** Read Attributes Structured */ readStructured: { ID: 0x0e, parseStrategy: 'repetitive', parameters: [ { name: 'attrId', type: enums_1.DataType.UINT16 }, { name: 'selector', type: enums_1.BuffaloZclDataType.STRUCTURED_SELECTOR }, ], }, /** Write Attributes Structured */ writeStructured: { ID: 0x0f, parseStrategy: 'repetitive', parameters: [ { name: 'attrId', type: enums_1.DataType.UINT16 }, { name: 'selector', type: enums_1.BuffaloZclDataType.STRUCTURED_SELECTOR }, { name: 'dataType', type: enums_1.DataType.UINT8 }, { name: 'elementData', type: enums_1.BuffaloZclDataType.USE_DATA_TYPE }, ], response: 0x10, // writeStructuredRsp }, /** Write Attributes Structured response */ writeStructuredRsp: { ID: 0x10, parseStrategy: 'repetitive', // contains only one SUCCESS record for all written attributes if all written successfully parameters: [ { name: 'status', type: enums_1.DataType.UINT8 }, { name: 'attrId', type: enums_1.DataType.UINT16, conditions: [{ type: enums_1.ParameterCondition.STATUS_NOT_EQUAL, value: status_1.Status.SUCCESS }] }, // always one zero-octet if failed attribute not of type array or structure, otherwise can also be zero if no info on which element caused failure { name: 'selector', type: enums_1.BuffaloZclDataType.STRUCTURED_SELECTOR, conditions: [{ type: enums_1.ParameterCondition.STATUS_NOT_EQUAL, value: status_1.Status.SUCCESS }], }, ], }, /** Discover Commands Received */ discoverCommands: { ID: 0x11, parseStrategy: 'flat', parameters: [ { name: 'startCmdId', type: enums_1.DataType.UINT8 }, { name: 'maxCmdIds', type: enums_1.DataType.UINT8 }, ], }, /** Discover Commands Received Response */ discoverCommandsRsp: { ID: 0x12, parseStrategy: 'oneof', parameters: [{ name: 'cmdId', type: enums_1.DataType.UINT8 }], }, /** Discover Commands Generated */ discoverCommandsGen: { ID: 0x13, parseStrategy: 'flat', parameters: [ { name: 'startCmdId', type: enums_1.DataType.UINT8 }, { name: 'maxCmdIds', type: enums_1.DataType.UINT8 }, ], }, /** Discover Commands Generated Response */ discoverCommandsGenRsp: { ID: 0x14, parseStrategy: 'oneof', parameters: [{ name: 'cmdId', type: enums_1.DataType.UINT8 }], }, /** Discover Attributes Extended */ discoverExt: { ID: 0x15, parseStrategy: 'flat', parameters: [ { name: 'startAttrId', type: enums_1.DataType.UINT16 }, { name: 'maxAttrIds', type: enums_1.DataType.UINT8 }, ], }, /** Discover Attributes Extended Response */ discoverExtRsp: { ID: 0x16, parseStrategy: 'oneof', parameters: [ { name: 'attrId', type: enums_1.DataType.UINT16 }, { name: 'dataType', type: enums_1.DataType.UINT8 }, { name: 'access', type: enums_1.DataType.UINT8 }, ], }, }; //# sourceMappingURL=foundation.js.map