    struct Attributes

Attributes for the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html`.
- `


  ### [attributeList](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV13attributeListSays6UInt32VGSgvp)


  ` A list of the attribute IDs of the attributes supported by the cluster instance.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var attributeList: [UInt32]? { get }

- `


  ### [localTemperature](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV16localTemperatures5Int16VSgvp)


  ` The current temperature. The value may be local or remote, depending on the value of
  `ThermostatTrait/Attributes/RemoteSensing`.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var localTemperature: Int16? { get }

- `


  ### [outdoorTemperature](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV18outdoorTemperatures5Int16VSgvp)


  ` The outdoor temperature, as measured locally or remotely (over the network).
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var outdoorTemperature: Int16? { get }

- `


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


  ` This specifies whether the heated or cooled space is occupied or not, as measured locally or
  remotely (over the network). If bit 0 = `1`, the space is occupied, else it is unoccupied.
  All other bits are reserved.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var occupancy: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/OccupancyBitmap.html? { get }

- `


  ### [absMinHeatSetpointLimit](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23absMinHeatSetpointLimits5Int16VSgvp)


  ` The absolute minimum level that the heating setpoint may be set to. This is a limitation
  imposed by the manufacturer.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var absMinHeatSetpointLimit: Int16? { get }

- `


  ### [absMaxHeatSetpointLimit](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23absMaxHeatSetpointLimits5Int16VSgvp)


  ` The absolute maximum level that the heating setpoint may be set to. This is a limitation
  imposed by the manufacturer.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var absMaxHeatSetpointLimit: Int16? { get }

- `


  ### [absMinCoolSetpointLimit](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23absMinCoolSetpointLimits5Int16VSgvp)


  ` The absolute minimum level that the cooling setpoint may be set to. This is a limitation
  imposed by the manufacturer.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var absMinCoolSetpointLimit: Int16? { get }

- `


  ### [absMaxCoolSetpointLimit](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23absMaxCoolSetpointLimits5Int16VSgvp)


  ` The absolute maximum level that the cooling setpoint may be set to. This is a limitation
  imposed by the manufacturer.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var absMaxCoolSetpointLimit: Int16? { get }

- `


  ### [piCoolingDemand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV15piCoolingDemands5UInt8VSgvp)


  ` The level of cooling demanded by the PI (proportional integral) control loop in use by the
  thermostat (if any), in percent. This value is 0 when the thermostat is in 'off' or
  'heating' mode.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var piCoolingDemand: UInt8? { get }

- `


  ### [piHeatingDemand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV15piHeatingDemands5UInt8VSgvp)


  ` The level of heating demanded by the PI (proportional integral) control loop in use by the
  thermostat (if any), in percent. This value is 0 when the thermostat is in 'off' or
  'cooling' mode.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var piHeatingDemand: UInt8? { get }

- `


  ### [hvacSystemTypeConfiguration](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV27hvacSystemTypeConfigurationAE04HvaciJ6BitmapVSgvp)


  ` The HVAC system type controlled by the thermostat. Each bit represents a type of system
  configuration.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var hvacSystemTypeConfiguration: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/HvacSystemTypeBitmap.html? { get }

- `


  ### [localTemperatureCalibration](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV27localTemperatureCalibrations4Int8VSgvp)


  ` The offset the thermostat server makes to the measured temperature (locally or remotely) to
  adjust the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV16localTemperatures5Int16VSgvp` attribute prior to using, displaying or reporting it. The
  purpose of this attribute is to adjust the calibration of the thermostat server according to
  the user's preferences (for example, to match if there are multiple servers displaying
  different values for the same HVAC area) or compensate for variability amongst temperature
  sensors.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var localTemperatureCalibration: Int8? { get }

- `


  ### [occupiedCoolingSetpoint](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23occupiedCoolingSetpoints5Int16VSgvp)


  ` The cooling mode setpoint when the room is occupied.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var occupiedCoolingSetpoint: Int16? { get }

- `


  ### [occupiedHeatingSetpoint](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23occupiedHeatingSetpoints5Int16VSgvp)


  ` The heating mode setpoint when the room is occupied.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var occupiedHeatingSetpoint: Int16? { get }

- `


  ### [unoccupiedCoolingSetpoint](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV25unoccupiedCoolingSetpoints5Int16VSgvp)


  ` The cooling mode setpoint when the room is unoccupied.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var unoccupiedCoolingSetpoint: Int16? { get }

- `


  ### [unoccupiedHeatingSetpoint](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV25unoccupiedHeatingSetpoints5Int16VSgvp)


  ` The heating mode setpoint when the room is unoccupied.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var unoccupiedHeatingSetpoint: Int16? { get }

- `


  ### [minHeatSetpointLimit](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV20minHeatSetpointLimits5Int16VSgvp)


  ` The minimum level that the heating setpoint may be set to. This allows the user to define
  setpoint limits more constrictive than the manufacturer imposed ones. Limiting users (for
  example, in a commercial building) to such setpoint limits can help conserve power.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var minHeatSetpointLimit: Int16? { get }

- `


  ### [maxHeatSetpointLimit](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV20maxHeatSetpointLimits5Int16VSgvp)


  ` The maximum level that the heating setpoint may be set to. This allows the user to define
  setpoint limits more constrictive than the manufacturer imposed ones. Limiting users (for
  example, in a commercial building) to such setpoint limits can help conserve power.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var maxHeatSetpointLimit: Int16? { get }

- `


  ### [minCoolSetpointLimit](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV20minCoolSetpointLimits5Int16VSgvp)


  ` The minimum level that the cooling setpoint may be set to. This allows the user to define
  setpoint limits more constrictive than the manufacturer imposed ones. Limiting users (for
  example, in a commercial building) to such setpoint limits can help conserve power.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var minCoolSetpointLimit: Int16? { get }

- `


  ### [maxCoolSetpointLimit](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV20maxCoolSetpointLimits5Int16VSgvp)


  ` The maximum level that the cooling setpoint may be set to. This allows the user to define
  setpoint limits more constrictive than the manufacturer imposed ones. Limiting users (for
  example, in a commercial building) to such setpoint limits can help conserve power.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var maxCoolSetpointLimit: Int16? { get }

- `


  ### [minSetpointDeadBand](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV19minSetpointDeadBands4Int8VSgvp)


  ` On devices which support the auto feature, this specifies the minimum difference between the
  heat setpoint and the cool setpoint.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var minSetpointDeadBand: Int8? { get }

- `


  ### [remoteSensing](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV13remoteSensingAE06RemoteI6BitmapVSgvp)


  ` This bitmap indicates when the local temperature, outdoor temperature and occupancy are
  being sensed by remote networked sensors, rather than internal sensors. A bit set to 1
  indicates remote sensing of the relevant value. For more details, see the [Matter
  Specification](https://csa-iot.org/developer-resource/specifications-download-request/).
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var remoteSensing: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/RemoteSensingBitmap.html? { get }

- `


  ### [controlSequenceOfOperation](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV26controlSequenceOfOperationAE07ControlijK4EnumOSgvp)


  ` The possible system modes that the thermostat can operate in. Valid modes are defined by
  `ThermostatTrait/Attributes/ControlSequenceOfOperationEnum`.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var controlSequenceOfOperation: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ControlSequenceOfOperationEnum.html? { get }

- `


  ### [systemMode](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV10systemModeAE06SystemI4EnumOSgvp)


  ` The current operating mode of the thermostat. Valid values are defined by
  `ThermostatTrait/Attributes/SystemModeEnum`.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var systemMode: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/SystemModeEnum.html? { get }

- `


  ### [thermostatRunningMode](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV21thermostatRunningModeAE0eiJ4EnumOSgvp)


  ` The running mode of the thermostat. This attribute uses the
  `ThermostatTrait/Attributes/ThermostatRunningModeEnum` values. This attribute is intended to
  provide additional information when the thermostat is in auto mode.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var thermostatRunningMode: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ThermostatRunningModeEnum.html? { get }

- `


  ### [startOfWeek](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV11startOfWeekAE05StartiJ4EnumOSgvp)


  ` The day of the week that this thermostat considers to be the start of week for weekly
  setpoint scheduling.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var startOfWeek: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/StartOfWeekEnum.html? { get }

- `


  ### [numberOfWeeklyTransitions](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV25numberOfWeeklyTransitionss5UInt8VSgvp)


  ` The number of weekly schedule transitions the thermostat can handle.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var numberOfWeeklyTransitions: UInt8? { get }

- `


  ### [numberOfDailyTransitions](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV24numberOfDailyTransitionss5UInt8VSgvp)


  ` The number of daily schedule transitions the thermostat can handle.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var numberOfDailyTransitions: UInt8? { get }

- `


  ### [temperatureSetpointHold](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23temperatureSetpointHoldAE011TemperatureiJ4EnumOSgvp)


  ` The temperature hold status on the thermostat.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var temperatureSetpointHold: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/TemperatureSetpointHoldEnum.html? { get }

- `


  ### [temperatureSetpointHoldDuration](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV31temperatureSetpointHoldDurations6UInt16VSgvp)


  ` This sets the period in minutes for which a setpoint hold is active. A null value indicates
  the field is unused. All other values are reserved.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var temperatureSetpointHoldDuration: UInt16? { get }

- `


  ### [thermostatProgrammingOperationMode](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV34thermostatProgrammingOperationModeAE0ijK6BitmapVSgvp)


  ` The operational state of the thermostat's programming. For complete details, see the [Matter
  Specification](https://csa-iot.org/developer-resource/specifications-download-request/).
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var thermostatProgrammingOperationMode: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ProgrammingOperationModeBitmap.html? { get }

- `


  ### [thermostatRunningState](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV22thermostatRunningStateAE05RelayJ6BitmapVSgvp)


  ` The current relay state of the heat, cool, and fan relays.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var thermostatRunningState: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/RelayStateBitmap.html? { get }

- `


  ### [setpointChangeSource](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV20setpointChangeSourceAE08SetpointiJ4EnumOSgvp)


  ` The source of the current active `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23occupiedCoolingSetpoints5Int16VSgvp` or
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23occupiedHeatingSetpoints5Int16VSgvp` (in other words, who or what determined
  the current setpoint). This enables service providers to determine whether changes to
  setpoints were initiated due to occupant comfort, scheduled programming, or some other
  source, such as an electric utility or service provider. Because automation services may
  initiate frequent setpoint changes, this attribute clearly differentiates the source of
  setpoint changes made at the thermostat.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var setpointChangeSource: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/SetpointChangeSourceEnum.html? { get }

- `


  ### [setpointChangeAmount](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV20setpointChangeAmounts5Int16VSgvp)


  ` The delta between the current active `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23occupiedCoolingSetpoints5Int16VSgvp` or
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23occupiedHeatingSetpoints5Int16VSgvp` and the previous active setpoint. A
  null value indicates that the previous setpoint was unknown.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var setpointChangeAmount: Int16? { get }

- `


  ### [setpointChangeSourceTimestamp](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV29setpointChangeSourceTimestamps6UInt32VSgvp)


  ` The UTC time at which the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV20setpointChangeSourceAE08SetpointiJ4EnumOSgvp` change was
  recorded.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var setpointChangeSourceTimestamp: UInt32? { get }

- `


  ### [occupiedSetback](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV15occupiedSetbacks5UInt8VSgvp)


  ` The amount that the thermostat will allow the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV16localTemperatures5Int16VSgvp`
  attribute to float above the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23occupiedCoolingSetpoints5Int16VSgvp` (in other
  words, `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23occupiedCoolingSetpoints5Int16VSgvp` + `occupiedSetback` ) or below
  the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23occupiedHeatingSetpoints5Int16VSgvp` (in other words,
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23occupiedHeatingSetpoints5Int16VSgvp` - `occupiedSetback` ) before initiating
  a state change to bring the temperature back to the user's desired setpoint. This is
  sometimes also referred to as the 'span'. The purpose of this is to allow remote
  configuration of the span between the desired setpoint and the measured temperature to help
  prevent over-cycling and reduce energy bills, though this may result in lower comfort on the
  part of some users. A null value indicates the attribute is unused.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var occupiedSetback: UInt8? { get }

- `


  ### [occupiedSetbackMin](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV18occupiedSetbackMins5UInt8VSgvp)


  ` The minimum value that the user can set the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV15occupiedSetbacks5UInt8VSgvp` to.
  A null value indicates the attribute is unused.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var occupiedSetbackMin: UInt8? { get }

- `


  ### [occupiedSetbackMax](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV18occupiedSetbackMaxs5UInt8VSgvp)


  ` The maximum value that the user can set the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV15occupiedSetbacks5UInt8VSgvp` to.
  A null value indicates the attribute is unused.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var occupiedSetbackMax: UInt8? { get }

- `


  ### [unoccupiedSetback](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV17unoccupiedSetbacks5UInt8VSgvp)


  ` The amount that the thermostat server will allow the
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV16localTemperatures5Int16VSgvp` attribute to float above the
  `ThermostatTrait/Attributes/unoccupiedCoolingSetback` setpoint (in other words,
  `ThermostatTrait/Attributes/unoccupiedCoolingSetback` +
  `ThermostatTrait/Attributes/unoccupiedSetback` ) or below the
  `ThermostatTrait/Attributes/unoccupiedHeatingSetback` setpoint (in other words,
  `ThermostatTrait/Attributes/unoccupiedHeatingSetback` -
  `ThermostatTrait/Attributes/unoccupiedSetback` ) before initiating a state change to bring
  the temperature back to the user's desired setpoint. This attribute is sometimes also
  referred to as the 'span'. The purpose of this attribute is to allow remote configuration of
  the span between the desired setpoint and the measured temperature to help prevent over-
  cycling and reduce energy bills, though this may result in lower comfort on the part of some
  users. A null value indicates the attribute is unused.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var unoccupiedSetback: UInt8? { get }

- `


  ### [unoccupiedSetbackMin](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV20unoccupiedSetbackMins5UInt8VSgvp)


  ` The minimum value that the user can set the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV17unoccupiedSetbacks5UInt8VSgvp`
  to. A null value indicates the attribute is unused.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var unoccupiedSetbackMin: UInt8? { get }

- `


  ### [unoccupiedSetbackMax](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV20unoccupiedSetbackMaxs5UInt8VSgvp)


  ` The maximum value that the user can set the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV17unoccupiedSetbacks5UInt8VSgvp`
  to. A null value indicates the attribute is unused.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var unoccupiedSetbackMax: UInt8? { get }

- `


  ### [emergencyHeatDelta](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV18emergencyHeatDeltas5UInt8VSgvp)


  ` The delta between the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV16localTemperatures5Int16VSgvp` attribute and
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV23occupiedHeatingSetpoints5Int16VSgvp` or
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV25unoccupiedHeatingSetpoints5Int16VSgvp` at which the thermostat server will
  operate in emergency heat mode. The purpose of this attribute is to provide thermostat
  clients the ability to configure rapid heating when a setpoint is of a specified amount
  greater than the measured temperature. This allows the heated space to be quickly heated to
  the desired level set by the user.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var emergencyHeatDelta: UInt8? { get }

- `


  ### [acType](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV6acTypeAE10ACTypeEnumOSgvp)


  ` The type of mini split AC in terms of how cooling and heating is accomplished by the device.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var acType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ACTypeEnum.html? { get }

- `


  ### [acCapacity](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV10acCapacitys6UInt16VSgvp)


  ` The capacity of the mini split AC as expressed by
  `ThermostatTrait/Attributes/ACCapacityformat`.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var acCapacity: UInt16? { get }

- `


  ### [acRefrigerantType](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV17acRefrigerantTypeAE013ACRefrigerantJ4EnumOSgvp)


  ` Type of refrigerant used within the mini split AC.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var acRefrigerantType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ACRefrigerantTypeEnum.html? { get }

- `


  ### [acCompressorType](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV16acCompressorTypeAE012ACCompressorJ4EnumOSgvp)


  ` The type of compressor used within the mini split AC.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var acCompressorType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ACCompressorTypeEnum.html? { get }

- `


  ### [acErrorCode](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV11acErrorCodeAE07ACErrorJ6BitmapVSgvp)


  ` This bitmap indicates the type of errors encountered within the mini split AC. Error codes
  are reported with four-byte values. Each bit within the four bytes indicates a unique error
  code. For more details, see the [Matter Specification](https://csa-iot.org/developer-%0Aresource/specifications-download-request/).
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var acErrorCode: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ACErrorCodeBitmap.html? { get }

- `


  ### [acLouverPosition](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV16acLouverPositionAE08ACLouverJ4EnumOSgvp)


  ` The position of the louver on the AC.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var acLouverPosition: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ACLouverPositionEnum.html? { get }

- `


  ### [acCoilTemperature](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV17acCoilTemperatures5Int16VSgvp)


  ` The temperature of the AC coil, as measured locally or remotely (over the network).
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var acCoilTemperature: Int16? { get }

- `


  ### [acCapacityformat](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV16acCapacityformatAE20ACCapacityFormatEnumOSgvp)


  ` The format for `ThermostatTrait/Attributes/ACCapacity`.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var acCapacityformat: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ACCapacityFormatEnum.html? { get }

- `


  ### [presetTypes](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV06presetC0SayAE16PresetTypeStructVGSgvp)


  ` Types of setpoint presets available.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var presetTypes: [https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/PresetTypeStruct.html]? { get }

- `


  ### [scheduleTypes](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV08scheduleC0SayAE18ScheduleTypeStructVGSgvp)


  ` Types of schedule available.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var scheduleTypes: [https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ScheduleTypeStruct.html]? { get }

- `


  ### [numberOfPresets](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV15numberOfPresetss5UInt8VSgvp)


  ` The number of presets the thermostat can handle.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var numberOfPresets: UInt8? { get }

- `


  ### [numberOfSchedules](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV17numberOfScheduless5UInt8VSgvp)


  ` The number of schedules the thermostat can handle.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var numberOfSchedules: UInt8? { get }

- `


  ### [numberOfScheduleTransitions](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV27numberOfScheduleTransitionss5UInt8VSgvp)


  ` The number of schedule transitions the thermostat can handle.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var numberOfScheduleTransitions: UInt8? { get }

- `


  ### [numberOfScheduleTransitionPerDay](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV32numberOfScheduleTransitionPerDays5UInt8VSgvp)


  ` The number of schedule transitions per day the thermostat can handle.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var numberOfScheduleTransitionPerDay: UInt8? { get }

- `


  ### [activePresetHandle](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV18activePresetHandle10Foundation4DataVSgvp)


  ` The active preset.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var activePresetHandle: Data? { get }

- `


  ### [activeScheduleHandle](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV20activeScheduleHandle10Foundation4DataVSgvp)


  ` The active schedule.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var activeScheduleHandle: Data? { get }

- `


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


  ` Setpoint presets.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var presets: [https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/PresetStruct.html]? { get }

- `


  ### [schedules](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV9schedulesSayAE14ScheduleStructVGSgvp)


  ` Schedules.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var schedules: [https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ScheduleStruct.html]? { get }

- `


  ### [setpointHoldExpiryTimestamp](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV27setpointHoldExpiryTimestamps6UInt32VSgvp)


  ` The UTC time at which the `ThermostatTrait/Attributes/setpointHold` expires.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var setpointHoldExpiryTimestamp: UInt32? { get }

- `


  ### [maxThermostatSuggestions](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV03maxE11Suggestionss5UInt8VSgvp)


  ` This is provisional and is not available for use.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var maxThermostatSuggestions: UInt8? { get }

- `


  ### [thermostatSuggestions](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV21thermostatSuggestionsSayAE0E16SuggestionStructVGSgvp)


  ` This is provisional and is not available for use.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var thermostatSuggestions: [https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ThermostatSuggestionStruct.html]? { get }

- `


  ### [currentThermostatSuggestion](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV07currentE10SuggestionAE0eI6StructVSgvp)


  ` This is provisional and is not available for use.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var currentThermostatSuggestion: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ThermostatSuggestionStruct.html? { get }

- `


  ### [thermostatSuggestionNotFollowingReason](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV38thermostatSuggestionNotFollowingReasonAE0eijkL6BitmapVSgvp)


  ` Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var thermostatSuggestionNotFollowingReason: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/ThermostatSuggestionNotFollowingReasonBitmap.html? { get }

- `


  ### [generatedCommandList](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV20generatedCommandListSays6UInt32VGSgvp)


  ` A list of server-generated commands (server to client) which are supported by this
  cluster server instance.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var generatedCommandList: [UInt32]? { get }

- `


  ### [acceptedCommandList](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV19acceptedCommandListSays6UInt32VGSgvp)


  ` A list of client-generated commands which are supported by this cluster server instance.

  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var acceptedCommandList: [UInt32]? { get }

- `


  ### [featureMap](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV10featureMapAE7FeatureVSgvp)


  ` Whether the server supports zero or more optional cluster features. A cluster feature
  is a set of cluster elements that are mandatory or optional for a defined feature of the
  cluster. If a cluster feature is supported by the cluster instance, then the corresponding
  bit is set to 1, otherwise the bit is set to 0 (zero).
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var featureMap: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Feature.html? { get }

- `


  ### [clusterRevision](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV15clusterRevisions6UInt16VSgvp)


  ` The revision of the server cluster specification supported by the cluster instance.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var clusterRevision: UInt16? { get }

- `


  ### [identifier](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV10identifierSSvpZ)


  ` The trait identifier.

  #### Declaration

  Swift

      static var identifier: String { get }

- `


  ### [encode(with:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV6encode4withy0aB3SDK0F7EncoderC_tKF)


  ` Writes this object to the given `TraitEncoder`.
  Throws `HomeError.encodingFailed` if the data could not be encoded.

  #### Declaration

  Swift

      func encode(with encoder: TraitEncoder) throws

- `


  ### [==(_:_:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV2eeoiySbAG_AGtFZ)


  ` Returns a Boolean value indicating whether two values are equal.

  Equality is the inverse of inequality. For any values `a` and `b`,
  `a == b` implies that `a != b` is `false`.

  #### Declaration

  Swift

      static func == (lhs: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.Attributes, rhs: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait.html.Attributes) -> Bool

  #### Parameters

  |---|---|
  | ` lhs ` | A value to compare. |
  | ` rhs ` | Another value to compare. |

- `


  ### [hash(into:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/ThermostatTrait/Attributes#/s:15GoogleHomeTypes6MatterO15ThermostatTraitV10AttributesV4hash4intoys6HasherVz_tF)


  ` Hashes the essential components of this value by feeding them into the
  given hasher.

  Implement this method to conform to the `Hashable` protocol. The
  components used for hashing must be the same as the components compared
  in your type's `==` operator implementation. Call `hasher.combine(_:)`
  with each of these components.
  Important

  In your implementation of `hash(into:)`,
  don't call `finalize()` on the `hasher` instance provided,
  or replace it with a different instance.
  Doing so may become a compile-time error in the future.

  #### Declaration

  Swift

      func hash(into hasher: inout Hasher)