# RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeOptionStruct

# RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeOptionStruct


```
class RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeOptionStruct : ClusterStruct
```

<br />

*** ** * ** ***

Describes a mode that may be selected on the device.

## 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/RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeOptionStruct.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/RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeOptionStruct#ModeOptionStruct(kotlin.String,kotlin.UByte,kotlin.collections.List)( label: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, mode: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html, modeTags: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeTagStruct> )` Creates the ModeOptionStruct 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/RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeOptionStruct#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/RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeOptionStruct#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/-string/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeOptionStruct#label()` Text that describes the mode option and is meant to be read and understood by the user. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeOptionStruct#mode()` A unique identifier for the mode option. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeTagStruct>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeOptionStruct#modeTags()` A list of tags that are associated with the `mode` option, which may be used by a device to determine the semantics of a certain mode. |

## Public constructors

### ModeOptionStruct

```
ModeOptionStruct(
    label: String = "",
    mode: UByte,
    modeTags: List<RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeTagStruct> = emptyList()
)
```

Creates the ModeOptionStruct 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

### label

```
val label: String
```

Text that describes the mode option and is meant to be read and understood by the user.

### mode

```
val mode: UByte
```

A unique identifier for the mode option.

### modeTags

```
val modeTags: List<RefrigeratorAndTemperatureControlledCabinetModeTrait.ModeTagStruct>
```

A list of tags that are associated with the `mode` option, which may be used by a device to determine the semantics of a certain mode.