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.02 kB
TypeScript
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 { MatterbridgeEndpoint } from 'matterbridge';
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';
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[]): MatterbridgeEndpoint[];
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