# BasicInformation


```
@Generated(value = ["GoogleHomePlatformCodegen"])
interface BasicInformation : BasicInformationTrait.Attributes, MatterTrait, Updatable, BasicInformationCommands
```

<br />

*** ** * ** ***

API for the BasicInformation trait. This trait provides attributes and events for determining basic information about nodes.

## Summary

| ### Nested types |
|---|
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformation.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/BasicInformation.Command : https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/index.html` Descriptor enum for this trait's commands. |
| `class https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformation.LeaveEvent : https://developers.home.google.com/reference/kotlin/com/google/home/Event, https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Leave` |
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformation.LeaveEvent.EventFields : 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 event's fields. |
| `class https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformation.ReachableChangedEvent : https://developers.home.google.com/reference/kotlin/com/google/home/Event, https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.ReachableChanged` |
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformation.ReachableChangedEvent.EventFields : 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 event's fields. |
| `class https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformation.ShutDownEvent : https://developers.home.google.com/reference/kotlin/com/google/home/Event, https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.ShutDown` |
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformation.ShutDownEvent.EventFields : 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 event's fields. |
| `class https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformation.StartUpEvent : https://developers.home.google.com/reference/kotlin/com/google/home/Event, https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.StartUp` |
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformation.StartUpEvent.EventFields : 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 event's fields. |

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

### Inherited functions

From [com.google.home.matter.standard.BasicInformationCommands](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationCommands) `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationCommands#mfgSpecificPing()()`

Send a manufacturer specific ping.
`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/BasicInformationCommands#mfgSpecificPingBatchable()()`

The batchable version of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationCommands#mfgSpecificPing()` command.
From [com.google.home.matter.standard.BasicInformationTrait.Attributes](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.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/BasicInformationTrait.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/BasicInformationTrait.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/BasicInformation` `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/BasicInformation) -> https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html, init: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.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.BasicInformationTrait.Attributes](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.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/BasicInformationTrait.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/BasicInformationTrait.Attributes#attributeList()`

A list of the attribute IDs of the attributes supported by the cluster instance.
`https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.CapabilityMinimaStruct?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#capabilityMinima()`

The minimum guaranteed value for some system-wide resource capabilities that are not otherwise cluster-specific and do not appear elsewhere.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#clusterRevision()`

The revision of the server cluster specification supported by the cluster instance.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-int/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#configurationVersion()` `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#dataModelRevision()`

The revision number of the data model against which the node is certified.
`https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Feature` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.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/BasicInformationTrait.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/BasicInformationTrait.Attributes#hardwareVersion()`

The version number of the hardware of the node.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#hardwareVersionString()`

The human-readable version number of the hardware of the node.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#localConfigDisabled()`

If set to `true`, allow a local node configuration to be disabled.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#location()`

The ISO 3166-1 alpha-2 code representing the country, dependent territory, or special area of geographic interest in which the node is located at the time of the attribute being set.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#manufacturingDate()`

The date that the node was manufactured.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#maxPathsPerInvoke()`

The maximum paths per invoke.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#nodeLabel()`

The user defined name for the node.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#partNumber()`

The human-readable (displayable) vendor assigned part number for the node whose meaning and numbering scheme is vendor defined.
`https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.ProductAppearanceStruct?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#productAppearance()`

The information about the appearance of the product.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#productId()`

The Product ID assigned by the vendor that is unique to the specific product of the Node.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#productLabel()`

The vendor specific human-readable (displayable) product label.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#productName()`

A human-readable (displayable) name of the model for the node such as the model number (or other identifier) assigned by the vendor.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#productUrl()`

The link to a product specific web page.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#reachable()`

Indicates whether the node can be reached.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#serialNumber()`

The human-readable (displayable) serial number.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-int/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#softwareVersion()`

The current version number for the software running on the node.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#softwareVersionString()`

The current human-readable representation for the software running on the node.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-int/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#specificationVersion()`

The specification version.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#uniqueId()`

The unique identifier for the device, which is constructed in a manufacturer specific manner.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#vendorId()`

The Vendor ID.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/BasicInformationTrait.Attributes#vendorName()`

A human-readable (displayable) name of the vendor for the node.
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: BasicInformation.Attribute): Boolean
```

### supports

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

## Public properties

### factory

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