@uboness/homebridge-unifi-access
Version:
Homebridge Unifi Access Plugin
30 lines • 1.41 kB
TypeScript
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