# Channel


```
@Generated(value = ["GoogleHomePlatformCodegen"])
interface Channel : ChannelTrait.Attributes, MatterTrait, ChannelCommands
```

<br />

*** ** * ** ***

API for the Channel trait. This trait provides an interface for selecting channels on a device or endpoint.

## Summary

| ### Nested types |
|---|
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Channel.Attribute : 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 trait's attributes. |
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Channel.Command : https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html` Descriptor enum for this trait's commands. |

| ### Public functions |
|---|---|
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Channel#supports(com.google.home.matter.standard.Channel.Attribute)(attribute: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Channel.Attribute)` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Channel#supports(com.google.home.matter.standard.Channel.Command)(command: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Channel.Command)` |

| ### Public properties |
|---|---|
| `open https://developers.home.google.com/reference/kotlin/com/google/home/TraitFactory<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Channel>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Channel#factory()` |

| ### Inherited functions |
|---|
| From [com.google.home.matter.standard.ChannelCommands](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelCommands) |---|---| | `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelCommands#cancelRecordProgram(kotlin.String,kotlin.Boolean,kotlin.collections.List,kotlin.ByteArray)( programIdentifier: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, shouldRecordSeries: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html, externalIdList: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.AdditionalInfoStruct>, data: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html )` Cancel recording for a specific program or series. | | `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/ChannelCommands#cancelRecordProgramBatchable(kotlin.String,kotlin.Boolean,kotlin.collections.List,kotlin.ByteArray)( programIdentifier: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, shouldRecordSeries: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html, externalIdList: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.AdditionalInfoStruct>, data: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html )` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelCommands#cancelRecordProgram(kotlin.String,kotlin.Boolean,kotlin.collections.List,kotlin.ByteArray)` command. | | `suspend https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.ChangeChannelCommand.Response` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelCommands#changeChannel(kotlin.String)(match: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` Change the channel to the specified channel. | | `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.ChangeChannelCommand.Response>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelCommands#changeChannelBatchable(kotlin.String)(match: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelCommands#changeChannel(kotlin.String)` 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/ChannelCommands#changeChannelByNumber(kotlin.UShort,kotlin.UShort)(majorNumber: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html, minorNumber: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html)` Change the channel to the channel specified by `majorNumber` and `minorNumber`. | | `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/ChannelCommands#changeChannelByNumberBatchable(kotlin.UShort,kotlin.UShort)(majorNumber: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html, minorNumber: 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/ChannelCommands#changeChannelByNumber(kotlin.UShort,kotlin.UShort)` command. | | `suspend https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.GetProgramGuideCommand.Response` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelCommands#getProgramGuide(kotlin.Function1)(optionalArgs: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.GetProgramGuideCommand.OptionalArgs.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` Retrieves the program guide. | | `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.GetProgramGuideCommand.Response>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelCommands#getProgramGuideBatchable(kotlin.Function1)(optionalArgs: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.GetProgramGuideCommand.OptionalArgs.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelCommands#getProgramGuide(kotlin.Function1)` 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/ChannelCommands#recordProgram(kotlin.String,kotlin.Boolean,kotlin.collections.List,kotlin.ByteArray)( programIdentifier: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, shouldRecordSeries: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html, externalIdList: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.AdditionalInfoStruct>, data: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html )` Record a specific program or series when it goes live. | | `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/ChannelCommands#recordProgramBatchable(kotlin.String,kotlin.Boolean,kotlin.collections.List,kotlin.ByteArray)( programIdentifier: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html, shouldRecordSeries: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html, externalIdList: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.AdditionalInfoStruct>, data: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html )` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelCommands#recordProgram(kotlin.String,kotlin.Boolean,kotlin.collections.List,kotlin.ByteArray)` 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/ChannelCommands#skipChannel(kotlin.Short)(count: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html)` Provides channel up and channel down functionality, by allowing the index of the selected channel to jump by the specified number of steps. | | `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/ChannelCommands#skipChannelBatchable(kotlin.Short)(count: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-short/index.html)` The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelCommands#skipChannel(kotlin.Short)` command. | |
| From [com.google.home.matter.standard.ChannelTrait.Attributes](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.Attributes) |---|---| | `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/ChannelTrait.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/ChannelTrait.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. | |
| From [com.google.home.TraitStateInvalidation](https://developers.home.google.com/reference/kotlin/com/google/home/TraitStateInvalidation) |---|---| | `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/TraitStateInvalidation#forceRead()()` | |

| ### Inherited properties |
|---|
| From [com.google.home.matter.standard.ChannelTrait.Attributes](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.Attributes) |---|---| | `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/ChannelTrait.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/ChannelTrait.Attributes#attributeList()` A list of the attribute IDs of the attributes supported by the cluster instance. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.ChannelInfoStruct>?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.Attributes#channelList()` A list of the supported channels. | | `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.Attributes#clusterRevision()` The revision of the server cluster specification supported by the cluster instance. | | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.ChannelInfoStruct?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.Attributes#currentChannel()` The currently selected channel. | | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.Feature` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.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/ChannelTrait.Attributes#generatedCommandList()` A list of server-generated commands (server to client) which are supported by this cluster server instance. | | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.LineupInfoStruct?` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/ChannelTrait.Attributes#lineup()` A reference to an external source of channel lineup information. | |
| From [com.google.home.Trait](https://developers.home.google.com/reference/kotlin/com/google/home/Trait) |---|---| | `https://developers.home.google.com/reference/kotlin/com/google/home/Trait.TraitMetadata` | `https://developers.home.google.com/reference/kotlin/com/google/home/Trait#metadata()` | |

## Public functions

### supports

```
fun supports(attribute: Channel.Attribute): Boolean
```

### supports

```
fun supports(command: Channel.Command): Boolean
```

## Public properties

### factory

```
open val factory: TraitFactory<Channel>
```