# LevelControlTrait.Attributes

# LevelControlTrait.Attributes


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

<br />

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

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

*** ** * ** ***

Attributes for the LevelControl 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/LevelControlTrait.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/LevelControlTrait.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/LevelControlTrait.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/LevelControlTrait.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/LevelControlTrait.Attributes#clusterRevision()` The revision of the server cluster specification 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/LevelControlTrait.Attributes#currentFrequency()` The frequency at which the device is at `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()`. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` The current level of the device, which is device dependent. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#defaultMoveRate()` The movement rate (in units per second) when a `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#move(com.google.home.matter.standard.LevelControlTrait.MoveModeEnum,kotlin.UByte,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command is reeceived with a `rate` parameter of null. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Feature` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.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/LevelControlTrait.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/LevelControlTrait.Attributes#maxFrequency()` The maximum value that can be assigned to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentFrequency()` attribute. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxLevel()` The maximum value that can be assigned to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` attribute. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minFrequency()` The minimum value that can be assigned to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentFrequency()` attribute. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minLevel()` The minimum value that can be assigned to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` attribute. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#offTransitionTime()` The time taken (in 0.1 seconds) to move the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` from the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxLevel()` to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minLevel()` when an `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffCommands#on()` command is received by an `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOff` cluster on the same endpoint. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#onLevel()` The value that the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` attribute is set to when the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute of the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOff` cluster is set to true as a result of processing an `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOff` cluster command. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#onOffTransitionTime()` The time taken (in 0.1 seconds) to move to or from the target level when `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffCommands#on()` or `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffCommands#off()` commands are received by an `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOff` cluster on the same endpoint. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#onTransitionTime()` The time taken (in 0.1 seconds) to move the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` from the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minLevel()` to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxLevel()` when an `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffCommands#on()` command is received by an `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOff` cluster on the same endpoint. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` A bitmap that determines the default behavior of some cluster commands. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#remainingTime()` The time remaining (in 0.1 seconds) until the current command is complete. |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#startUpCurrentLevel()` The desired startup level for a device when it is supplied with power, which is reflected in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` attribute. |

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

### currentFrequency

```
val currentFrequency: UShort?
```

The frequency at which the device is at `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()`. A value of `0` means the frequency is unknown. Cannot be less than the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minFrequency()` or greater than the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxFrequency()`.

**Access type:** Read

### currentLevel

```
val currentLevel: UByte?
```

The current level of the device, which is device dependent. For example, a level for a light may mean the brightness level. Cannot be less than the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minLevel()` or greater than the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxLevel()`.

**Access type:** Read

### defaultMoveRate

```
val defaultMoveRate: UByte?
```

The movement rate (in units per second) when a `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#move(com.google.home.matter.standard.LevelControlTrait.MoveModeEnum,kotlin.UByte,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command is reeceived with a `rate` parameter of null.

**Access type:** Write

### featureMap

```
val featureMap: LevelControlTrait.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.

### maxFrequency

```
val maxFrequency: UShort?
```

The maximum value that can be assigned to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentFrequency()` attribute. This value is always greater than or equal to `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minFrequency()`. A value of `0` means undefined.

**Access type:** Read

### maxLevel

```
val maxLevel: UByte?
```

The maximum value that can be assigned to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` attribute.

**Access type:** Read

### minFrequency

```
val minFrequency: UShort?
```

The minimum value that can be assigned to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentFrequency()` attribute. This value is always less than or equal to `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxFrequency()`. A value of `0` means undefined.

**Access type:** Read

### minLevel

```
val minLevel: UByte?
```

The minimum value that can be assigned to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` attribute.

**Access type:** Read

### offTransitionTime

```
val offTransitionTime: UShort?
```

The time taken (in 0.1 seconds) to move the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` from the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxLevel()` to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minLevel()` when an `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffCommands#on()` command is received by an `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOff` cluster on the same endpoint. If not implemented or defined, `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#onOffTransitionTime()` is used instead.

**Access type:** Write

### onLevel

```
val onLevel: UByte?
```

The value that the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` attribute is set to when the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute of the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOff` cluster is set to true as a result of processing an `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOff` cluster command. Cannot be less than the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minLevel()` or greater than the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxLevel()`.

**Access type:** Write

### onOffTransitionTime

```
val onOffTransitionTime: UShort?
```

The time taken (in 0.1 seconds) to move to or from the target level when `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffCommands#on()` or `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffCommands#off()` commands are received by an `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOff` cluster on the same endpoint. Not supported for devices that are not able to transition at a variable rate.

**Access type:** Write

### onTransitionTime

```
val onTransitionTime: UShort?
```

The time taken (in 0.1 seconds) to move the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` from the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minLevel()` to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxLevel()` when an `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffCommands#on()` command is received by an `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOff` cluster on the same endpoint. If not implemented or defined, `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#onOffTransitionTime()` is used instead.

**Access type:** Write

### options

```
val options: LevelControlTrait.OptionsBitmap?
```

A bitmap that determines the default behavior of some cluster commands. This should only be changed during commissioning. See `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` for more information.

**Access type:** Write

### remainingTime

```
val remainingTime: UShort?
```

The time remaining (in 0.1 seconds) until the current command is complete.

**Access type:** Read

### startUpCurrentLevel

```
val startUpCurrentLevel: UByte?
```

The desired startup level for a device when it is supplied with power, which is reflected in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` attribute. A value of `0` sets `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` to `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minLevel()`. A value of null, or a device reboot from an OTA, sets `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` to its previous value. Any other value sets `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` to that value.

**Access type:** Write