# Feature

    struct Feature

Thermostat cluster FeatureMap.
- `


  ### [rawValue](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV8rawValues6UInt32Vvp)


  ` The corresponding value of the raw type.

  A new instance initialized with `rawValue` will be equivalent to this
  instance. For example:

      enum PaperSize: String {
          case A4, A5, Letter, Legal
      }

      let selectedSize = PaperSize.Letter
      print(selectedSize.rawValue)
      // Prints "Letter"

      print(selectedSize == PaperSize(rawValue: selectedSize.rawValue)!)
      // Prints "true"

  #### Declaration

  Swift

      let rawValue: UInt32

- `


  ### [init(rawValue:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV8rawValueAGs6UInt32V_tcfc)


  ` Creates a new option set from the given raw value.

  This initializer always succeeds, even if the value passed as `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV8rawValues6UInt32Vvp`
  exceeds the static properties declared as part of the option set. This
  example creates an instance of `ShippingOptions` with a raw value beyond
  the highest element, with a bit mask that effectively contains all the
  declared static members.

      let extraOptions = ShippingOptions(rawValue: 255)
      print(extraOptions.isStrictSuperset(of: .all))
      // Prints "true"

  #### Declaration

  Swift

      init(rawValue: UInt32)

  #### Parameters

  |---|---|
  | ` rawValue ` | The raw value of the option set to create. Each bit of `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV8rawValues6UInt32Vvp` potentially represents an element of the option set, though raw values may include bits that are not defined as distinct values of the `OptionSet` type. |

- `


  ### [heating](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV7heatingAGvpZ)


  ` Thermostat is capable of managing a heating device.

  #### Declaration

  Swift

      static let heating: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.Feature

- `


  ### [cooling](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV7coolingAGvpZ)


  ` Thermostat is capable of managing a cooling device.

  #### Declaration

  Swift

      static let cooling: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.Feature

- `


  ### [occupancy](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV9occupancyAGvpZ)


  ` Supports occupied and unoccupied setpoints.

  #### Declaration

  Swift

      static let occupancy: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.Feature

- `


  ### [scheduleConfiguration](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV21scheduleConfigurationAGvpZ)


  ` Supports remote configuration of a weekly schedule of setpoint transitions.

  #### Declaration

  Swift

      static let scheduleConfiguration: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.Feature

- `


  ### [setback](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV7setbackAGvpZ)


  ` Supports configurable setback, also called span.

  #### Declaration

  Swift

      static let setback: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.Feature

- `


  ### [autoMode](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV8autoModeAGvpZ)


  ` Supports auto mode.

  #### Declaration

  Swift

      static let autoMode: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.Feature

- `


  ### [localTemperatureNotExposed](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV26localTemperatureNotExposedAGvpZ)


  ` Thermostat does not expose the local temperature in the
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV16localTemperatures5Int16VSgvp` attribute.

  #### Declaration

  Swift

      static let localTemperatureNotExposed: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.Feature

- `


  ### [matterScheduleConfiguration](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV27matterScheduleConfigurationAGvpZ)


  ` Supports enhanced schedules.

  #### Declaration

  Swift

      static let matterScheduleConfiguration: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.Feature

- `


  ### [presets](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV7FeatureV7presetsAGvpZ)


  ` Supports setpoint presets.

  #### Declaration

  Swift

      static let presets: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.Feature