# ZoneManagementCommands


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

<br />

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

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

*** ** * ** ***

Commands for the ZoneManagement 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/ZoneManagementCommands#createOrUpdateTrigger(com.google.home.matter.standard.ZoneManagementTrait.ZoneTriggerControlStruct)( trigger: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.ZoneTriggerControlStruct )` Creates or updates a zone trigger. |
| `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/ZoneManagementCommands#createOrUpdateTriggerBatchable(com.google.home.matter.standard.ZoneManagementTrait.ZoneTriggerControlStruct)( trigger: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.ZoneTriggerControlStruct )` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementCommands#createOrUpdateTrigger(com.google.home.matter.standard.ZoneManagementTrait.ZoneTriggerControlStruct)` command. |
| `suspend https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.CreateTwoDCartesianZoneCommand.Response` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementCommands#createTwoDCartesianZone(com.google.home.matter.standard.ZoneManagementTrait.TwoDCartesianZoneStruct)( zone: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.TwoDCartesianZoneStruct )` Creates and stores a two-dimensional Cartesian zone. |
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.CreateTwoDCartesianZoneCommand.Response>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementCommands#createTwoDCartesianZoneBatchable(com.google.home.matter.standard.ZoneManagementTrait.TwoDCartesianZoneStruct)( zone: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.TwoDCartesianZoneStruct )` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementCommands#createTwoDCartesianZone(com.google.home.matter.standard.ZoneManagementTrait.TwoDCartesianZoneStruct)` 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/ZoneManagementCommands#removeTrigger(kotlin.UShort)(zoneId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html)` Removes a zone trigger. |
| `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/ZoneManagementCommands#removeTriggerBatchable(kotlin.UShort)(zoneId: 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/ZoneManagementCommands#removeTrigger(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/ZoneManagementCommands#removeZone(kotlin.UShort)(zoneId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html)` Removes the user-defined zone indicated by the `ZoneID`. |
| `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/ZoneManagementCommands#removeZoneBatchable(kotlin.UShort)(zoneId: 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/ZoneManagementCommands#removeZone(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/ZoneManagementCommands#updateTwoDCartesianZone(kotlin.UShort,com.google.home.matter.standard.ZoneManagementTrait.TwoDCartesianZoneStruct)( zoneId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html, zone: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.TwoDCartesianZoneStruct )` Updates a stored two-dimensional Cartesian zone. |
| `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/ZoneManagementCommands#updateTwoDCartesianZoneBatchable(kotlin.UShort,com.google.home.matter.standard.ZoneManagementTrait.TwoDCartesianZoneStruct)( zoneId: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html, zone: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.TwoDCartesianZoneStruct )` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementCommands#updateTwoDCartesianZone(kotlin.UShort,com.google.home.matter.standard.ZoneManagementTrait.TwoDCartesianZoneStruct)` command. |

## Public functions

### createOrUpdateTrigger

```
suspend fun createOrUpdateTrigger(
    trigger: ZoneManagementTrait.ZoneTriggerControlStruct
): Unit
```

Creates or updates a zone trigger.

| Parameters |
|---|---|
| `trigger: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.ZoneTriggerControlStruct` | The zone trigger control. |

### createOrUpdateTriggerBatchable

```
fun createOrUpdateTriggerBatchable(
    trigger: ZoneManagementTrait.ZoneTriggerControlStruct
): BatchableCommand<Unit>
```

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementCommands#createOrUpdateTrigger(com.google.home.matter.standard.ZoneManagementTrait.ZoneTriggerControlStruct)` command.

Creates or updates a zone trigger.

| Parameters |
|---|---|
| `trigger: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.ZoneTriggerControlStruct` | The zone trigger control. |

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

### createTwoDCartesianZone

```
suspend fun createTwoDCartesianZone(
    zone: ZoneManagementTrait.TwoDCartesianZoneStruct
): ZoneManagementTrait.CreateTwoDCartesianZoneCommand.Response
```

Creates and stores a two-dimensional Cartesian zone.

| Parameters |
|---|---|
| `zone: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.TwoDCartesianZoneStruct` | A `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.TwoDCartesianZoneStruct` value representing all information required to define the two-dimensional Cartesian zone. |

| Returns |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.CreateTwoDCartesianZoneCommand.Response` | The result of the `CreateTwoDCartesianZone` command. |

### createTwoDCartesianZoneBatchable

```
fun createTwoDCartesianZoneBatchable(
    zone: ZoneManagementTrait.TwoDCartesianZoneStruct
): BatchableCommand<ZoneManagementTrait.CreateTwoDCartesianZoneCommand.Response>
```

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementCommands#createTwoDCartesianZone(com.google.home.matter.standard.ZoneManagementTrait.TwoDCartesianZoneStruct)` command.

Creates and stores a two-dimensional Cartesian zone.

| Parameters |
|---|---|
| `zone: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.TwoDCartesianZoneStruct` | A `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.TwoDCartesianZoneStruct` value representing all information required to define the two-dimensional Cartesian zone. |

| Returns |
|---|---|
| `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.CreateTwoDCartesianZoneCommand.Response>` | BatchableCommand |

### removeTrigger

```
suspend fun removeTrigger(zoneId: UShort): Unit
```

Removes a zone trigger.

### removeTriggerBatchable

```
fun removeTriggerBatchable(zoneId: UShort): BatchableCommand<Unit>
```

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

Removes a zone trigger.

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

### removeZone

```
suspend fun removeZone(zoneId: UShort): Unit
```

Removes the user-defined zone indicated by the `ZoneID`. The default zone with `zoneID = 0` cannot be removed.

### removeZoneBatchable

```
fun removeZoneBatchable(zoneId: UShort): BatchableCommand<Unit>
```

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

Removes the user-defined zone indicated by the `ZoneID`. The default zone with `zoneID = 0` cannot be removed.

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

### updateTwoDCartesianZone

```
suspend fun updateTwoDCartesianZone(
    zoneId: UShort,
    zone: ZoneManagementTrait.TwoDCartesianZoneStruct
): Unit
```

Updates a stored two-dimensional Cartesian zone. When updating the default zone (`zoneID = 0`), only the `use` field within the provided `TwoDCartesianZoneStruct` can be modified.

| Parameters |
|---|---|
| `zone: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.TwoDCartesianZoneStruct` | A `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.TwoDCartesianZoneStruct` value representing updated zone information. |

### updateTwoDCartesianZoneBatchable

```
fun updateTwoDCartesianZoneBatchable(
    zoneId: UShort,
    zone: ZoneManagementTrait.TwoDCartesianZoneStruct
): BatchableCommand<Unit>
```

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementCommands#updateTwoDCartesianZone(kotlin.UShort,com.google.home.matter.standard.ZoneManagementTrait.TwoDCartesianZoneStruct)` command.

Updates a stored two-dimensional Cartesian zone. When updating the default zone (`zoneID = 0`), only the `use` field within the provided `TwoDCartesianZoneStruct` can be modified.

| Parameters |
|---|---|
| `zone: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.TwoDCartesianZoneStruct` | A `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ZoneManagementTrait.TwoDCartesianZoneStruct` value representing updated zone information. |

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