# ThermostatTrait.AtomicRequestCommand.Request

# ThermostatTrait.AtomicRequestCommand.Request


```
class ThermostatTrait.AtomicRequestCommand.Request : ClusterStruct
```

<br />

*** ** * ** ***

The request payload for the AtomicRequest command.

## Summary

| ### Nested types |
|---|
| `@https://developers.home.google.com/reference/kotlin/com/google/home/annotation/HomeExperimentalGenericApi enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.AtomicRequestCommand.Request.CommandFields : https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html, https://developers.home.google.com/reference/kotlin/com/google/home/Field` Descriptor enum for this command's request fields. |

| ### Public constructors |
|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.AtomicRequestCommand.Request#Request(com.google.home.matter.standard.ThermostatTrait.AtomicRequestTypeEnum,kotlin.collections.List,com.google.home.matter.serialization.OptionalValue)( requestType: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.AtomicRequestTypeEnum, attributeRequests: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-int/index.html>, timeout: https://developers.home.google.com/reference/kotlin/com/google/home/matter/serialization/OptionalValue<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html> )` Creates a request payload for the AtomicRequest command. |

| ### 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/ThermostatTrait.AtomicRequestCommand.Request#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/ThermostatTrait.AtomicRequestCommand.Request#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/ThermostatTrait.AtomicRequestCommand.Request#attributeRequests()` A list of attribute IDs the client wishes to write to during an atomic request. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.AtomicRequestTypeEnum` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.AtomicRequestCommand.Request#requestType()` The type of atomic request being made by the client. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/serialization/OptionalValue<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.AtomicRequestCommand.Request#timeout()` An interval in milliseconds in which the client will either commit or rollback the atomic write. |

## Public constructors

### Request

```
Request(
    requestType: ThermostatTrait.AtomicRequestTypeEnum = AtomicRequestTypeEnum.BeginWrite,
    attributeRequests: List<UInt> = emptyList(),
    timeout: OptionalValue<UShort> = OptionalValue.absent()
)
```

Creates a request payload for the AtomicRequest command.

## 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

### attributeRequests

```
val attributeRequests: List<UInt>
```

A list of attribute IDs the client wishes to write to during an atomic request.

### requestType

```
val requestType: ThermostatTrait.AtomicRequestTypeEnum
```

The type of atomic request being made by the client.

### timeout

```
val timeout: OptionalValue<UShort>
```

An interval in milliseconds in which the client will either commit or rollback the atomic write.