zigbee-herdsman-zigate
Version:
An open source ZigBee gateway solution with node.js.
45 lines • 1.65 kB
TypeScript
/// <reference types="node" />
import { Direction, FrameControl } from './definition';
import * as TsType from './tstype';
import { FrameType } from './definition';
declare type ZclPayload = any;
interface ZclHeader {
frameControl: FrameControl;
manufacturerCode: number;
transactionSequenceNumber: number;
commandIdentifier: number;
}
declare class ZclFrame {
readonly Header: ZclHeader;
readonly Payload: ZclPayload;
readonly Cluster: TsType.Cluster;
private constructor();
/**
* Creating
*/
static create(frameType: FrameType, direction: Direction, disableDefaultResponse: boolean, manufacturerCode: number, transactionSequenceNumber: number, commandKey: number | string, clusterID: number, payload: ZclPayload, reservedBits?: number): ZclFrame;
toBuffer(): Buffer;
private writeHeader;
private writePayloadGlobal;
private writePayloadCluster;
/**
* Parsing
*/
static fromBuffer(clusterID: number, buffer: Buffer): ZclFrame;
private static parseHeader;
private static parsePayload;
private static parsePayloadCluster;
private static parsePayloadGlobal;
/**
* Utils
*/
private static getDataTypeString;
private static conditionsValid;
isSpecific(): boolean;
isGlobal(): boolean;
isCluster(clusterName: 'genTime' | 'genAnalogInput' | 'genBasic' | 'genGroups' | 'ssIasZone'): boolean;
isCommand(commandName: 'read' | 'report' | 'readRsp' | 'remove' | 'add' | 'write' | 'enrollReq' | 'configReport'): boolean;
getCommand(): TsType.Command;
}
export default ZclFrame;
//# sourceMappingURL=zclFrame.d.ts.map