homebridge-texecom-connect
Version:
A Homebridge plugin to integrate with Texecom Connect SmartCom.
63 lines (62 loc) • 1.98 kB
TypeScript
import { EventEmitter } from "events";
import * as net from "net";
import { API, Characteristic, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service } from "homebridge";
import { Config } from "./config/config";
import { ConfigAccessory } from "./config/config-accessory";
import { AccessoryContext } from "./interfaces/accessory-context";
import { Messages } from "./interfaces/messages";
/**
* Texecom Connect Platform.
*/
export declare class TexecomConnectPlatform implements DynamicPlatformPlugin {
readonly accessories: PlatformAccessory<AccessoryContext>[];
readonly accessoryEvent: EventEmitter;
readonly api: API;
readonly characteristic: typeof Characteristic;
readonly config: Config;
readonly configAccessories: ConfigAccessory[];
connection?: net.Socket;
readonly log: Logger;
readonly service: typeof Service;
private lastSocketResponse;
constructor(log: Logger, config: PlatformConfig, api: API);
/**
* Configure Accessory after Platform Init
*/
configureAccessory(accessory: PlatformAccessory<AccessoryContext>): void;
getAccessoryId(configAccessory: ConfigAccessory, prefix?: Messages.disarmUpdate | Messages.zoneUpdate | string): string;
/**
* Deprecate old Accessories which are invalid.
*/
private deprecateAccessories;
/**
* Discover new Accessories.
*/
private discoverDevices;
private handleMessage;
private initAccessory;
/**
* Shutdown
*/
private onShutdown;
/**
* Start Up
*/
private onStartUp;
private parseData;
private sanitiseConfig;
private sanitiseEventData;
/**
* Restarts the socket connection to SmartCom.
*/
private socketRestart;
/**
* Shutdown the socket connection to SmartCom.
*/
private socketShutdown;
/**
* Start the socket connection to SmartCom.
*/
private socketStartUp;
private socketVerify;
}