homebridge-loxone-proxy
Version:
Homebridge Dynamic Platform Plugin which exposes a Loxone System to Homekit.
93 lines • 2.86 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { LoxonePlatform } from '../../LoxonePlatform';
export interface LoxoneTalkbackOptions {
platform: LoxonePlatform;
cameraName: string;
signalingBaseUrl: string;
username: string;
getToken: () => string | undefined;
onIncomingPcm?: (chunk: Buffer) => void;
}
export declare class LoxoneTalkbackSession {
private readonly options;
private readonly rpcTimeoutMs;
private readonly authMethod;
private readonly wsProtocol;
private readonly pcmSampleRate;
private readonly pcmChannelCount;
private readonly pcmBitsPerSample;
private readonly pcmFramesPerChunk;
private socket?;
private wrtc?;
private peerConnection?;
private audioSource?;
private audioSink?;
private localTrack?;
private rpcId;
private pendingRpc;
private localIceQueue;
private remoteIceQueue;
private peerReady;
private stopped;
private started;
private pcmBuffer;
private authChallengeTimer?;
private readyPromise?;
private resolveReady?;
private rejectReady?;
constructor(options: LoxoneTalkbackOptions);
start(): Promise<void>;
pushPcmChunk(chunk: Buffer): void;
stop(): void;
private connectAndAuthorize;
private getDeviceInfo;
private initializePeerConnection;
private applyRemoteAnswer;
private negotiateCallWithFallbackModes;
private flushQueuedIceCandidates;
private sendLocalIceCandidate;
private handleSocketMessage;
private handleRpcRequest;
private handleNotification;
private handleRpcResponse;
private onRemoteIceCandidate;
private createAuthResponse;
private createRsaPublicKey;
private createRsaPublicKeyFromComponents;
private createRsaPublicKeyFromText;
private callRpc;
private sendNotification;
private sendRpcSuccess;
private sendRpcError;
private sendJson;
private isSocketOpen;
private rejectAllPendingRpc;
private resolveReadyPromise;
private rejectReadyPromise;
private clearAuthTimers;
private toWsUrl;
private normalizeSessionDescription;
private buildReorderedAnswerCandidates;
private splitSdpSections;
private getSdpMediaType;
private getSdpMid;
private reorderSectionsByMid;
private reorderSectionsByType;
private composeSdpWithOrderedSections;
private rewriteBundleLine;
private permuteSections;
private describeSdpMlineOrder;
private rawDataToString;
private stringValue;
private numberValue;
private toMonoPcm;
private hexToBase64Url;
private bigIntValueToBase64Url;
private decodeBinaryKeyCandidates;
private decodeBase64Like;
private bigIntToBuffer;
private bufferToBase64Url;
private loadWrtcModule;
}
//# sourceMappingURL=LoxoneTalkback.d.ts.map