"use strict";
var import_Resource = require("#models/Resource.js");
/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import_Resource.Resource.add({
  tag: "cluster",
  name: "RvcRunMode",
  pics: "RVCRUNM",
  xref: "cluster\xA77.2",
  details: "This cluster is derived from the Mode Base cluster and defines additional mode tags and namespaced enumerated values for the running modes of robotic vacuum cleaner devices.",
  children: [
    {
      tag: "attribute",
      name: "FeatureMap",
      xref: "cluster\xA77.2.4",
      children: [
        { tag: "field", name: "DEPONOFF", details: "Dependency with the OnOff cluster" },
        {
          tag: "field",
          name: "DIRECTMODECH",
          xref: "cluster\xA77.2.4.1",
          details: "This feature indicates whether the cluster implementation supports changing the run modes while the RVC Run Mode cluster's CurrentMode attribute is set to a mode without the Idle mode tag. If the implementation does not support such a change, the ChangeToModeResponse command shall have the StatusCode field set to the InvalidInMode value."
        }
      ]
    },
    {
      tag: "attribute",
      name: "SupportedModes",
      xref: "cluster\xA77.2.6.1",
      details: "At least one entry in the SupportedModes attribute shall include the Idle mode tag in the ModeTags field.\nAt least one entry in the SupportedModes attribute (different from the one above) shall include the Cleaning mode tag in the ModeTags field.\nThe Mapping, Cleaning, and Idle mode tags are mutually exclusive and shall NOT be used together in a mode's ModeTags."
    },
    { tag: "attribute", name: "CurrentMode", xref: "cluster\xA77.2.6" },
    { tag: "attribute", name: "StartUpMode", xref: "cluster\xA77.2.6" },
    { tag: "attribute", name: "OnMode", xref: "cluster\xA77.2.6" },
    {
      tag: "datatype",
      name: "ModeOptionStruct",
      xref: "cluster\xA77.2.5.1",
      details: "The table below lists the changes relative to the Mode Base cluster for the fields of the ModeOptionStruct type. A blank field indicates no change."
    },
    {
      tag: "datatype",
      name: "ModeChangeStatus",
      children: [
        { tag: "field", name: "Stuck", xref: "cluster\xA77.2.7.1" },
        { tag: "field", name: "DustBinMissing", xref: "cluster\xA77.2.7.1" },
        { tag: "field", name: "DustBinFull", xref: "cluster\xA77.2.7.1" },
        { tag: "field", name: "WaterTankEmpty", xref: "cluster\xA77.2.7.1" },
        { tag: "field", name: "WaterTankMissing", xref: "cluster\xA77.2.7.1" },
        { tag: "field", name: "WaterTankLidOpen", xref: "cluster\xA77.2.7.1" },
        { tag: "field", name: "MopCleaningPadMissing", xref: "cluster\xA77.2.7.1" },
        { tag: "field", name: "BatteryLow", xref: "cluster\xA77.2.7.1" }
      ]
    },
    {
      tag: "datatype",
      name: "ModeTag",
      children: [
        { tag: "field", name: "Auto", xref: "cluster\xA77.2.7.2" },
        { tag: "field", name: "Quick", xref: "cluster\xA77.2.7.2" },
        { tag: "field", name: "Quiet", xref: "cluster\xA77.2.7.2" },
        { tag: "field", name: "LowNoise", xref: "cluster\xA77.2.7.2" },
        { tag: "field", name: "LowEnergy", xref: "cluster\xA77.2.7.2" },
        { tag: "field", name: "Vacation", xref: "cluster\xA77.2.7.2" },
        { tag: "field", name: "Min", xref: "cluster\xA77.2.7.2" },
        { tag: "field", name: "Max", xref: "cluster\xA77.2.7.2" },
        { tag: "field", name: "Night", xref: "cluster\xA77.2.7.2" },
        { tag: "field", name: "Day", xref: "cluster\xA77.2.7.2" },
        {
          tag: "field",
          name: "Idle",
          xref: "cluster\xA77.2.7.2.1",
          details: "The device is not performing any of the main operations of the other modes. However, auxiliary actions, such as seeking the charger or charging, may occur.\nFor example, the device has completed cleaning, successfully or not, on its own or due to a command, or has not been asked to clean after a restart."
        },
        {
          tag: "field",
          name: "Cleaning",
          xref: "cluster\xA77.2.7.2.2",
          details: "The device was asked to clean so it may be actively running, or paused due to an error, due to a pause command, or for recharging etc. If currently paused and the device can resume it will continue to clean."
        },
        {
          tag: "field",
          name: "Mapping",
          xref: "cluster\xA77.2.7.2.3",
          details: "The device was asked to create a map of the space it is located in, so it may be actively running, or paused due to an error, due to a pause command, or for recharging etc. If currently paused and the device can resume, it will continue to map.\n> [!NOTE]\n> NOTE: this mode is intended to be used so the current space can be mapped by the device if the robot has not previously done that, or if the layout has substantially changed, for an optimal subsequent cleaning experience."
        }
      ]
    }
  ]
});
//# sourceMappingURL=rvc-run-mode.resource.js.map
