@homebridge/hap-client
Version:
A client for HAP-NodeJS.
53 lines (52 loc) • 2.12 kB
TypeScript
import { EventEmitter } from 'node:events';
import 'source-map-support/register';
import { CharacteristicType, ResourceRequestType, ServiceType } from './interfaces';
import { HapMonitor } from './monitor';
export * from './interfaces';
export declare class HapClient extends EventEmitter {
private bonjour;
private browser;
private discoveryInProgress;
private logger;
private pin;
private debugEnabled;
private config;
private instances;
private hiddenServices;
private hiddenCharacteristics;
private resetInstancePoolTimeout;
private startDiscoveryTimeout;
private hapMonitor;
constructor(opts: {
pin: string;
logger?: any;
config: any;
});
private logMessage;
debug(msg: string): void;
info(msg: string): void;
warn(msg: string): void;
error(msg: string): void;
resetInstancePool(): void;
refreshInstances(): void;
private startDiscovery;
private checkInstanceConnection;
private getAccessories;
monitorCharacteristics(services?: ServiceType[]): Promise<HapMonitor>;
getAllServices(): Promise<ServiceType[]>;
getService(iid: number): Promise<ServiceType>;
getServiceByName(serviceName: string): Promise<ServiceType>;
refreshServiceCharacteristics(service: ServiceType): Promise<ServiceType>;
getCharacteristic(service: ServiceType, iid: number): Promise<CharacteristicType>;
setCharacteristicByType(service: ServiceType, type: string, value: number | string | boolean): Promise<CharacteristicType>;
setCharacteristic(service: ServiceType, iid: number, value: number | string | boolean): Promise<CharacteristicType>;
setCharacteristicsByTypes(service: ServiceType, payload: Record<string, string | number | boolean>): Promise<ServiceType>;
setCharacteristics(service: ServiceType, characteristics: {
aid: number;
iid: number;
value: string | number | boolean;
}[]): Promise<ServiceType>;
getResource(service: ServiceType, body: ResourceRequestType): Promise<any>;
private humanizeString;
destroy(): Promise<void>;
}