iobroker.roborock
Version:
101 lines (92 loc) • 5.52 kB
text/typescript
// src/lib/features/features.enum.ts
export enum Feature {
// --- Actions primarily adding Commands ---
FanMaxPlus = "FanMaxPlus", // Adds 'Max+' fan speed
SmartModeCommand = "SmartModeCommand", // Adds 'app_set_clean_sequence_type' command
MopWash = "MopWash", // Adds mop washing commands (start/stop/mode/params)
AutoEmptyDock = "AutoEmptyDock", // Adds dust collection commands (start/stop/status/mode)
MopDry = "MopDry", // Adds mop drying commands (status/setting)
WaterBox = "WaterBox", // Adds basic water box & mop mode commands (set_mop_mode, set_water_box_custom_mode)
CleanRouteFastMode = "CleanRouteFastMode", // Adds 'Fast' to mop modes
SmartPlan = "SmartPlan", // Adds 'SmartPlan' (306) to mop modes
CustomWaterBoxDistance = "CustomWaterBoxDistance", // Creates the special distance command state
// --- Actions primarily creating States (non-command) ---
LiveVideo = "LiveVideo", // Creates camera stream URL states
MultiFloor = "MultiFloor", // Creates multi-floor management states (max_map, etc.)
Consumables = "Consumables", // Creates consumables states
ResetConsumables = "ResetConsumables", // Creates reset consumables buttons
DockingStationStatus = "DockingStationStatus", // Creates docking station status states
CleaningRecords = "CleaningRecords", // Creates cleaning records states
WaterShortage = "WaterShortage", // Handle water shortage notification
NetworkInfo = "NetworkInfo",
UpdateStatus = "UpdateStatus",
Timers = "Timers",
FirmwareInfo = "FirmwareInfo",
MultiMap = "MultiMap",
RoomMapping = "RoomMapping",
Map = "Map",
CleanSummary = "CleanSummary",
// --- Static Flags (Defined by Model Class Config) ---
Camera = "Camera", // Model has a camera (static)
MopForbidden = "MopForbidden", // Model supports mop forbidden zones (static)
AvoidCarpet = "AvoidCarpet", // Model supports avoid carpet mode (static)
VoiceControl = "VoiceControl", // Model supports voice control (static)
ShakeMopStrength = "ShakeMopStrength", // Alias for WaterBox logic (static)
ElectronicWaterBox = "ElectronicWaterBox", // Alias for WaterBox logic (static)
GetPhoto = "GetPhoto", // Feature to enable the get_photo command
// --- Dynamic Bitfield/Firmware Features (Keys used in _getDynamicFeatures) ---
// These might map to Action Features above or just be flags themselves
isWashThenChargeCmdSupported = "isWashThenChargeCmdSupported", // Will map to MopWash action
isDustCollectionSettingSupported = "isDustCollectionSettingSupported", // Will map to AutoEmptyDock action
isSupportedDrying = "isSupportedDrying", // Will map to MopDry action
isShakeMopSetSupported = "isShakeMopSetSupported", // Placeholder/Flag
isVideoMonitorSupported = "isVideoMonitorSupported", // Placeholder/Flag
isVideoSettingSupported = "isVideoSettingSupported", // Placeholder/Flag
isCarpetSupported = "isCarpetSupported", // Placeholder/Flag
isPhotoUploadSupported = "isPhotoUploadSupported", // Placeholder/Flag
isAvoidCollisionSupported = "isAvoidCollisionSupported", // Placeholder/Flag
isCornerCleanModeSupported = "isCornerCleanModeSupported", // Placeholder/Flag
isSupportSetSwitchMapMode = "isSupportSetSwitchMapMode", // Placeholder/Flag
isCustomWaterBoxDistanceSupported = "isCustomWaterBoxDistanceSupported", // Will map to CustomWaterBoxDistance action
isBackChargeAutoWashSupported = "isBackChargeAutoWashSupported", // Placeholder/Flag
isCleanRouteFastModeSupported = "isCleanRouteFastModeSupported", // Will map to CleanRouteFastMode action
isVideoLiveCallSupported = "isVideoLiveCallSupported", // Will map to LiveVideo action
isSupportFDSEndPoint = "isSupportFDSEndPoint", // Placeholder/Flag
isSupportAutoSplitSegments = "isSupportAutoSplitSegments", // Placeholder/Flag
isSupportOrderSegmentClean = "isSupportOrderSegmentClean", // Placeholder/Flag
isMapSegmentSupported = "isMapSegmentSupported", // Placeholder/Flag
isSupportLedStatusSwitch = "isSupportLedStatusSwitch", // Placeholder/Flag
isMultiFloorSupported = "isMultiFloorSupported", // Will map to MultiFloor action
isSupportFetchTimerSummary = "isSupportFetchTimerSummary", // Placeholder/Flag
isOrderCleanSupported = "isOrderCleanSupported", // Placeholder/Flag
isRemoteSupported = "isRemoteSupported", // Placeholder/Flag
isSupportTaskId = "isSupportTaskId", // Placeholder/Flag
CommonStatus = "isSupportCommonStatus",
DockStatus = "isSupportDockStatus",
RobotStatus = "isSupportRobotStatus",
CleanTime = "isSupportCleanTime",
CleanArea = "isSupportCleanArea",
MapFlag = "isSupportMapFlag",
BackType = "isSupportBackType",
SwitchStatus = "isSupportSwitchStatus",
MonitorStatus = "isSupportMonitorStatus",
CleanPercent = "isSupportCleanPercent",
InWarmup = "isSupportInWarmup",
ExitDock = "isSupportExitDock",
ExtraTime = "isSupportExtraTime",
LastCleanTime = "isSupportLastCleanTime",
ChargeStatus = "isSupportChargeStatus",
TaskId = "isSupportTaskId",
CleaningInfo = "isSupportCleaningInfo",
CleanRepeat = "isSupportCleanRepeat",
Dss = "isSupportDss",
Rss = "isSupportRss",
Kct = "isSupportKct",
CleanFluid = "isSupportCleanFluid",
Rdt = "isSupportRdt",
ReplenishMode = "isSupportReplenishMode",
CleanedArea = "isSupportCleanedArea",
CleanTimes = "isSupportCleanTimes"
// --- Action Placeholders (if an action doesn't map 1:1 to a bitfield/fw feature) ---
// Add more if needed, otherwise rely on mapping the is... keys above
}