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.

35 lines 2.01 kB
import { DysonDevice, DysonDeviceConstructorParams } from './dyson-device-base.js'; import { DysonMqtt360, DysonMqttStatus360 } from './dyson-mqtt-360.js'; import { EntityName } from './config-types.js'; import { DysonMqttStatus } from './dyson-mqtt.js'; import { BasicInformation } from 'matterbridge/matter/clusters'; import { RvcCleanModeLabels } from './endpoint-360-rvc.js'; import { Endpoint360, UpdatePowerSource360, UpdateRvcOperationalState360 } from './endpoint-360.js'; import { RvcCleanMode360 } from './endpoint-360-behavior.js'; import { Dyson360PowerMode } from './dyson-360-types.js'; import { Dyson360MappedFaults } from './dyson-device-360-faults.js'; import { EndpointBase } from './endpoint-base.js'; export type PowerModeMap = [Dyson360PowerMode, ...RvcCleanModeLabels[number]]; export declare abstract class DysonDevice360Base extends DysonDevice<DysonMqtt360> { static readonly mqttConstructor: typeof DysonMqtt360; mqttListener: () => void; endpoint?: Endpoint360; constructor(...args: DysonDeviceConstructorParams<DysonMqtt360>); makeEndpoint(): Endpoint360; getEntities(): { name: EntityName; description: string; }[]; getEndpoints(_validatedNames: EntityName[]): EndpointBase[]; start(): Promise<void>; stop(): Promise<void>; abstract getBatteryPartNumber(): string; abstract getProductAppearance(): BasicInformation.ProductAppearance; abstract getPowerModeMaps(): PowerModeMap[]; cleanModeToPowerMode(cleanMode: RvcCleanMode360): Dyson360PowerMode; powerModeToCleanMode(powerMode: Dyson360PowerMode): RvcCleanMode360; updateClusterAttributes(status: DysonMqttStatus<DysonMqttStatus360>): Promise<void>; mapBatteryStatus(status: DysonMqttStatus<DysonMqttStatus360>, faults: Dyson360MappedFaults): UpdatePowerSource360; mapOperationalState(status: DysonMqttStatus<DysonMqttStatus360>, faults: Dyson360MappedFaults): UpdateRvcOperationalState360; } //# sourceMappingURL=dyson-device-360-base.d.ts.map