UNPKG

matterbridge-roborock-vacuum-plugin

Version:
28 lines 1.4 kB
import { debugStringify } from 'matterbridge/logger'; import { CleanModeDisplayLabel, CleanModeLabelInfo } from '../core/cleanModeConfig.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