lavva.exalushome
Version:
Library implementing communication and abstraction layers for ExalusHome system
56 lines (55 loc) • 2.73 kB
TypeScript
import { IDataFrame } from "../DataFrame";
import { ITypedEvent } from "../TypedEvent";
import { AuthorizationInfo, ConnectionResult, ConnectionState, IExalusConnectionService, StreamHandler } from "./IExalusConnectionService";
export declare class LocalNetworkExalusConnectionService implements IExalusConnectionService {
SendAndHandleStreamAsync<T>(dataFrame: IDataFrame<any>, streamHandler: StreamHandler<T>, logTransmission: boolean): Promise<void>;
private _errorOccuredEvent;
private _connectionStateChangedEvent;
private _dataReceivedEvent;
private _onMessageReceived;
private _log;
private _controllerConfiguration;
private _cache;
private _session;
static readonly ServiceName: string;
private _logPackets;
private socket;
private _address;
private _port;
private _isOpen;
private _pin;
private _serial;
private _auth;
private _initialized;
private _pingInterval;
private _pingIntervalId;
private _lastReceivedPacketTime;
private Initialize;
private checkIfAuthInfoIsCorrectAsync;
PingControllerAsync(): Promise<boolean>;
SubscribeTo<T>(resourceId: string, handler: {
(data: IDataFrame<T>): void;
}): () => void;
GetControllerSerialNumber(): string | undefined;
GetControllerPin(): string | undefined;
SetServersBrokerAddress(address: string): void;
SetDefaultPacketsBrokerAddress(address: string): void;
GetServerAddressAsync(): Promise<string | null>;
ConnectAsync(address: string): Promise<ConnectionResult>;
AuthorizeAsync(authorizationInfo: AuthorizationInfo): Promise<boolean>;
ConnectAndAuthorizeAsync(authorizationInfo: AuthorizationInfo): Promise<ConnectionResult>;
DisconnectAsync(): Promise<void>;
IsConnected(): boolean;
EnablePacketsLogging(): void;
DisablePacketsLogging(): void;
private SendData;
SendAsync(dataFrame: IDataFrame<any>): Promise<boolean>;
SendAndWaitForResponseAsync<T>(dataFrame: IDataFrame<any>, timeout: number, useCache: boolean, logTransmission?: boolean): Promise<IDataFrame<T>>;
SendAndHandleResponseAsync<T>(dataFrame: IDataFrame<any>, timeout: number, dataHandler: (result: IDataFrame<T>) => void, logTransmission: boolean): Promise<void>;
SendAndWaitForResponseWithRepeatAsync<T>(dataFrame: IDataFrame<any>, timeout: number, useCache: boolean, repeat?: boolean, logTransmission?: boolean): Promise<IDataFrame<T>>;
OnDataReceivedEvent(): ITypedEvent<IDataFrame<any>>;
OnErrorOccuredEvent(): ITypedEvent<[sender: string, data: string]>;
OnConnectionStateChangedEvent(): ITypedEvent<ConnectionState>;
GetAuthorizationInfo(): AuthorizationInfo | null;
GetServiceName(): string;
}