knxultimate
Version:
KNX IP protocol implementation for Node. This is the ENGINE of Node-Red KNX-Ultimate node.
39 lines (38 loc) • 2.48 kB
TypeScript
import KNXHeader from './KNXHeader';
import KNXSearchRequest from './KNXSearchRequest';
import KNXSearchResponse from './KNXSearchResponse';
import KNXDescriptionRequest from './KNXDescriptionRequest';
import KNXDescriptionResponse from './KNXDescriptionResponse';
import KNXSecureSearchRequest from './KNXSecureSearchRequest';
import KNXConnectRequest from './KNXConnectRequest';
import KNXConnectResponse from './KNXConnectResponse';
import KNXConnectionStateRequest from './KNXConnectionStateRequest';
import KNXConnectionStateResponse from './KNXConnectionStateResponse';
import KNXDisconnectRequest from './KNXDisconnectRequest';
import KNXDisconnectResponse from './KNXDisconnectResponse';
import KNXTunnelingRequest from './KNXTunnelingRequest';
import KNXTunnelingAck from './KNXTunnelingAck';
import KNXRoutingIndication from './KNXRoutingIndication';
import HPAI from './HPAI';
import TunnelCRI from './TunnelCRI';
import CEMIMessage from './cEMI/CEMIMessage';
export type KnxResponse = KNXConnectResponse | KNXSearchResponse | KNXDescriptionResponse | KNXConnectionStateResponse | KNXDisconnectResponse | KNXTunnelingAck | KNXRoutingIndication;
export type KnxRequest = KNXConnectRequest | KNXSearchRequest | KNXDescriptionRequest | KNXConnectionStateRequest | KNXDisconnectRequest | KNXTunnelingRequest;
export type KnxMessage = KnxResponse | KnxRequest;
export default class KNXProtocol {
static parseMessage(buffer: Buffer): {
knxHeader: KNXHeader;
knxMessage: KnxMessage;
knxData: Buffer<ArrayBufferLike>;
};
static newKNXSearchRequest(hpai: HPAI): KNXSearchRequest;
static newKNXSecureSearchRequest(hpai: HPAI): KNXSecureSearchRequest;
static newKNXDescriptionRequest(hpai: HPAI): KNXDescriptionRequest;
static newKNXConnectRequest(cri: TunnelCRI, hpaiControl?: HPAI, hpaiData?: HPAI): KNXConnectRequest;
static newKNXConnectionStateRequest(channelID: number, hpaiControl?: HPAI): KNXConnectionStateRequest;
static newKNXDisconnectRequest(channelID: number, hpaiControl?: HPAI): KNXDisconnectRequest;
static newKNXDisconnectResponse(channelID: number, status: number): KNXDisconnectResponse;
static newKNXTunnelingACK(channelID: number, seqCounter: number, status: number): KNXTunnelingAck;
static newKNXTunnelingRequest(channelID: number, seqCounter: number, cEMIMessage: CEMIMessage): KNXTunnelingRequest;
static newKNXRoutingIndication(cEMIMessage: CEMIMessage): KNXRoutingIndication;
}