UNPKG

homebridge-freeathome-local-kdljns

Version:

Platform Plugin to manage free@home accessories via HomeBridge using local API

74 lines (73 loc) 2.23 kB
import { ClientConfiguration } from "freeathome-api/dist/lib/Configuration"; import { Subscriber } from "freeathome-api/dist/lib/Subscriber"; import { Logger } from "freeathome-api/dist/lib/Logger"; export declare class SystemAccessPoint { private configuration; private readonly subscriber; private client; private messageBuilder; private crypto; private online; private settings; private connectedAs; private user; private keepAliveMessageId; private pingTimeoutSeconds; private keepAliveTimer; private pingTimeout; private deviceData; private subscribed; private axios; private logger; /** * protocols, we need some smarter way in the future (enableTLS: true in config) */ private readonly _protocol1; private readonly _protocol2; /** * ports will be set automagically (hopefully) */ private _port; /** * the API entry path */ private readonly _path2api; /** * default UUID - we will read the "real" uuid from config.json */ private _uuid; /** * minimal version to use the local API */ private readonly _minversionAP; constructor(configuration: ClientConfiguration, subscriber: Subscriber, logger: Logger | null); private createClient; private getSettings; private getDeviceConfiguration; /** * * onopen: (event: WebSocket.OpenEvent) => void; * onerror: (event: WebSocket.ErrorEvent) => void; * onclose: (event: WebSocket.CloseEvent) => void; * onmessage: (event: WebSocket.MessageEvent) => void; */ private registerHandlers; /** * heartbeat to detect if WS still send messages od my be death */ private heartBeat; private handleEvent; private unwrapEventData; private sendMessage; /** * create and connect WS client */ connect(): Promise<void>; disconnect(): Promise<void>; private sendKeepAliveMessage; private sendKeepAliveMessages; private disableKeepAliveMessages; private applyIncrementalUpdate; setDatapoint(serialNo: string, channel: string, datapoint: string, value: string): Promise<void>; getDeviceData(): any; }