# Attributes

    struct Attributes

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


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


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

  #### Declaration

  Swift

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

- `


  ### [currentLevel](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV07currentE0s5UInt8VSgvp)


  ` The current level of the device, which is device dependent. For example, a level for a light
  may mean the brightness level. Cannot be less than the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV03minE0s5UInt8VSgvp` or greater than the
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV03maxE0s5UInt8VSgvp`.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var currentLevel: UInt8? { get }

- `


  ### [remainingTime](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV13remainingTimes6UInt16VSgvp)


  ` The time remaining (in 0.1 seconds) until the current command is complete.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var remainingTime: UInt16? { get }

- `


  ### [minLevel](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV03minE0s5UInt8VSgvp)


  ` The minimum value that can be assigned to the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV07currentE0s5UInt8VSgvp` attribute.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var minLevel: UInt8? { get }

- `


  ### [maxLevel](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV03maxE0s5UInt8VSgvp)


  ` The maximum value that can be assigned to the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV07currentE0s5UInt8VSgvp` attribute.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var maxLevel: UInt8? { get }

- `


  ### [currentFrequency](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV16currentFrequencys6UInt16VSgvp)


  ` The frequency at which the device is at `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV07currentE0s5UInt8VSgvp`. A value of `0` means the frequency
  is unknown. Cannot be less than the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV12minFrequencys6UInt16VSgvp` or greater than the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV12maxFrequencys6UInt16VSgvp`.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var currentFrequency: UInt16? { get }

- `


  ### [minFrequency](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV12minFrequencys6UInt16VSgvp)


  ` The minimum value that can be assigned to the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV16currentFrequencys6UInt16VSgvp` attribute. This value is
  always less than or equal to `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV12maxFrequencys6UInt16VSgvp`. A value of `0` means undefined.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var minFrequency: UInt16? { get }

- `


  ### [maxFrequency](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV12maxFrequencys6UInt16VSgvp)


  ` The maximum value that can be assigned to the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV16currentFrequencys6UInt16VSgvp` attribute. This value is
  always greater than or equal to `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV12minFrequencys6UInt16VSgvp`. A value of `0` means undefined.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var maxFrequency: UInt16? { get }

- `


  ### [options](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV7optionsAE13OptionsBitmapVSgvp)


  ` A bitmap that determines the default behavior of some cluster commands. This should only be
  changed during commissioning. See \[LevelControlTrait.OptionsBitmap\] for more information.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var options: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/OptionsBitmap.html? { get }

- `


  ### [onOffTransitionTime](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV19onOffTransitionTimes6UInt16VSgvp)


  ` The time taken (in 0.1 seconds) to move to or from the target level when `on` or `off`
  commands are received by an `OnOff` cluster on the same endpoint. Not supported for devices
  that are not able to transition at a variable rate.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var onOffTransitionTime: UInt16? { get }

- `


  ### [onLevel](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV02onE0s5UInt8VSgvp)


  ` The value that the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV07currentE0s5UInt8VSgvp` attribute is set to when the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OnOffTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO10OnOffTraitV10AttributesV02onF0SbSgvp`
  attribute of the `OnOff` cluster is set to true as a result of processing an `OnOff` cluster
  command. Cannot be less than the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV03minE0s5UInt8VSgvp` or greater than the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV03maxE0s5UInt8VSgvp`.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var onLevel: UInt8? { get }

- `


  ### [onTransitionTime](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV16onTransitionTimes6UInt16VSgvp)


  ` The time taken (in 0.1 seconds) to move the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV07currentE0s5UInt8VSgvp` from the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV03minE0s5UInt8VSgvp` to the
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV03maxE0s5UInt8VSgvp` when an `on` command is received by an `OnOff` cluster on the same endpoint. If
  not implemented or defined, `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV19onOffTransitionTimes6UInt16VSgvp` is used instead.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var onTransitionTime: UInt16? { get }

- `


  ### [offTransitionTime](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV17offTransitionTimes6UInt16VSgvp)


  ` The time taken (in 0.1 seconds) to move the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV07currentE0s5UInt8VSgvp` from the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV03maxE0s5UInt8VSgvp` to the
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV03minE0s5UInt8VSgvp` when an `on` command is received by an `OnOff` cluster on the same endpoint. If
  not implemented or defined, `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV19onOffTransitionTimes6UInt16VSgvp` is used instead.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var offTransitionTime: UInt16? { get }

- `


  ### [defaultMoveRate](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV15defaultMoveRates5UInt8VSgvp)


  ` The movement rate (in units per second) when a `move` command is reeceived with a `rate`
  parameter of null.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var defaultMoveRate: UInt8? { get }

- `


  ### [startUpCurrentLevel](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV014startUpCurrentE0s5UInt8VSgvp)


  ` The desired startup level for a device when it is supplied with power, which is reflected in
  the `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV07currentE0s5UInt8VSgvp` attribute. A value of `0` sets `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV07currentE0s5UInt8VSgvp` to `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV03minE0s5UInt8VSgvp`. A value of
  null, or a device reboot from an OTA, sets `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV07currentE0s5UInt8VSgvp` to its previous value. Any other
  value sets `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV07currentE0s5UInt8VSgvp` to that value.
  Nullable: true.

  #### Declaration

  Swift

      @TraitAttribute
      var startUpCurrentLevel: UInt8? { get }

- `


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


  ` 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/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV19acceptedCommandListSays6UInt32VGSgvp)


  ` 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/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV10featureMapAE7FeatureVSgvp)


  ` 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/LevelControlTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Feature.html? { get }

- `


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


  ` 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/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV10identifierSSvpZ)


  ` The trait identifier.

  #### Declaration

  Swift

      static var identifier: String { get }

- `


  ### [encode(with:)](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV6encode4withy0aB3SDK0G7EncoderC_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/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV2eeoiySbAG_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/LevelControlTrait.html.Attributes, rhs: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/LevelControlTrait.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/LevelControlTrait/Attributes#/s:15GoogleHomeTypes6MatterO17LevelControlTraitV10AttributesV4hash4intoys6HasherVz_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)