# OccupancySensingTrait.Attributes


```
@Generated(value = ["GoogleHomePlatformCodegen"])
interface OccupancySensingTrait.Attributes : ClusterStruct
```

<br />

Known direct subclasses [OccupancySensing](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensing)

|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensing` | API for the OccupancySensing trait. |

*** ** * ** ***

Attributes for the OccupancySensing cluster.

## Summary

| ### Public functions |
|---|---|
| `open https://developers.home.google.com/reference/kotlin/com/google/home/StructDescriptor` | `@https://developers.home.google.com/reference/kotlin/com/google/home/annotation/HomeExperimentalGenericApi https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#getDescriptor()()` Returns the descriptor for the struct. |
| `open https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html?` | `@https://developers.home.google.com/reference/kotlin/com/google/home/annotation/HomeExperimentalGenericApi https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#getFieldValueById(kotlin.UInt)(tagId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-int/index.html)` Returns the value of the field for the given tag ID. |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-int/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#acceptedCommandList()` A list of client-generated commands which are supported by this cluster server instance. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-int/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#attributeList()` A list of the attribute IDs of the attributes supported by the cluster instance. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#clusterRevision()` The revision of the server cluster specification supported by the cluster instance. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Feature` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#featureMap()` Whether the server supports zero or more optional cluster features. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-int/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#generatedCommandList()` A list of server-generated commands (server to client) which are supported by this cluster server instance. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#holdTime()` The time delay, in seconds, before the sensor changes to its unoccupied state after the last detection of occupancy. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.HoldTimeLimitsStruct?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#holdTimeLimits()` The server's limits and default value for the holdTime attribute. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.OccupancyBitmap?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#occupancy()` The sensed (processed) status of occupancy. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.OccupancySensorTypeEnum?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#occupancySensorType()` The type of occupancy sensor. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.OccupancySensorTypeBitmap?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#occupancySensorTypeBitmap()` The active occupancy sensor type. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#physicalContactOccupiedToUnoccupiedDelay()` The time delay in seconds before the physical contact occupancy sensor switches to its unoccupied state after detecting an unoccupied event. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#physicalContactUnoccupiedToOccupiedDelay()` The time delay in seconds before the physical contact occupancy sensor switches to its occupied state after detecting an occupied event. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#physicalContactUnoccupiedToOccupiedThreshold()` The number of movement detection events required during the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#physicalContactUnoccupiedToOccupiedDelay()` period before the PIR sensor transitions to its occupied state. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#pirOccupiedToUnoccupiedDelay()` The time delay in seconds before the PIR sensor changes to its unoccupied state after detecting movement in the sensed area. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#pirUnoccupiedToOccupiedDelay()` The time delay in seconds before the PIR sensor changes to its occupied state after detecting movement in the sensed area. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#pirUnoccupiedToOccupiedThreshold()` The number of movement detection events that must occur within the PirUnoccupiedToOccupiedDelay period before the PIR sensor transitions to its occupied state. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#ultrasonicOccupiedToUnoccupiedDelay()` The time delay in seconds before the ultrasonic sensor changes to its unoccupied state after detecting movement in the sensed area. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#ultrasonicUnoccupiedToOccupiedDelay()` The time delay in seconds before the Ultrasonic sensor changes to its occupied state after detecting movement in the sensed area. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#ultrasonicUnoccupiedToOccupiedThreshold()` The number of movement detection events required during the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#ultrasonicUnoccupiedToOccupiedDelay()` period before the ultrasonic sensor transitions to its occupied state. |

## Public functions

### getDescriptor

```
@HomeExperimentalGenericApi
open fun getDescriptor(): StructDescriptor
```

Returns the descriptor for the struct.

### getFieldValueById

```
@HomeExperimentalGenericApi
open fun getFieldValueById(tagId: UInt): Any?
```

Returns the value of the field for the given tag ID.

## Public properties

### acceptedCommandList

```
val acceptedCommandList: List<UInt>
```

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

### attributeList

```
val attributeList: List<UInt>
```

A list of the attribute IDs of the attributes supported by the cluster instance.

### clusterRevision

```
val clusterRevision: UShort
```

The revision of the server cluster specification supported by the cluster instance.

### featureMap

```
val featureMap: OccupancySensingTrait.Feature
```

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).

### generatedCommandList

```
val generatedCommandList: List<UInt>
```

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

### holdTime

```
val holdTime: UShort?
```

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

**Access type:** Write

### holdTimeLimits

```
val holdTimeLimits: OccupancySensingTrait.HoldTimeLimitsStruct?
```

The server's limits and default value for the holdTime attribute.

**Access type:** Read

### occupancy

```
val occupancy: OccupancySensingTrait.OccupancyBitmap?
```

The sensed (processed) status of occupancy.

**Access type:** Read

### occupancySensorType

```
val occupancySensorType: OccupancySensingTrait.OccupancySensorTypeEnum?
```

The type of occupancy sensor. Valid values are defined in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.OccupancySensorTypeEnum`

**Access type:** Read

### occupancySensorTypeBitmap

```
val occupancySensorTypeBitmap: OccupancySensingTrait.OccupancySensorTypeBitmap?
```

The active occupancy sensor type. Valid modes are defined in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.OccupancySensorTypeBitmap`

**Access type:** Read

### physicalContactOccupiedToUnoccupiedDelay

```
val physicalContactOccupiedToUnoccupiedDelay: UShort?
```

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

**Access type:** Write

### physicalContactUnoccupiedToOccupiedDelay

```
val physicalContactUnoccupiedToOccupiedDelay: UShort?
```

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

**Access type:** Write

### physicalContactUnoccupiedToOccupiedThreshold

```
val physicalContactUnoccupiedToOccupiedThreshold: UByte?
```

The number of movement detection events required during the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#physicalContactUnoccupiedToOccupiedDelay()` period before the PIR sensor transitions to its occupied state.

**Access type:** Write

### pirOccupiedToUnoccupiedDelay

```
val pirOccupiedToUnoccupiedDelay: UShort?
```

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

**Access type:** Write

### pirUnoccupiedToOccupiedDelay

```
val pirUnoccupiedToOccupiedDelay: UShort?
```

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

**Access type:** Write

### pirUnoccupiedToOccupiedThreshold

```
val pirUnoccupiedToOccupiedThreshold: UByte?
```

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

**Access type:** Write

### ultrasonicOccupiedToUnoccupiedDelay

```
val ultrasonicOccupiedToUnoccupiedDelay: UShort?
```

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

**Access type:** Write

### ultrasonicUnoccupiedToOccupiedDelay

```
val ultrasonicUnoccupiedToOccupiedDelay: UShort?
```

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

**Access type:** Write

### ultrasonicUnoccupiedToOccupiedThreshold

```
val ultrasonicUnoccupiedToOccupiedThreshold: UByte?
```

The number of movement detection events required during the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OccupancySensingTrait.Attributes#ultrasonicUnoccupiedToOccupiedDelay()` period before the ultrasonic sensor transitions to its occupied state.

**Access type:** Write