homebridge-gsh
Version:
Google Smart Home
73 lines (72 loc) • 2.87 kB
TypeScript
import { HapClient, ServiceType } from '@homebridge/hap-client';
import { SmartHomeV1ExecuteRequestCommands, SmartHomeV1ExecuteResponseCommands, SmartHomeV1SyncDevices } from 'actions-on-google';
import { Subject } from 'rxjs';
import { PluginConfig } from './interfaces';
import { Log } from './logger';
import { Door } from './types/door';
import { Fan } from './types/fan';
import { Fanv2 } from './types/fan-v2';
import { GarageDoorOpener } from './types/garage-door-opener';
import { HeaterCooler } from './types/heater-cooler';
import { HumiditySensor } from './types/humidity-sensor';
import { Lightbulb } from './types/lightbulb';
import { LockMechanism } from './types/lock-mechanism';
import { SecuritySystem } from './types/security-system';
import { Switch } from './types/switch';
import { Television } from './types/television';
import { TemperatureSensor } from './types/temperature-sensor';
import { Thermostat } from './types/thermostat';
import { Window } from './types/window';
import { WindowCovering } from './types/window-covering';
export declare class Hap {
socket: any;
log: Log;
pin: string;
config: PluginConfig;
hapClient: HapClient;
services: ServiceType[];
private startTimeout;
private discoveryTimeout;
private syncTimeout;
ready: boolean;
types: {
Door: Door;
Fan: Fan;
Fanv2: Fanv2;
GarageDoorOpener: GarageDoorOpener;
HeaterCooler: HeaterCooler;
HumiditySensor: HumiditySensor;
Lightbulb: Lightbulb;
LockMechanism: LockMechanism;
Outlet: Switch;
SecuritySystem: SecuritySystem;
Switch: Switch;
Television: Television;
TemperatureSensor: TemperatureSensor;
Thermostat: Thermostat;
Window: Window;
WindowCovering: WindowCovering;
};
reportStateSubject: Subject<unknown>;
pendingStateReport: any[];
evTypes: string[];
instanceBlacklist: Array<string>;
accessoryFilter: Array<string>;
accessoryFilterInverse: boolean;
accessorySerialFilter: Array<string>;
constructor(socket: any, log: any, pin: string, config: PluginConfig);
discover(): Promise<void>;
waitForNoMoreDiscoveries: () => void;
start(): Promise<void>;
buildSyncResponse(): Promise<SmartHomeV1SyncDevices[]>;
requestSync(): Promise<void>;
query(devices: any): Promise<{}>;
execute(commands: SmartHomeV1ExecuteRequestCommands[]): Promise<SmartHomeV1ExecuteResponseCommands[]>;
getStatus(service: ServiceType): Promise<ServiceType>;
loadAccessories(): Promise<ServiceType[]>;
handleHapEvent(events: any): Promise<void>;
processPendingStateReports(pendingStateReport: any): Promise<void>;
sendFullStateReport(): Promise<void>;
sendStateReport(states: any, requestId?: any): Promise<void>;
destroy(): Promise<void>;
}