knxnetjs
Version:
A TypeScript library for KNXnet/IP communication
37 lines • 1.5 kB
TypeScript
import { EventEmitter } from "events";
import * as HID from "node-hid";
import { KNXBusInterface, KNXUSBOptions } from "../types";
import { CEMIFrame } from "../frames";
export declare class KNXUSBImpl extends EventEmitter implements KNXBusInterface {
private hidDevice?;
private isConnected;
private readonly options;
private buffer;
constructor(options?: KNXUSBOptions);
open(): Promise<void>;
send(frame: CEMIFrame): Promise<void>;
close(): Promise<void>;
writeProperty(interfaceObject: number, objectInstance: number, propertyId: number, numberOfElements: number, startIndex: number, data: Buffer): Promise<void>;
readProperty(interfaceObject: number, objectInstance: number, propertyId: number, numberOfElements: number, startIndex: number): Promise<Buffer>;
/**
* Check if this connection is in busmonitor mode
*/
isBusmonitorMode(): boolean;
/**
* Get available KNX USB devices
*/
static getAvailableDevices(): HID.Device[];
on(event: "recv", listener: (frame: CEMIFrame) => void): this;
on(event: "error", listener: (error: Error) => void): this;
on(event: "close", listener: () => void): this;
on(event: "reset", listener: () => void): this;
private findKNXDevice;
private initializeDevice;
private handleIncomingData;
private processBuffer;
private handleFrame;
private convertHIDToCEMI;
private createHIDFrame;
private padHIDFrame;
}
//# sourceMappingURL=usb.d.ts.map