# LevelControlCommands


```
@Generated(value = ["GoogleHomePlatformCodegen"])
interface LevelControlCommands
```

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

*** ** * ** ***

Commands for the LevelControl trait.

## Summary

| ### Public functions |
|---|---|
| `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `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)( moveMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.MoveModeEnum, rate: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?, optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` Change a device's level based on a rate of movement. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveBatchable(com.google.home.matter.standard.LevelControlTrait.MoveModeEnum,kotlin.UByte,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( moveMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.MoveModeEnum, rate: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?, optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` The batchable version of `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. |
| `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveToClosestFrequency(kotlin.UShort)(frequency: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html)` Change a device's current frequency. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveToClosestFrequencyBatchable(kotlin.UShort)(frequency: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html)` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveToClosestFrequency(kotlin.UShort)` command. |
| `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveToLevel(kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( level: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html, transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?, optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` Move a device from its current level to the provided level. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveToLevelBatchable(kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( level: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html, transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?, optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveToLevel(kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command. |
| `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveToLevelWithOnOff(kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( level: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html, transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?, optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` Move a device from its current level to the provided level and toggle 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 depending on the end value of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()`. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveToLevelWithOnOffBatchable(kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( level: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html, transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?, optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveToLevelWithOnOff(kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command. |
| `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveWithOnOff(com.google.home.matter.standard.LevelControlTrait.MoveModeEnum,kotlin.UByte,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( moveMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.MoveModeEnum, rate: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?, optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` Move a device's level based on a rate of movement and toggle 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 depending on the end value of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()`. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveWithOnOffBatchable(com.google.home.matter.standard.LevelControlTrait.MoveModeEnum,kotlin.UByte,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( moveMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.MoveModeEnum, rate: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?, optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveWithOnOff(com.google.home.matter.standard.LevelControlTrait.MoveModeEnum,kotlin.UByte,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command. |
| `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#step(com.google.home.matter.standard.LevelControlTrait.StepModeEnum,kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( stepMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.StepModeEnum, stepSize: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html, transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?, optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` Move a device's level a specific amount over a period of time. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stepBatchable(com.google.home.matter.standard.LevelControlTrait.StepModeEnum,kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( stepMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.StepModeEnum, stepSize: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html, transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?, optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#step(com.google.home.matter.standard.LevelControlTrait.StepModeEnum,kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command. |
| `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stepWithOnOff(com.google.home.matter.standard.LevelControlTrait.StepModeEnum,kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( stepMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.StepModeEnum, stepSize: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html, transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?, optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` Move a device's level a specific amount over a period of time and toggle 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 depending on the end value of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()`. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stepWithOnOffBatchable(com.google.home.matter.standard.LevelControlTrait.StepModeEnum,kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( stepMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.StepModeEnum, stepSize: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html, transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?, optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stepWithOnOff(com.google.home.matter.standard.LevelControlTrait.StepModeEnum,kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command. |
| `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stop(com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` Terminate a `Move`, `MoveToLevel`, or `Step` command (including their `OnOff` variants) currently in progress, and sets the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#remainingTime()` attribute to `0`. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stopBatchable(com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stop(com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command. |
| `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stopWithOnOff(com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` Terminate a `Move`, `MoveToLevel`, or `Step` command (including their `OnOff` variants) currently in progress, and sets the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#remainingTime()` attribute to `0`. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stopWithOnOffBatchable(com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)( optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap, optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap )` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stopWithOnOff(com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command. |

## Public functions

### move

```
suspend fun move(
    moveMode: LevelControlTrait.MoveModeEnum,
    rate: UByte?,
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): Unit
```

Change a device's level based on a rate of movement.

| Parameters |
|---|---|
| `moveMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.MoveModeEnum` | The direction in which to move the level. This must be one of the values in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.MoveModeEnum`. |
| `rate: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | The rate (in units per seconds) used to move the device's `currentLevel` to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minLevel()` or `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxLevel()`. |
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

### moveBatchable

```
fun moveBatchable(
    moveMode: LevelControlTrait.MoveModeEnum,
    rate: UByte?,
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): BatchableCommand<Unit>
```

The batchable version of `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.

Change a device's level based on a rate of movement.

| Parameters |
|---|---|
| `moveMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.MoveModeEnum` | The direction in which to move the level. This must be one of the values in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.MoveModeEnum`. |
| `rate: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | The rate (in units per seconds) used to move the device's `currentLevel` to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minLevel()` or `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxLevel()`. |
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

| Returns |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | BatchableCommand |

### moveToClosestFrequency

```
suspend fun moveToClosestFrequency(frequency: UShort): Unit
```

Change a device's current frequency.

| Parameters |
|---|---|
| `frequency: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html` | The frequency to change the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentFrequency()` to. |

### moveToClosestFrequencyBatchable

```
fun moveToClosestFrequencyBatchable(frequency: UShort): BatchableCommand<Unit>
```

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveToClosestFrequency(kotlin.UShort)` command.

Change a device's current frequency.

| Parameters |
|---|---|
| `frequency: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html` | The frequency to change the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentFrequency()` to. |

| Returns |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | BatchableCommand |

### moveToLevel

```
suspend fun moveToLevel(
    level: UByte,
    transitionTime: UShort?,
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): Unit
```

Move a device from its current level to the provided level.

| Parameters |
|---|---|
| `level: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html` | The level to move the device to. |
| `transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | The time (in 0.1 seconds) taken to move the device to the new level. |
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

### moveToLevelBatchable

```
fun moveToLevelBatchable(
    level: UByte,
    transitionTime: UShort?,
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): BatchableCommand<Unit>
```

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveToLevel(kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command.

Move a device from its current level to the provided level.

| Parameters |
|---|---|
| `level: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html` | The level to move the device to. |
| `transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | The time (in 0.1 seconds) taken to move the device to the new level. |
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

| Returns |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | BatchableCommand |

### moveToLevelWithOnOff

```
suspend fun moveToLevelWithOnOff(
    level: UByte,
    transitionTime: UShort?,
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): Unit
```

Move a device from its current level to the provided level and toggle 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 depending on the end value of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()`.

If this command sets the `currentLevel` above the `minLevel`, the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute is set to true.

If this command sets the `currentLevel` to the `minLevel`, the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute is set to false.

| Parameters |
|---|---|
| `level: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html` | The level to move the device to. |
| `transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | The time (in 0.1 seconds) taken to move the device to the new level. |
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

### moveToLevelWithOnOffBatchable

```
fun moveToLevelWithOnOffBatchable(
    level: UByte,
    transitionTime: UShort?,
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): BatchableCommand<Unit>
```

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveToLevelWithOnOff(kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command.

Move a device from its current level to the provided level and toggle 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 depending on the end value of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()`.

If this command sets the `currentLevel` above the `minLevel`, the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute is set to true.

If this command sets the `currentLevel` to the `minLevel`, the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute is set to false.

| Parameters |
|---|---|
| `level: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html` | The level to move the device to. |
| `transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | The time (in 0.1 seconds) taken to move the device to the new level. |
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

| Returns |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | BatchableCommand |

### moveWithOnOff

```
suspend fun moveWithOnOff(
    moveMode: LevelControlTrait.MoveModeEnum,
    rate: UByte?,
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): Unit
```

Move a device's level based on a rate of movement and toggle 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 depending on the end value of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()`.

If this command sets the `currentLevel` above the `minLevel`, the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute is set to true.

If this command sets the `currentLevel` to the `minLevel`, the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute is set to false.

| Parameters |
|---|---|
| `moveMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.MoveModeEnum` | The direction in which to move the level. This must be one of the values in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.MoveModeEnum`. |
| `rate: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | The rate (in units per seconds) used to move the device's `currentLevel` to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minLevel()` or `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxLevel()`. |
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

### moveWithOnOffBatchable

```
fun moveWithOnOffBatchable(
    moveMode: LevelControlTrait.MoveModeEnum,
    rate: UByte?,
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): BatchableCommand<Unit>
```

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#moveWithOnOff(com.google.home.matter.standard.LevelControlTrait.MoveModeEnum,kotlin.UByte,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command.

Move a device's level based on a rate of movement and toggle 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 depending on the end value of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()`.

If this command sets the `currentLevel` above the `minLevel`, the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute is set to true.

If this command sets the `currentLevel` to the `minLevel`, the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute is set to false.

| Parameters |
|---|---|
| `moveMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.MoveModeEnum` | The direction in which to move the level. This must be one of the values in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.MoveModeEnum`. |
| `rate: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html?` | The rate (in units per seconds) used to move the device's `currentLevel` to the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#minLevel()` or `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#maxLevel()`. |
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

| Returns |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | BatchableCommand |

### step

```
suspend fun step(
    stepMode: LevelControlTrait.StepModeEnum,
    stepSize: UByte,
    transitionTime: UShort?,
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): Unit
```

Move a device's level a specific amount over a period of time.

If the `stepSize` used results in a `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` that is greater than the `maxLevel` or less than the `minLevel`, then the command stops when the `currentLevel` reaches the `maxLevel` or `minLevel`, respectively.

The command may complete in a shorter time than specified for `transitionTime` if the `maxLevel` or `minLevel` is reached before the transition time is over.

| Parameters |
|---|---|
| `stepMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.StepModeEnum` | The direction in which to move the level. This must be one of the values in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.StepModeEnum`. |
| `stepSize: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html` | The amount of units to move the device's `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` to. |
| `transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | The time (in 0.1 seconds) taken to move the device to the new level. |
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

### stepBatchable

```
fun stepBatchable(
    stepMode: LevelControlTrait.StepModeEnum,
    stepSize: UByte,
    transitionTime: UShort?,
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): BatchableCommand<Unit>
```

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#step(com.google.home.matter.standard.LevelControlTrait.StepModeEnum,kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command.

Move a device's level a specific amount over a period of time.

If the `stepSize` used results in a `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` that is greater than the `maxLevel` or less than the `minLevel`, then the command stops when the `currentLevel` reaches the `maxLevel` or `minLevel`, respectively.

The command may complete in a shorter time than specified for `transitionTime` if the `maxLevel` or `minLevel` is reached before the transition time is over.

| Parameters |
|---|---|
| `stepMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.StepModeEnum` | The direction in which to move the level. This must be one of the values in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.StepModeEnum`. |
| `stepSize: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html` | The amount of units to move the device's `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` to. |
| `transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | The time (in 0.1 seconds) taken to move the device to the new level. |
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

| Returns |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | BatchableCommand |

### stepWithOnOff

```
suspend fun stepWithOnOff(
    stepMode: LevelControlTrait.StepModeEnum,
    stepSize: UByte,
    transitionTime: UShort?,
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): Unit
```

Move a device's level a specific amount over a period of time and toggle 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 depending on the end value of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()`.

If the `stepSize` used results in a `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` that is greater than the `maxLevel` or less than the `minLevel`, then the command stops when the `currentLevel` reaches the `maxLevel` or `minLevel`, respectively.

The command may complete in a shorter time than specified for `transitionTime` if the `maxLevel` or `minLevel` is reached before the transition time is over.

If this command sets the `currentLevel` above the `minLevel`, the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute is set to true.

If this command sets the `currentLevel` to the `minLevel`, the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute is set to false.

| Parameters |
|---|---|
| `stepMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.StepModeEnum` | The direction in which to move the level. This must be one of the values in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.StepModeEnum`. |
| `stepSize: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html` | The amount of units to move the device's `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` to. |
| `transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | The time (in 0.1 seconds) taken to move the device to the new level. |
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

### stepWithOnOffBatchable

```
fun stepWithOnOffBatchable(
    stepMode: LevelControlTrait.StepModeEnum,
    stepSize: UByte,
    transitionTime: UShort?,
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): BatchableCommand<Unit>
```

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stepWithOnOff(com.google.home.matter.standard.LevelControlTrait.StepModeEnum,kotlin.UByte,kotlin.UShort,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command.

Move a device's level a specific amount over a period of time and toggle 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 depending on the end value of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()`.

If the `stepSize` used results in a `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` that is greater than the `maxLevel` or less than the `minLevel`, then the command stops when the `currentLevel` reaches the `maxLevel` or `minLevel`, respectively.

The command may complete in a shorter time than specified for `transitionTime` if the `maxLevel` or `minLevel` is reached before the transition time is over.

If this command sets the `currentLevel` above the `minLevel`, the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute is set to true.

If this command sets the `currentLevel` to the `minLevel`, the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/OnOffTrait.Attributes#onOff()` attribute is set to false.

| Parameters |
|---|---|
| `stepMode: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.StepModeEnum` | The direction in which to move the level. This must be one of the values in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.StepModeEnum`. |
| `stepSize: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html` | The amount of units to move the device's `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#currentLevel()` to. |
| `transitionTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` | The time (in 0.1 seconds) taken to move the device to the new level. |
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

| Returns |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | BatchableCommand |

### stop

```
suspend fun stop(
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): Unit
```

Terminate a `Move`, `MoveToLevel`, or `Step` command (including their `OnOff` variants) currently in progress, and sets the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#remainingTime()` attribute to `0`.

This command and StopWithOnOff are identical.

| Parameters |
|---|---|
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

### stopBatchable

```
fun stopBatchable(
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): BatchableCommand<Unit>
```

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stop(com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command.

Terminate a `Move`, `MoveToLevel`, or `Step` command (including their `OnOff` variants) currently in progress, and sets the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#remainingTime()` attribute to `0`.

This command and StopWithOnOff are identical.

| Parameters |
|---|---|
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

| Returns |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | BatchableCommand |

### stopWithOnOff

```
suspend fun stopWithOnOff(
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): Unit
```

Terminate a `Move`, `MoveToLevel`, or `Step` command (including their `OnOff` variants) currently in progress, and sets the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#remainingTime()` attribute to `0`.

This command and Stop are identical.

| Parameters |
|---|---|
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

### stopWithOnOffBatchable

```
fun stopWithOnOffBatchable(
    optionsMask: LevelControlTrait.OptionsBitmap,
    optionsOverride: LevelControlTrait.OptionsBitmap
): BatchableCommand<Unit>
```

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlCommands#stopWithOnOff(com.google.home.matter.standard.LevelControlTrait.OptionsBitmap,com.google.home.matter.standard.LevelControlTrait.OptionsBitmap)` command.

Terminate a `Move`, `MoveToLevel`, or `Step` command (including their `OnOff` variants) currently in progress, and sets the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#remainingTime()` attribute to `0`.

This command and Stop are identical.

| Parameters |
|---|---|
| `optionsMask: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | Determines which bits in the `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute should be overridden by `optionsOverride`. |
| `optionsOverride: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.OptionsBitmap` | If the corresponding bit in `optionsMask` is set to `1`, the bit set here overrides the corresponding bit in `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/LevelControlTrait.Attributes#options()` attribute. |

| Returns |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html>` | BatchableCommand |