UNPKG

homebridge-config-ui-x

Version:

A web based management, configuration and control platform for Homebridge.

50 lines (49 loc) 2.25 kB
import type { ServiceType } from '@homebridge/hap-client'; import type { Socket } from 'socket.io'; import { HapClient } from '@homebridge/hap-client'; import NodeCache from 'node-cache'; import { ConfigService } from '../../core/config/config.service.js'; import { JsonFileStoreService } from '../../core/fs/json-file-store.service.js'; import { HomebridgeIpcService } from '../../core/homebridge-ipc/homebridge-ipc.service.js'; import { Logger } from '../../core/logger/logger.service.js'; import { MatterService } from '../../core/matter/matter.interfaces.js'; export declare class AccessoriesService { private readonly configService; private readonly logger; private readonly homebridgeIpcService; private readonly jsonStore; hapClient: HapClient; accessoriesCache: NodeCache; private matterMonitoringActive; private matterUpdateListener; private matterMonitoringStartPromise; private hapMonitorPromise; private activeClients; private clientSessions; private matterAccessories; private matterRequests; private matterDispatcherInstalled; constructor(configService: ConfigService, logger: Logger, homebridgeIpcService: HomebridgeIpcService, jsonStore: JsonFileStoreService); private getChildBridgePins; connect(client: Socket): Promise<void>; private ensureHapMonitor; private refreshCharacteristics; loadAccessories(): Promise<ServiceType[]>; getAccessory(uniqueId: string): Promise<MatterService | ServiceType>; private getMatterAccessory; setAccessoryCharacteristic(uniqueId: string, characteristicType: string, value: number | boolean | string): Promise<ServiceType>; getAccessoryLayout(username: string): Promise<any>; saveAccessoryLayout(user: string, layout: Record<string, unknown>): Promise<Record<string, unknown>>; resetInstancePool(): void; private parseMatterUniqueId; private buildMatterUniqueId; private waitForMatterEvent; private attemptMatterEvent; private ensureMatterDispatcher; private ensureMatterMonitoringStarted; private startMatterMonitoring; private loadMatterAccessories; private transformMatterAccessory; private handleMatterStateUpdate; private handleMatterControl; }