knxnetjs
Version:
A TypeScript library for KNXnet/IP communication
52 lines • 1.96 kB
TypeScript
import { KNXInterfaceType, KNXBusInterface, KNXInterfaceInformation } from "./types";
export declare class KNXInterfaceInformationImpl implements KNXInterfaceInformation {
readonly type: KNXInterfaceType;
readonly name: string;
readonly description?: string;
readonly address?: string;
readonly port?: number;
readonly capabilities?: number;
readonly knxAddress?: string;
readonly macAddress?: string;
readonly serialNumber?: string;
readonly friendlyName?: string;
readonly devicePath?: string;
readonly vendorId?: number;
readonly productId?: number;
readonly manufacturer?: string;
readonly product?: string;
constructor(info: Omit<KNXInterfaceInformation, 'supportsTunneling' | 'supportsRouting' | 'supportsBusmonitor' | 'toString'>);
/**
* Check if this interface supports tunneling
*/
supportsTunneling(): boolean;
/**
* Check if this interface supports routing
*/
supportsRouting(): boolean;
/**
* Check if this interface supports busmonitor mode
*/
supportsBusmonitor(): boolean;
/**
* Get a human-readable description of the interface
*/
toString(): string;
}
/**
* Discover available KNX interfaces (network and USB)
* @param callback Function called for each discovered interface
* @param options Discovery options
*/
export declare function discoverInterfaces(callback: (interfaceInfo: KNXInterfaceInformationImpl) => void, options?: {
timeout?: number;
includeUSB?: boolean;
}): Promise<void>;
/**
* Create a KNX interface based on interface information
* @param interfaceInfo The interface information
* @param busmonitorMode Whether to enable busmonitor mode (read-only)
* @returns A KNXBusInterface instance
*/
export declare function createInterface(interfaceInfo: KNXInterfaceInformationImpl, busmonitorMode?: boolean): KNXBusInterface;
//# sourceMappingURL=interface-discovery.d.ts.map