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.
119 lines • 3.9 kB
TypeScript
import { DysonAirCurrentSensorData, DysonAirEnvironmentalUsageData } from './dyson-air-sensor-types.js';
import { DysonAirProductState, DysonAirProductStateChange } from './dyson-air-state-types.js';
import { DysonAirFaultChange, DysonAirFaultStatus, DysonAirResetFilterLife, DysonAirResetHEPAFilterLife, DysonAirResetSource, DysonAirScheduler, DysonAirSleepTimer } from './dyson-air-types.js';
import { DysonModeReason, DysonMsg, DysonStateReason } from './dyson-types.js';
export interface DysonAirMsgHello extends DysonMsg {
msg: 'HELLO';
model: string;
version: string;
protocol: string;
serialNumber: string;
macAddress: string;
moduleHardware: string;
moduleBootloader: string;
moduleSoftware: string;
moduleNwp: string;
productHardware: string;
productBootloader: string;
productSoftware: string;
resetSource: DysonAirResetSource;
}
export interface DysonAirMsgGoneAway extends DysonMsg {
msg: 'GONE-AWAY';
}
export interface DysonAirMsgGoodbye extends DysonMsg {
msg: 'GOODBYE';
reason: 'UNKNOWN';
}
export interface DysonAirMsgImBack extends DysonMsg {
msg: 'IM-BACK';
reason?: 'WIFI-RECONNECT' | 'BROKER-RECONNECT';
version?: string;
}
export interface DysonAirMsgCurrentState extends DysonMsg {
msg: 'CURRENT-STATE';
modeReason: DysonModeReason;
stateReason: DysonStateReason;
dial?: string;
rssi?: string;
channel?: string;
fghp?: string;
fqhp?: string;
productState: DysonAirProductState;
scheduler: DysonAirScheduler;
}
export interface DysonAirMsgStateChange extends DysonMsg {
msg: 'STATE-CHANGE';
modeReason: DysonModeReason;
stateReason: DysonStateReason;
productState: DysonAirProductStateChange;
scheduler: DysonAirScheduler;
}
export interface DysonAirMsgEnvironmentalCurrentSensorData extends DysonMsg {
msg: 'ENVIRONMENTAL-CURRENT-SENSOR-DATA';
data: DysonAirCurrentSensorData;
}
export interface DysonAirMsgEnvironmentalAndUsageData extends DysonMsg {
msg: 'ENVIRONMENTAL-AND-USAGE-DATA';
data: DysonAirEnvironmentalUsageData;
}
export interface DysonAirMsgCurrentFaults extends DysonMsg {
msg: 'CURRENT-FAULTS';
productErrors: {
[fault: string]: DysonAirFaultStatus;
};
productWarnings: {
[fault: string]: DysonAirFaultStatus;
};
moduleErrors: {
[fault: string]: DysonAirFaultStatus;
};
moduleWarnings: {
[fault: string]: DysonAirFaultStatus;
};
}
export interface DysonAirMsgFaultsChange extends DysonMsg {
msg: 'FAULTS-CHANGE';
productErrors: {
[fault: string]: DysonAirFaultChange;
};
productWarnings: {
[fault: string]: DysonAirFaultChange;
};
moduleErrors: {
[fault: string]: DysonAirFaultChange;
};
moduleWarnings: {
[fault: string]: DysonAirFaultChange;
};
}
export interface DysonAirMsgScheduleUpdated extends DysonMsg {
msg: 'SCHEDULE-UPDATED';
version: string;
}
export interface DysonAirMsgRequestCurrentFaults extends DysonMsg {
msg: 'REQUEST-CURRENT-FAULTS';
'mode-reason'?: DysonModeReason;
}
export interface DysonAirMsgRequestCurrentState extends DysonMsg {
msg: 'REQUEST-CURRENT-STATE';
'mode-reason'?: DysonModeReason;
}
export interface DysonAirMsgRequestProductEnvironmentCurrentSensorData extends DysonMsg {
msg: 'REQUEST-PRODUCT-ENVIRONMENT-CURRENT-SENSOR-DATA';
'mode-reason'?: DysonModeReason;
}
export interface DysonAirMsgStateSet extends DysonMsg {
msg: 'STATE-SET';
'mode-reason'?: DysonModeReason;
data: DysonAirProductState & {
rstf?: DysonAirResetFilterLife;
rhtf?: DysonAirResetHEPAFilterLife;
sltm?: DysonAirSleepTimer;
};
}
export interface DysonAirMsgScheduleSet extends DysonMsg {
msg: 'SCHEDULE-SET';
version: string;
}
//# sourceMappingURL=dyson-air-msg-types.d.ts.map