UNPKG

knxnetjs

Version:

A TypeScript library for KNXnet/IP communication

102 lines 2.96 kB
import { EventEmitter } from "events"; import { CEMIFrame } from "./frames"; import { HPAI } from "./types/hpai"; export interface KNXBusInterface extends EventEmitter { send(frame: CEMIFrame): Promise<void>; on(event: "recv", listener: (frame: CEMIFrame) => void): this; on(event: "error", listener: (error: Error) => void): this; open(): 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>; } export interface KNXRoutingFrame { serviceType: number; data: Buffer; } export interface RoutingIndicationFrame extends KNXRoutingFrame { serviceType: 0x0530; cemiFrame: Buffer; } export interface RoutingLostMessageFrame extends KNXRoutingFrame { serviceType: 0x0531; deviceState: number; numberOfLostMessages: number; } export interface RoutingBusyFrame extends KNXRoutingFrame { serviceType: 0x0532; deviceState: number; waitTime: number; controlField: number; } export interface KNXNetRoutingOptions { multicastAddress?: string; port?: number; ttl?: number; } export interface DiscoveryEndpoint { name: string; ip: string; port: number; protocol: number; capabilities: number; deviceState: number; knxAddress?: string; macAddress?: string; serialNumber?: string; projectInstallationId?: number; friendlyName?: string; } export interface DiscoveryOptions { timeout?: number; searchResponseTimeout?: number; } export { HPAI }; export interface KNXNetTunnelingOptions { serverAddress: string; serverPort?: number; localPort?: number; heartbeatInterval?: number; connectionTimeout?: number; busmonitorMode?: boolean; } export interface KNXNetManagementOptions { serverAddress: string; serverPort?: number; localPort?: number; connectionTimeout?: number; } export interface KNXUSBOptions { devicePath?: string; baudRate?: number; autoConnect?: boolean; busmonitorMode?: boolean; } export declare enum KNXInterfaceType { ROUTING = "routing", TUNNELING = "tunneling", USB = "usb" } export interface KNXInterfaceInformation { type: KNXInterfaceType; name: string; description?: string; address?: string; port?: number; protocol?: number; capabilities?: number; knxAddress?: string; macAddress?: string; serialNumber?: string; friendlyName?: string; devicePath?: string; vendorId?: number; productId?: number; manufacturer?: string; product?: string; supportsTunneling(): boolean; supportsRouting(): boolean; supportsBusmonitor(): boolean; toString(): string; } //# sourceMappingURL=types.d.ts.map