# GeneralDiagnostics


```
@Generated(value = ["GoogleHomePlatformCodegen"])
interface GeneralDiagnostics : GeneralDiagnosticsTrait.Attributes, MatterTrait, GeneralDiagnosticsCommands
```

<br />

*** ** * ** ***

API for the GeneralDiagnostics trait. This trait provides an interface for retrieving information about the general diagnostic information for an endpoint.

## Summary

| ### Nested types |
|---|
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnostics.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. |
| `class https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnostics.BootReasonEvent : https://developers.home.google.com/reference/kotlin/com/google/home/Event, https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.BootReason` |
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnostics.BootReasonEvent.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. |
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnostics.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/GeneralDiagnostics.HardwareFaultChangeEvent : https://developers.home.google.com/reference/kotlin/com/google/home/Event, https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.HardwareFaultChange` |
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnostics.HardwareFaultChangeEvent.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/GeneralDiagnostics.NetworkFaultChangeEvent : https://developers.home.google.com/reference/kotlin/com/google/home/Event, https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.NetworkFaultChange` |
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnostics.NetworkFaultChangeEvent.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/GeneralDiagnostics.RadioFaultChangeEvent : https://developers.home.google.com/reference/kotlin/com/google/home/Event, https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.RadioFaultChange` |
| `enum https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnostics.RadioFaultChangeEvent.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/GeneralDiagnostics#supports(com.google.home.matter.standard.GeneralDiagnostics.Attribute)(attribute: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnostics.Attribute)` |
| `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnostics#supports(com.google.home.matter.standard.GeneralDiagnostics.Command)(command: https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnostics.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/GeneralDiagnostics>` | `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnostics#factory()` |

### Inherited functions

From [com.google.home.matter.standard.GeneralDiagnosticsCommands](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsCommands) `suspend https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.PayloadTestRequestCommand.Response` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsCommands#payloadTestRequest(kotlin.ByteArray,kotlin.UByte,kotlin.UShort)(enableKey: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html, value: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html, count: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html)` `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.PayloadTestRequestCommand.Response>` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsCommands#payloadTestRequestBatchable(kotlin.ByteArray,kotlin.UByte,kotlin.UShort)(
enableKey: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html,
value: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-byte/index.html,
count: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html
)` `suspend https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsCommands#testEventTrigger(kotlin.ByteArray,kotlin.ULong)(enableKey: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html, eventTrigger: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-long/index.html)` `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/GeneralDiagnosticsCommands#testEventTriggerBatchable(kotlin.ByteArray,kotlin.ULong)(enableKey: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html, eventTrigger: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-long/index.html)` `suspend https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.TimeSnapshotCommand.Response` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsCommands#timeSnapshot()()` `https://developers.home.google.com/reference/kotlin/com/google/home/BatchableCommand<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.TimeSnapshotCommand.Response>` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsCommands#timeSnapshotBatchable()()` From [com.google.home.matter.standard.GeneralDiagnosticsTrait.Attributes](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.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/GeneralDiagnosticsTrait.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/GeneralDiagnosticsTrait.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.GeneralDiagnosticsTrait.Attributes](https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.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/GeneralDiagnosticsTrait.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://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.HardwareFaultEnum>?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.Attributes#activeHardwareFaults()` `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.NetworkFaultEnum>?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.Attributes#activeNetworkFaults()` `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.RadioFaultEnum>?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.Attributes#activeRadioFaults()` `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/GeneralDiagnosticsTrait.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/GeneralDiagnosticsTrait.BootReasonEnum?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.Attributes#bootReason()` `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.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/GeneralDiagnosticsTrait.DeviceLoadStruct?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.Attributes#deviceLoadStatus()` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.Feature` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.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/GeneralDiagnosticsTrait.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.collections/-list/index.html<https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.NetworkInterface>?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.Attributes#networkInterfaces()`

A list of `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.NetworkInterface` entries.
`https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-short/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.Attributes#rebootCount()` `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.Attributes#testEventTriggersEnabled()` `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-int/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.Attributes#totalOperationalHours()` `https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-u-long/index.html?` `https://developers.home.google.com/reference/kotlin/com/google/home/matter/standard/GeneralDiagnosticsTrait.Attributes#upTime()` 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: GeneralDiagnostics.Attribute): Boolean
```

### supports

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

## Public properties

### factory

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