UNPKG

matterbridge-dyson-robot

Version:

A Matterbridge plugin that connects Dyson robot vacuums and air treatment devices to the Matter smart home ecosystem via their local or cloud MQTT APIs.

50 lines 1.89 kB
import { AnsiLogger } from 'matterbridge/logger'; import { Config, EntityName } from './config-types.js'; import { DysonMqttLike } from './dyson-mqtt.js'; import { MatterbridgeEndpoint } from 'matterbridge'; import { Constructor } from './utils.js'; import { Changed } from './decorator-changed.js'; import { DeviceConfigMqtt } from './dyson-mqtt-client.js'; export interface DysonDeviceModel { type: string; number: string; name: string; } export type DysonDeviceConstructorParams<MQTT extends DysonMqttLike = DysonMqttLike> = [ log: AnsiLogger, config: Config, device: DeviceConfigMqtt, mqtt: MQTT ]; export interface DysonDeviceConstructor<MQTT extends DysonMqttLike = DysonMqttLike, Device extends DysonDevice<MQTT> = DysonDevice<MQTT>> { new (...args: DysonDeviceConstructorParams<MQTT>): Device; readonly mqttConstructor: Constructor<MQTT>; } export declare abstract class DysonDevice<MQTT extends DysonMqttLike = DysonMqttLike> { readonly log: AnsiLogger; readonly config: Config; readonly device: DeviceConfigMqtt; readonly mqtt: MQTT; static readonly model: DysonDeviceModel; static readonly filters: { hepa: string[]; carbon?: string[]; }; static readonly mqttConstructor: Constructor<DysonMqttLike>; changed: Changed; constructor(log: AnsiLogger, config: Config, device: DeviceConfigMqtt, mqtt: MQTT); abstract getEntities(): { name: EntityName; description: string; }[]; abstract getEndpoints(validatedNames: EntityName[]): MatterbridgeEndpoint[]; abstract start(): Promise<void>; stop(): Promise<void>; get uniqueId(): string; get classStatic(): typeof DysonDevice; get modelName(): string; get modelNumber(): string; get deviceName(): string; get serialNumber(): string; } //# sourceMappingURL=dyson-device-base.d.ts.map