knxnetjs
Version:
A TypeScript library for KNXnet/IP communication
59 lines • 1.69 kB
TypeScript
/**
* KNX USB Transfer Protocol implementation
* Handles the KNX USB Transfer Protocol Header and Body structures
*/
export declare enum KNXUSBTransferProtocolId {
KNXTunnel = 1,
BusAccessServerFeatureService = 15
}
export declare enum KNXUSBTransferEMIId {
EMI1 = 1,
EMI2 = 2,
cEMI = 3
}
export interface KNXUSBTransferHeader {
protocolVersion: number;
headerLength: number;
bodyLength: number;
protocolId: number;
emiId: number;
manufacturerCode: number;
}
export interface KNXUSBTransferBody {
emiMessageCode: number;
data: Buffer;
}
export declare class KNXUSBTransferFrame {
header: KNXUSBTransferHeader;
body: KNXUSBTransferBody;
constructor(header: KNXUSBTransferHeader, body: KNXUSBTransferBody);
/**
* Creates a KNX USB Transfer Frame from a Buffer
*/
static fromBuffer(buffer: Buffer): KNXUSBTransferFrame;
/**
* Converts the frame to a Buffer
*/
toBuffer(): Buffer;
/**
* Creates a KNX USB Transfer Frame for cEMI data
*/
static createForCEMI(cemiData: Buffer, manufacturerCode?: number): KNXUSBTransferFrame;
/**
* Creates a KNX USB Transfer Frame for bus access
*/
static createForBusAccess(service: number, feature: number, value: Buffer): KNXUSBTransferFrame;
/**
* Validates if a buffer contains a valid KNX USB Transfer Frame
*/
static isValid(buffer: Buffer): boolean;
/**
* Gets the cEMI data from the frame body
*/
getCEMIData(): Buffer | null;
/**
* Returns frame information as a string for debugging
*/
toString(): string;
}
//# sourceMappingURL=knx-usb-transfer.d.ts.map