zigbee-herdsman
Version:
An open source ZigBee gateway solution with node.js.
381 lines • 16.3 kB
JavaScript
"use strict";
/* v8 ignore start */
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ZiGateCommand = void 0;
exports.equal = equal;
exports.notEqual = notEqual;
const constants_1 = require("./constants");
const parameterType_1 = __importDefault(require("./parameterType"));
function equal(expected, received) {
return expected === received;
}
function notEqual(expected, received) {
return expected !== received;
}
exports.ZiGateCommand = {
[constants_1.ZiGateCommandCode.SetDeviceType]: {
// 0x0023
request: [
{ name: "deviceType", parameterType: parameterType_1.default.UINT8 }, //<device type: uint8_t>
],
},
[constants_1.ZiGateCommandCode.StartNetwork]: {
// 0x0024
request: [],
response: [[{ receivedProperty: "code", matcher: equal, value: constants_1.ZiGateMessageCode.NetworkJoined }]],
},
[constants_1.ZiGateCommandCode.StartNetworkScan]: {
request: [],
},
[constants_1.ZiGateCommandCode.GetNetworkState]: {
// 0x0009
request: [],
response: [[{ receivedProperty: "code", matcher: equal, value: constants_1.ZiGateMessageCode.NetworkState }]],
},
[constants_1.ZiGateCommandCode.GetTimeServer]: {
// 0x0017
request: [],
},
[constants_1.ZiGateCommandCode.ErasePersistentData]: {
// 0x0012
request: [],
response: [
[
{
receivedProperty: "code",
matcher: equal,
value: constants_1.ZiGateMessageCode.RestartFactoryNew,
},
],
],
waitStatus: false,
},
[constants_1.ZiGateCommandCode.Reset]: {
// 0x0011
request: [],
response: [
[
{
receivedProperty: "code",
matcher: equal,
value: constants_1.ZiGateMessageCode.RestartNonFactoryNew,
},
],
[
{
receivedProperty: "code",
matcher: equal,
value: constants_1.ZiGateMessageCode.RestartFactoryNew,
},
],
],
waitStatus: false,
},
[constants_1.ZiGateCommandCode.SetTXpower]: {
// SetTXpower
request: [{ name: "value", parameterType: parameterType_1.default.UINT8 }],
},
// [ZiGateCommandCode.ManagementLQI]: {
// // 0x004E
// request: [
// {name: 'targetAddress', parameterType: ParameterType.UINT16}, //<Target Address : uint16_t> Status
// {name: 'startIndex', parameterType: ParameterType.UINT8}, //<Start Index : uint8_t>
// ],
// response: [
// [
// {
// receivedProperty: 'code',
// matcher: equal,
// value: ZiGateMessageCode.DataIndication,
// },
// {
// receivedProperty: 'payload.sourceAddress',
// matcher: equal,
// expectedProperty: 'payload.targetAddress',
// },
// {
// receivedProperty: 'payload.clusterID',
// matcher: equal,
// value: 0x8031,
// },
// ],
// ],
// },
[constants_1.ZiGateCommandCode.SetSecurityStateKey]: {
// 0x0022
request: [
{ name: "keyType", parameterType: parameterType_1.default.UINT8 }, // <key type: uint8_t>
{ name: "key", parameterType: parameterType_1.default.BUFFER }, // <key: data>
],
},
[constants_1.ZiGateCommandCode.GetVersion]: {
request: [],
response: [[{ receivedProperty: "code", matcher: equal, value: constants_1.ZiGateMessageCode.VersionList }]],
},
[constants_1.ZiGateCommandCode.RawMode]: {
request: [{ name: "enabled", parameterType: parameterType_1.default.INT8 }],
},
[constants_1.ZiGateCommandCode.SetExtendedPANID]: {
request: [
{ name: "panId", parameterType: parameterType_1.default.BUFFER }, //<64-bit Extended PAN ID:uint64_t>
],
},
[constants_1.ZiGateCommandCode.SetChannelMask]: {
request: [
{ name: "channelMask", parameterType: parameterType_1.default.UINT32 }, //<channel mask:uint32_t>
],
},
// [ZiGateCommandCode.ManagementLeaveRequest]: {
// request: [
// {name: 'shortAddress', parameterType: ParameterType.UINT16},
// {name: 'extendedAddress', parameterType: ParameterType.IEEEADDR}, // <extended address: uint64_t>
// {name: 'rejoin', parameterType: ParameterType.UINT8},
// {name: 'removeChildren', parameterType: ParameterType.UINT8}, // <Remove Children: uint8_t>
// ],
// response: [
// [
// {
// receivedProperty: 'code',
// matcher: equal,
// value: ZiGateMessageCode.LeaveIndication,
// },
// {
// receivedProperty: 'payload.extendedAddress',
// matcher: equal,
// expectedProperty: 'payload.extendedAddress',
// },
// ],
// [
// {
// receivedProperty: 'code',
// matcher: equal,
// value: ZiGateMessageCode.ManagementLeaveResponse,
// },
// {
// receivedProperty: 'payload.sqn',
// matcher: equal,
// expectedProperty: 'status.seqApsNum',
// },
// ],
// ],
// },
[constants_1.ZiGateCommandCode.RemoveDevice]: {
request: [
{ name: "parentAddress", parameterType: parameterType_1.default.IEEEADDR }, // <parent address: uint64_t>
{ name: "extendedAddress", parameterType: parameterType_1.default.IEEEADDR }, // <extended address: uint64_t>
],
response: [
[
{
receivedProperty: "code",
matcher: equal,
value: constants_1.ZiGateMessageCode.LeaveIndication,
},
{
receivedProperty: "payload.extendedAddress",
matcher: equal,
expectedProperty: "payload.extendedAddress",
},
],
],
},
// [ZiGateCommandCode.PermitJoin]: {
// request: [
// {name: 'targetShortAddress', parameterType: ParameterType.UINT16}, //<target short address: uint16_t> -
// // broadcast 0xfffc
// {name: 'interval', parameterType: ParameterType.UINT8}, //<interval: uint8_t>
// // 0 = Disable Joining
// // 1 – 254 = Time in seconds to allow joins
// // 255 = Allow all joins
// // {name: 'TCsignificance', parameterType: ParameterType.UINT8}, //<TCsignificance: uint8_t>
// // 0 = No change in authentication
// // 1 = Authentication policy as spec
// ],
// },
[constants_1.ZiGateCommandCode.PermitJoinStatus]: {
request: [
{ name: "targetShortAddress", parameterType: parameterType_1.default.UINT16 }, //<target short address: uint16_t> -
// broadcast 0xfffc
{ name: "interval", parameterType: parameterType_1.default.UINT8 }, //<interval: uint8_t>
// 0 = Disable Joining
// 1 – 254 = Time in seconds to allow joins
// 255 = Allow all joins
{ name: "TCsignificance", parameterType: parameterType_1.default.UINT8 }, //<TCsignificance: uint8_t>
// 0 = No change in authentication
// 1 = Authentication policy as spec
],
response: [[{ receivedProperty: "code", matcher: equal, value: constants_1.ZiGateMessageCode.PermitJoinStatus }]],
},
[constants_1.ZiGateCommandCode.RawAPSDataRequest]: {
request: [
{ name: "addressMode", parameterType: parameterType_1.default.UINT8 }, // <address mode: uint8_t>
{ name: "targetShortAddress", parameterType: parameterType_1.default.UINT16 }, // <target short address: uint16_t>
{ name: "sourceEndpoint", parameterType: parameterType_1.default.UINT8 }, // <source endpoint: uint8_t>
{ name: "destinationEndpoint", parameterType: parameterType_1.default.UINT8 }, // <destination endpoint: uint8_t>
{ name: "clusterID", parameterType: parameterType_1.default.UINT16 }, // <cluster ID: uint16_t>
{ name: "profileID", parameterType: parameterType_1.default.UINT16 }, // <profile ID: uint16_t>
{ name: "securityMode", parameterType: parameterType_1.default.UINT8 }, // <security mode: uint8_t>
{ name: "radius", parameterType: parameterType_1.default.UINT8 }, // <radius: uint8_t>
{ name: "dataLength", parameterType: parameterType_1.default.UINT8 }, // <data length: uint8_t>
{ name: "data", parameterType: parameterType_1.default.BUFFER }, // <data: auint8_t>
],
},
// [ZiGateCommandCode.NodeDescriptor]: {
// request: [
// {name: 'targetShortAddress', parameterType: ParameterType.UINT16}, // <target short address: uint16_t>
// ],
// response: [
// [
// {
// receivedProperty: 'code',
// matcher: equal,
// value: ZiGateMessageCode.DataIndication,
// },
// {
// receivedProperty: 'payload.sourceAddress',
// matcher: equal,
// expectedProperty: 'payload.targetShortAddress',
// },
// {
// receivedProperty: 'payload.clusterID',
// matcher: equal,
// value: 0x8002,
// },
// ],
// ],
// },
// [ZiGateCommandCode.ActiveEndpoint]: {
// request: [
// {name: 'targetShortAddress', parameterType: ParameterType.UINT16}, // <target short address: uint16_t>
// ],
// response: [
// [
// {
// receivedProperty: 'code',
// matcher: equal,
// value: ZiGateMessageCode.DataIndication,
// },
// {
// receivedProperty: 'payload.sourceAddress',
// matcher: equal,
// expectedProperty: 'payload.targetShortAddress',
// },
// {
// receivedProperty: 'payload.clusterID',
// matcher: equal,
// value: 0x8005,
// },
// ],
// ],
// },
// [ZiGateCommandCode.SimpleDescriptor]: {
// request: [
// {name: 'targetShortAddress', parameterType: ParameterType.UINT16}, // <target short address: uint16_t>
// {name: 'endpoint', parameterType: ParameterType.UINT8}, // <endpoint: uint8_t>
// ],
// response: [
// [
// {receivedProperty: 'code', matcher: equal, value: ZiGateMessageCode.DataIndication},
// {
// receivedProperty: 'payload.sourceAddress',
// matcher: equal,
// expectedProperty: 'payload.targetShortAddress',
// },
// {
// receivedProperty: 'payload.clusterID',
// matcher: equal,
// value: 0x8004,
// },
// ],
// ],
// },
// [ZiGateCommandCode.Bind]: {
// request: [
// {name: 'targetExtendedAddress', parameterType: ParameterType.IEEEADDR}, // <target extended address: uint64_t>
// {name: 'targetEndpoint', parameterType: ParameterType.UINT8}, // <target endpoint: uint8_t>
// {name: 'clusterID', parameterType: ParameterType.UINT16}, // <cluster ID: uint16_t>
// {name: 'destinationAddressMode', parameterType: ParameterType.UINT8}, // <destination address mode: uint8_t>
// {
// name: 'destinationAddress',
// parameterType: ParameterType.ADDRESS_WITH_TYPE_DEPENDENCY,
// }, // <destination address:uint16_t or uint64_t>
// {name: 'destinationEndpoint', parameterType: ParameterType.UINT8}, // <destination endpoint (
// // value ignored for group address): uint8_t>
// ],
// response: [
// [
// {
// receivedProperty: 'code',
// matcher: equal,
// value: ZiGateMessageCode.DataIndication,
// },
// {
// receivedProperty: 'payload.sourceAddress',
// matcher: equal,
// expectedExtraParameter: 'destinationNetworkAddress',
// },
// {
// receivedProperty: 'payload.clusterID',
// matcher: equal,
// value: 0x8021,
// },
// {
// receivedProperty: 'payload.profileID',
// matcher: equal,
// value: 0x0000,
// },
// ],
// ],
// },
// [ZiGateCommandCode.UnBind]: {
// request: [
// {name: 'targetExtendedAddress', parameterType: ParameterType.IEEEADDR}, // <target extended address: uint64_t>
// {name: 'targetEndpoint', parameterType: ParameterType.UINT8}, // <target endpoint: uint8_t>
// {name: 'clusterID', parameterType: ParameterType.UINT16}, // <cluster ID: uint16_t>
// {name: 'destinationAddressMode', parameterType: ParameterType.UINT8}, // <destination address mode: uint8_t>
// {
// name: 'destinationAddress',
// parameterType: ParameterType.ADDRESS_WITH_TYPE_DEPENDENCY,
// }, // <destination address:uint16_t or uint64_t>
// {name: 'destinationEndpoint', parameterType: ParameterType.UINT8}, // <destination endpoint (
// // value ignored for group address): uint8_t>
// ],
// response: [
// [
// {
// receivedProperty: 'code',
// matcher: equal,
// value: ZiGateMessageCode.DataIndication,
// },
// {
// receivedProperty: 'payload.sourceAddress',
// matcher: equal,
// expectedExtraParameter: 'destinationNetworkAddress',
// },
// {
// receivedProperty: 'payload.clusterID',
// matcher: equal,
// value: 0x8022,
// },
// {
// receivedProperty: 'payload.profileID',
// matcher: equal,
// value: 0x0000,
// },
// ],
// ],
// },
[constants_1.ZiGateCommandCode.AddGroup]: {
request: [
{ name: "addressMode", parameterType: parameterType_1.default.UINT8 }, //<device type: uint8_t>
{ name: "shortAddress", parameterType: parameterType_1.default.UINT16 },
{ name: "sourceEndpoint", parameterType: parameterType_1.default.UINT8 },
{ name: "destinationEndpoint", parameterType: parameterType_1.default.UINT8 },
{ name: "groupAddress", parameterType: parameterType_1.default.UINT16 },
],
},
};
//# sourceMappingURL=commandType.js.map