zigbee-herdsman-zigate
Version:
An open source ZigBee gateway solution with node.js.
161 lines (149 loc) • 3.83 kB
text/typescript
/* istanbul ignore file */
/* eslint-disable */
const PARAM: {
[s: string]: {
[s: string]: number;
};
} = {
Network: {
NET_OFFLINE: 0x00,
NET_JOINING: 0x01,
NET_CONNECTED: 0x02,
NET_LEAVING: 0x03,
MAC: 0x01,
PAN_ID: 0x05,
NWK_ADDRESS: 0x07,
EXT_PAN_ID: 0x08,
CHANNEL_MASK: 0x0a,
APS_EXT_PAN_ID: 0x0b,
NETWORK_KEY: 0x18,
CHANNEL: 0x1c,
PERMIT_JOIN: 0x21,
WATCHDOG_TTL: 0x26
},
FrameType: {
ReadDeviceState: 0x07,
ReadParameter: 0x0a,
WriteParameter: 0x0b,
ReadFirmwareVersion: 0x0d,
DeviceStateChanged: 0x0e,
GreenPowerDataInd: 0x19
},
APS: {
DATA_CONFIRM: 0x04,
DATA_REQUEST: 0x12,
DATA_INDICATION: 0x17
},
NetworkState: {
NET_OFFLINE: 0x00,
NET_JOINING: 0x01,
NET_CONNECTED: 0x02,
NET_LEAVING: 0x03,
CHANGE_NETWORK_STATE: 0x08
},
addressMode: {
GROUP_ADDR: 0x01,
NWK_ADDR: 0x02,
IEEE_ADDR: 0x03,
},
txRadius: {
DEFAULT_RADIUS: 30,
UNLIMITED: 0
}
}
interface Request {
commandId?: number;
networkState?: number;
parameterId?: number;
parameter?: parameterT;
request?: ApsDataRequest;
seqNumber?: number;
resolve?: Function;
reject?: Function;
ts?: number;
}
interface WaitForDataRequest {
addr?: number;
profileId?: number;
clusterId?: number;
transactionSequenceNumber?: number;
resolve?: Function;
reject?: Function;
ts?: number;
}
interface ReceivedDataResponse {
commandId?: number;
seqNr?: number;
status?: number;
frameLength?: number;
payloadLength?: number;
deviceState?: number;
destAddrMode?: number;
destAddr16?: number;
destAddr64?: string;
destEndpoint?: number;
srcAddrMode?: number;
srcAddr16?: number;
srcAddr64?: string;
srcEndpoint?: number;
profileId?: number;
clusterId?: number;
asduLength?: number;
asduPayload?: number[];
lqi?: number;
rssi?: number;
}
interface gpDataInd {
rspId?: number;
seqNr?: number;
id?: number;
clusterId?: number;
options?: number;
srcId?: number;
frameCounter?: number;
commandId?: number;
commandFrameSize?: number;
commandFrame?: number[];
}
interface DataStateResponse {
commandId?: number;
seqNr?: number;
status?: number;
frameLength?: number;
payloadLength?: number;
deviceState?: number;
requestId?: number;
destAddrMode?: number;
destAddr16?: number;
destAddr64?: string;
destEndpoint?: number;
srcEndpoint?: number;
confirmStatus?: number;
}
interface ApsDataRequest {
requestId?: number;
destAddrMode?: number;
destAddr16?: number;
destAddr64?: string; //number[];
destEndpoint?: number;
profileId?: number;
clusterId?: number;
srcEndpoint?: number;
asduLength?: number;
asduPayload?: number[];
txOptions?: number;
radius?: number;
timeout?: number // seconds
}
type ParamMac = string;
type ParamPanId = number;
type ParamExtPanId = string;
type ParamNwkAddr = number;
type ParamChannel = number;
type ParamChannelMask = number;
type ParamPermitJoin = number;
type ParamNetworkKey = string;
type Command = ParamMac | ParamPanId | ParamNwkAddr | ParamExtPanId | ParamChannel | ParamChannelMask | ParamPermitJoin | ParamNetworkKey;
type parameterT = number | number[];
export { Request, WaitForDataRequest, ApsDataRequest, ReceivedDataResponse, DataStateResponse, parameterT , Command, ParamMac, ParamPanId, ParamNwkAddr, ParamExtPanId, ParamChannel, ParamChannelMask, ParamPermitJoin, ParamNetworkKey, gpDataInd };
export default {PARAM};