# Identify


```
@Generated(value = ["GoogleHomePlatformCodegen"])
interface Identify : IdentifyTrait.Attributes, MatterTrait, Updatable, IdentifyCommands
```

<br />

*** ** * ** ***

API for the Identify trait. This trait supports an endpoint identification state (such as a flashing light) that indicates to an observer (such as an installer) which of several nodes or endpoints it is.

## Summary

| ### Nested types |
|---|
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Identify.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/Identify.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/Identify#supports(com.google.home.matter.standard.Identify.Attribute)(attribute: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Identify.Attribute)` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Identify#supports(com.google.home.matter.standard.Identify.Command)(command: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Identify.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/Identify>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Identify#factory()` |

### Inherited functions

From [com.google.home.matter.standard.IdentifyCommands](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyCommands) `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyCommands#identify(kotlin.UShort)(identifyTime: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html)`

Start or stop the identification state for the receiving device.
`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/IdentifyCommands#identifyBatchable(kotlin.UShort)(identifyTime: 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/IdentifyCommands#identify(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/IdentifyCommands#triggerEffect(com.google.home.matter.standard.IdentifyTrait.EffectIdentifierEnum,com.google.home.matter.standard.IdentifyTrait.EffectVariantEnum)(
effectIdentifier: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyTrait.EffectIdentifierEnum,
effectVariant: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyTrait.EffectVariantEnum
)`

Start an effect that provides visual feedback to the user.
`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/IdentifyCommands#triggerEffectBatchable(com.google.home.matter.standard.IdentifyTrait.EffectIdentifierEnum,com.google.home.matter.standard.IdentifyTrait.EffectVariantEnum)(
effectIdentifier: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyTrait.EffectIdentifierEnum,
effectVariant: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyTrait.EffectVariantEnum
)`

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyCommands#triggerEffect(com.google.home.matter.standard.IdentifyTrait.EffectIdentifierEnum,com.google.home.matter.standard.IdentifyTrait.EffectVariantEnum)` command.
From [com.google.home.matter.standard.IdentifyTrait.Attributes](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyTrait.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/IdentifyTrait.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/IdentifyTrait.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()()` From [com.google.home.Updatable](https://developers.home.google.com/reference/kotlin/com/google/home/Updatable) `suspend https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Identify` `https://developers.home.google.com/reference/kotlin/com/google/home/Updatable#update(kotlin.Function1,kotlin.Function1)(optimisticReturn: (https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/Identify) -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html, init: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyTrait.MutableAttributes.() -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html)`

Creates a mutable copy of an object and calls the given function to mutate it, then saves it and returns a new immutable copy with the updated state.

### Inherited properties

From [com.google.home.matter.standard.IdentifyTrait.Attributes](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyTrait.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/IdentifyTrait.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/IdentifyTrait.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/IdentifyTrait.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/IdentifyTrait.Feature` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyTrait.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/IdentifyTrait.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/IdentifyTrait.Attributes#identifyTime()`

The remaining length of time, in seconds, that the endpoint will continue to identify itself.
`https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyTrait.IdentifyTypeEnum?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/IdentifyTrait.Attributes#identifyType()`

How the identification state is presented to the user.
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: Identify.Attribute): Boolean
```

### supports

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

## Public properties

### factory

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