matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
62 lines • 2.7 kB
JavaScript
import { RvcOperationalState, RvcRunMode } from 'matterbridge/matter/clusters';
export var RunModeDisplayLabel;
(function (RunModeDisplayLabel) {
RunModeDisplayLabel["Idle"] = "Idle";
RunModeDisplayLabel["Cleaning"] = "Cleaning";
RunModeDisplayLabel["Mapping"] = "Mapping";
})(RunModeDisplayLabel || (RunModeDisplayLabel = {}));
// prettier-ignore
export const RunModeLabelInfo = {
[RunModeDisplayLabel.Idle]: { mode: 1, label: RunModeDisplayLabel.Idle },
[RunModeDisplayLabel.Cleaning]: { mode: 2, label: RunModeDisplayLabel.Cleaning },
[RunModeDisplayLabel.Mapping]: { mode: 3, label: RunModeDisplayLabel.Mapping },
};
/**
* Base run mode configurations.
*/
export const baseRunModeConfigs = [
{
mode: RunModeLabelInfo[RunModeDisplayLabel.Idle].mode,
label: RunModeLabelInfo[RunModeDisplayLabel.Idle].label,
modeTags: [{ value: RvcRunMode.ModeTag.Idle }],
},
{
mode: RunModeLabelInfo[RunModeDisplayLabel.Cleaning].mode,
label: RunModeLabelInfo[RunModeDisplayLabel.Cleaning].label,
modeTags: [{ value: RvcRunMode.ModeTag.Cleaning }],
},
{
mode: RunModeLabelInfo[RunModeDisplayLabel.Mapping].mode,
label: RunModeLabelInfo[RunModeDisplayLabel.Mapping].label,
modeTags: [{ value: RvcRunMode.ModeTag.Mapping }],
},
];
/**
* Helper functions to extract different views of the configuration.
*/
export function getRunModeDisplayMap(configs) {
return Object.fromEntries(configs.map((c) => [c.mode, c.label]));
}
export function getRunModeOptions(configs) {
return configs.map((c) => ({
mode: c.mode,
label: c.label,
modeTags: c.modeTags,
}));
}
export function getDefaultOperationalStates() {
return [
{ operationalStateId: RvcOperationalState.OperationalState.Stopped },
{ operationalStateId: RvcOperationalState.OperationalState.Running },
{ operationalStateId: RvcOperationalState.OperationalState.Paused },
{ operationalStateId: RvcOperationalState.OperationalState.Error },
{ operationalStateId: RvcOperationalState.OperationalState.SeekingCharger },
{ operationalStateId: RvcOperationalState.OperationalState.Charging },
{ operationalStateId: RvcOperationalState.OperationalState.Docked },
{ operationalStateId: RvcOperationalState.OperationalState.EmptyingDustBin },
{ operationalStateId: RvcOperationalState.OperationalState.CleaningMop },
{ operationalStateId: RvcOperationalState.OperationalState.FillingWaterTank },
{ operationalStateId: RvcOperationalState.OperationalState.UpdatingMaps },
];
}
//# sourceMappingURL=runModeConfig.js.map