    struct Attributes

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


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


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

  #### Declaration

  Swift

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

- `


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


  ` The sensed (processed) status of occupancy.
  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/OccupancySensingTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/OccupancyBitmap.html? { get }

- `


  ### [occupancySensorType](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV19occupancySensorTypeAE0ejK4EnumOSgvp)


  ` The type of occupancy sensor. Valid values are defined in `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/OccupancySensorTypeEnum.html`
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var occupancySensorType: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/OccupancySensorTypeEnum.html? { get }

- `


  ### [occupancySensorTypeBitmap](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV25occupancySensorTypeBitmapAE0ejkL0VSgvp)


  ` The active occupancy sensor type. Valid modes are defined in `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/OccupancySensorTypeBitmap.html`
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var occupancySensorTypeBitmap: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/OccupancySensorTypeBitmap.html? { get }

- `


  ### [holdTime](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV8holdTimes6UInt16VSgvp)


  ` The time delay, in seconds, before the sensor changes to its unoccupied state after the last
  detection of occupancy.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var holdTime: UInt16? { get }

- `


  ### [holdTimeLimits](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV14holdTimeLimitsAE04HoldjK6StructVSgvp)


  ` The server's limits and default value for the holdTime attribute.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var holdTimeLimits: https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait.html.https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/HoldTimeLimitsStruct.html? { get }

- `


  ### [pirOccupiedToUnoccupiedDelay](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV28pirOccupiedToUnoccupiedDelays6UInt16VSgvp)


  ` The time delay in seconds before the PIR sensor changes to its unoccupied state after
  detecting movement in the sensed area.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var pirOccupiedToUnoccupiedDelay: UInt16? { get }

- `


  ### [pirUnoccupiedToOccupiedDelay](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV28pirUnoccupiedToOccupiedDelays6UInt16VSgvp)


  ` The time delay in seconds before the PIR sensor changes to its occupied state after
  detecting movement in the sensed area.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var pirUnoccupiedToOccupiedDelay: UInt16? { get }

- `


  ### [pirUnoccupiedToOccupiedThreshold](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV32pirUnoccupiedToOccupiedThresholds5UInt8VSgvp)


  ` The number of movement detection events that must occur within the
  `PirUnoccupiedToOccupiedDelay` period before the PIR sensor transitions to its occupied
  state.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var pirUnoccupiedToOccupiedThreshold: UInt8? { get }

- `


  ### [ultrasonicOccupiedToUnoccupiedDelay](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV35ultrasonicOccupiedToUnoccupiedDelays6UInt16VSgvp)


  ` The time delay in seconds before the ultrasonic sensor changes to its unoccupied state after
  detecting movement in the sensed area.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var ultrasonicOccupiedToUnoccupiedDelay: UInt16? { get }

- `


  ### [ultrasonicUnoccupiedToOccupiedDelay](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV35ultrasonicUnoccupiedToOccupiedDelays6UInt16VSgvp)


  ` The time delay in seconds before the Ultrasonic sensor changes to its occupied state after
  detecting movement in the sensed area.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var ultrasonicUnoccupiedToOccupiedDelay: UInt16? { get }

- `


  ### [ultrasonicUnoccupiedToOccupiedThreshold](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV39ultrasonicUnoccupiedToOccupiedThresholds5UInt8VSgvp)


  ` The number of movement detection events required during the
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV35ultrasonicUnoccupiedToOccupiedDelays6UInt16VSgvp` period before the ultrasonic sensor transitions to its
  occupied state.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var ultrasonicUnoccupiedToOccupiedThreshold: UInt8? { get }

- `


  ### [physicalContactOccupiedToUnoccupiedDelay](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV40physicalContactOccupiedToUnoccupiedDelays6UInt16VSgvp)


  ` The time delay in seconds before the physical contact occupancy sensor switches to its
  unoccupied state after detecting an unoccupied event.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var physicalContactOccupiedToUnoccupiedDelay: UInt16? { get }

- `


  ### [physicalContactUnoccupiedToOccupiedDelay](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV40physicalContactUnoccupiedToOccupiedDelays6UInt16VSgvp)


  ` The time delay in seconds before the physical contact occupancy sensor switches to its
  occupied state after detecting an occupied event.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var physicalContactUnoccupiedToOccupiedDelay: UInt16? { get }

- `


  ### [physicalContactUnoccupiedToOccupiedThreshold](https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV44physicalContactUnoccupiedToOccupiedThresholds5UInt8VSgvp)


  ` The number of movement detection events required during the
  `https://developers.home.google.com/reference/swift/GoogleHomeTypes/Enums/Matter/OccupancySensingTrait/Attributes.html#/s:15GoogleHomeTypes6MatterO21OccupancySensingTraitV10AttributesV40physicalContactUnoccupiedToOccupiedDelays6UInt16VSgvp` period before the PIR sensor transitions to its
  occupied state.
  Nullable: false.

  #### Declaration

  Swift

      @TraitAttribute
      var physicalContactUnoccupiedToOccupiedThreshold: UInt8? { get }

- `


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


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


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


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

- `


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


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


  ` The trait identifier.

  #### Declaration

  Swift

      static var identifier: String { get }

- `


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