matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
28 lines • 1.4 kB
JavaScript
import { debugStringify } from 'matterbridge/logger';
import { CleanModeDisplayLabel, CleanModeLabelInfo } from '../core/cleanModeConfig/index.js';
import { getSettingFromCleanMode } from '../core/cleanModeUtils.js';
export class DefaultCleanModeHandler {
defaultModes = [
CleanModeDisplayLabel.VacuumAndMopDefault,
CleanModeDisplayLabel.MopDefault,
CleanModeDisplayLabel.VacuumDefault,
];
canHandle(_mode, activity) {
return this.defaultModes.includes(activity);
}
async handle(duid, mode, activity, context) {
// currently I have no idea to activate Vac followed by mop.
// so it will handle as default vac & mop
if (mode === CleanModeLabelInfo[CleanModeDisplayLabel.VacFollowedByMop].mode) {
mode = CleanModeLabelInfo[CleanModeDisplayLabel.VacuumAndMopDefault].mode;
}
const setting = context.enableCleanModeMapping && context.cleanModeSettings
? (getSettingFromCleanMode(activity, context.cleanModeSettings) ?? context.cleanSettings[mode])
: context.cleanSettings[mode];
context.logger.notice(`${context.behaviorName}-ChangeCleanMode to: ${activity}, setting: ${debugStringify(setting ?? {})}`);
if (setting) {
await context.roborockService.changeCleanMode(duid, setting);
}
}
}
//# sourceMappingURL=defaultCleanModeHandler.js.map