UNPKG

@uboness/homebridge-unifi-access

Version:
30 lines 1.41 kB
import { Detachables } from '../common'; import { UnifiAccess } from '../UnifiAccess'; import { UnifiAccessClient } from '../UnifiAccessClient'; import { UnifiAccessPlatform } from '../UnifiAccessPlatform.js'; import { Characteristic, PlatformAccessory, Service } from 'homebridge'; import { ILogger } from '../Logger.js'; export declare abstract class Device<D extends UnifiAccess.Device = UnifiAccess.Device> { readonly platform: UnifiAccessPlatform; readonly client: UnifiAccessClient; readonly accessory: PlatformAccessory; readonly primaryService: Service; readonly device: D; readonly logger: ILogger; protected statusFault: Characteristic; protected readonly detachables: Detachables; protected constructor(platform: UnifiAccessPlatform, client: UnifiAccessClient, accessory: PlatformAccessory, device: D, primaryService: Service); get id(): string; get type(): "door"; get name(): string; close(): Promise<void>; abstract onMessage(msg: UnifiAccess.Message, platform: UnifiAccessPlatform): void; abstract update(device: D): void; abstract doClose(): Promise<void>; } export declare namespace Device { type Factory<D extends Device = Device> = { create: (platform: UnifiAccessPlatform, client: UnifiAccessClient, accessory: PlatformAccessory, device: UnifiAccess.Device) => Promise<D>; }; } //# sourceMappingURL=Device.d.ts.map