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.

127 lines 3.71 kB
import { Dyson360CleaningMode, Dyson360CleaningType, Dyson360Faults, Dyson360Position, Dyson360PowerMode, Dyson360State } from './dyson-360-types.js'; import { DysonModeReason, DysonMsg } from './dyson-types.js'; export interface Dyson360MsgDeviceCredentials extends DysonMsg { msg: 'DEVICE-CREDENTIALS'; serialNumber: string; apPasswordHash: string; } export interface Dyson360MsgConnectionStatus extends DysonMsg { msg: 'CONNECTION-STATUS'; status: string; phase: string; network: string; requestId: string; ip: string; } export interface Dyson360MsgHello extends DysonMsg { msg: 'HELLO'; protocol: string; serial: string; version: string; } export interface Dyson360MsgGoodbye extends DysonMsg { msg: 'GOODBYE'; reason: 'UNKNOWN'; } export interface Dyson360MsgGoneAway extends DysonMsg { msg: 'GONE-AWAY'; } export interface Dyson360MsgImBack extends DysonMsg { msg: 'IM-BACK'; state?: Dyson360State; } export interface Dyson360MsgCurrentState extends DysonMsg { msg: 'CURRENT-STATE'; batteryChargeLevel: number; cleanDuration?: number; cleanId: string; currentVacuumPowerMode: Dyson360PowerMode; defaultVacuumPowerMode: Dyson360PowerMode; currentCleaningMode?: Dyson360CleaningMode; defaultCleaningMode?: Dyson360CleaningMode; faults?: Dyson360Faults; fullCleanType: Dyson360CleaningType; globalPosition: Dyson360Position; state: Dyson360State; } export interface Dyson360MsgStateChange extends DysonMsg { msg: 'STATE-CHANGE'; batteryChargeLevel: number; cleanDuration?: number; cleanId: string; currentVacuumPowerMode: Dyson360PowerMode; defaultVacuumPowerMode: Dyson360PowerMode; currentCleaningMode?: Dyson360CleaningMode; defaultCleaningMode?: Dyson360CleaningMode; faults?: Dyson360Faults; fullCleanType: Dyson360CleaningType; globalPosition: Dyson360Position; newstate: Dyson360State; oldstate: Dyson360State; endOfClean?: boolean; } export interface Dyson360MsgMapData extends DysonMsg { msg: 'MAP-DATA'; gridID: string; cleanId: string; data: { content: string; contentType: string; contentEncoding: string; }; } export interface Dyson360MsgMapGlobal extends DysonMsg { msg: 'MAP-GLOBAL'; angle: number; cleanId: string; gridID: string; x: number; y: number; } export interface Dyson360MsgMapGrid extends DysonMsg { msg: 'MAP-GRID'; anchor: Dyson360Position; cleanId: string; gridID: string; height: number; resolution: number; width: number; } export interface Dyson360MsgTelemetryData extends DysonMsg { msg: 'TELEMETRY-DATA'; field1: string; field2: string; field3: string; field4: string; id: string; } export interface Dyson360MsgRequestCurrentState extends DysonMsg { msg: 'REQUEST-CURRENT-STATE'; 'mode-reason'?: DysonModeReason; } export interface Dyson360MsgStateSet extends DysonMsg { msg: 'STATE-SET'; 'mode-reason': DysonModeReason; data: { defaultVacuumPowerMode: Dyson360PowerMode; }; } export interface Dyson360MsgStart extends DysonMsg { msg: 'START'; 'mode-reason': DysonModeReason; fullCleanType: Dyson360CleaningType; cleaningMode?: Dyson360CleaningMode; } export interface Dyson360MsgPause extends DysonMsg { msg: 'PAUSE'; 'mode-reason': DysonModeReason; } export interface Dyson360MsgResume extends DysonMsg { msg: 'RESUME'; 'mode-reason': DysonModeReason; } export interface Dyson360MsgAbort extends DysonMsg { msg: 'ABORT'; 'mode-reason': DysonModeReason; } //# sourceMappingURL=dyson-360-msg-types.d.ts.map