# ThermostatTrait.PresetStruct

# ThermostatTrait.PresetStruct


```
class ThermostatTrait.PresetStruct : ClusterStruct
```

<br />

*** ** * ** ***

A preset.

## 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.PresetStruct.StructFields : 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 struct's fields. |

| ### Public constructors |
|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.PresetStruct#PresetStruct(kotlin.ByteArray,com.google.home.matter.standard.ThermostatTrait.PresetScenarioEnum,com.google.home.matter.serialization.OptionalValue,com.google.home.matter.serialization.OptionalValue,com.google.home.matter.serialization.OptionalValue,kotlin.Boolean)( presetHandle: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html?, presetScenario: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.PresetScenarioEnum, name: https://developers.home.google.com/reference/kotlin/com/google/home/matter/serialization/OptionalValue<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?>, coolingSetpoint: https://developers.home.google.com/reference/kotlin/com/google/home/matter/serialization/OptionalValue<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html>, heatingSetpoint: https://developers.home.google.com/reference/kotlin/com/google/home/matter/serialization/OptionalValue<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html>, builtIn: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html? )` Creates the PresetStruct class. |

| ### 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.PresetStruct#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.PresetStruct#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/-boolean/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.PresetStruct#builtIn()` Indicates whether the preset is built-in, meaning that it can be modified but not deleted. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/serialization/OptionalValue<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.PresetStruct#coolingSetpoint()` The cooling setpoint for the preset. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/serialization/OptionalValue<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.PresetStruct#heatingSetpoint()` The heating setpoint for the preset. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/serialization/OptionalValue<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.PresetStruct#name()` A user-provided name. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.PresetStruct#presetHandle()` A device generated identifier for this preset. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.PresetScenarioEnum` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.PresetStruct#presetScenario()` The associated `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.PresetScenarioEnum` value for this preset. |

## Public constructors

### PresetStruct

```
PresetStruct(
    presetHandle: ByteArray? = null,
    presetScenario: ThermostatTrait.PresetScenarioEnum = PresetScenarioEnum.Occupied,
    name: OptionalValue<String?> = OptionalValue.absent(),
    coolingSetpoint: OptionalValue<Short> = OptionalValue.absent(),
    heatingSetpoint: OptionalValue<Short> = OptionalValue.absent(),
    builtIn: Boolean? = null
)
```

Creates the PresetStruct class.

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

### builtIn

```
val builtIn: Boolean?
```

Indicates whether the preset is built-in, meaning that it can be modified but not deleted.

### coolingSetpoint

```
val coolingSetpoint: OptionalValue<Short>
```

The cooling setpoint for the preset.

### heatingSetpoint

```
val heatingSetpoint: OptionalValue<Short>
```

The heating setpoint for the preset.

### name

```
val name: OptionalValue<String?>
```

A user-provided name.

### presetHandle

```
val presetHandle: ByteArray?
```

A device generated identifier for this preset.

### presetScenario

```
val presetScenario: ThermostatTrait.PresetScenarioEnum
```

The associated `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ThermostatTrait.PresetScenarioEnum` value for this preset.