com.google.home

Interfaces

CommandDescriptor

Interface implemented by every trait command.

Descriptor

A tagging interface to describe a field, such as StructDescriptor

Event

Interface tagging for events.

Field

Interface describing a Field of a Trait, Command or Event.

HasConnectivityState

Represents the state of a device (HomeDevice,Component,DeviceType,Trait).

HasDeviceTypes

This interface allows for getting device types from a Device.

HasEvents

Interface implemented by objects that have observable events.

HasHomeDevices

Query devices within the implementation context (HomeManager, Structure, Room) the caller has permissions to access.

HasId

Entities in the SDK present a stable ID for comparing Collections and retrieving entities directly.

HasRooms

Query Rooms the caller has permissions to access.

HasStructures

Query Structures the caller has permissions to access.

HasTraits

An entity with associated traits and trait metadata.

HomeDevice

A device supporting traits, commands, and subscriptions.

HomeManager

The Home Manager interface allows accessing devices and structures visible to the caller based on the context provided during initialization.

HomeObjectType

Tagging interface for all objects' types (Structure, Room or HomeDevice).

PermissionMetadata
Room

An object that represents a Room in a Structure.

StructDescriptor

Interface implemented by every struct data types.

Structure

The top-level organizing construct for the Home.

Trait

Base class for traits and generated Matter clusters.

TraitProvider

A functional interface for returning a trait instance from the current data snapshot.

TraitStateInvalidation

This API provides the ability to invalidate state retrieved through subscriptions to the target device in the cases where state is not being reported correctly, either intentionally (e.g attributes in Matter traits with the "C" quality) or unintentionally due to poor implementations.

Updatable

This interface keeps the lifecycle of mutable objects within the scope of the update function.

Classes

DeviceType

Abstract base class for all generated DeviceType classes.

DeviceType.Metadata
DeviceTypeFactory

Wrapper for companion objects to subclass to create shorter syntax.

EventFactory

Wrapper for companion objects to subclass to create shorter syntax.

FactoryRegistry

A registry of traits and device types to be used by the SDK.

Home

Entry point for the Home API.

HomeConfig

Stores common config for configuring the behavior of the SDK.

HomeObjectsFlow

A Flow of a Set of home objects.

Id

Opaque holder for an ID.

PermissionsResult

The result of a request for home permissions.

SourceConnectivity

Data source metadata for a single trait.

StructureType

Structure type definition.

Trait.TraitMetadata

General metadata common to all traits.

TraitFactory

Wrapper for companions to subclass to create shorter syntax.

TypeFactory

Wrapper for companion objects to subclass to create shorter syntax.

Objects

NoOpDescriptor

Default (empty) implementation of Descriptor

StructureType.Companion

Enums

ConnectivityState

Represents the state of a device (HomeDevice,Component,DeviceType,Trait).

EventImportance

The Event importance as reported.

LocalityType

The network locality of a request or route.

PermissionsResultStatus

Statuses for a permissions request.

PermissionsState

The state of permissions to access home data for the requesting client.

Type

This enum lists the types of Kotlin variables which represent trait fields.

Extension functions summary

operator Boolean

Helper on sets of DeviceType to allow convenience syntax similar to DimmableLightDevice in types where types is a Set.

operator T?

Direct accessor to the DeviceType that auto-casts the result.

operator T?
<T : Trait> Set<Trait>.get(factory: TraitFactory<T>)

Direct accessor to the Trait that auto-casts the result.

Collection<LocalityType>

Returns all distinct data source localities of this device type's traits.

Extension functions

contains

operator fun <T : DeviceType> Set<DeviceType>.contains(factory: DeviceTypeFactory<T>): Boolean

Helper on sets of DeviceType to allow convenience syntax similar to DimmableLightDevice in types where types is a Set.

get

operator fun <T : DeviceType> Set<DeviceType>.get(factory: DeviceTypeFactory<T>): T?

Direct accessor to the DeviceType that auto-casts the result. Returns null if the DeviceType with the requested type is not present.

get

operator fun <T : Trait> Set<Trait>.get(factory: TraitFactory<T>): T?

Direct accessor to the Trait that auto-casts the result. Returns null if the trait with the requested type is not present.

getLocalityTypes

fun DeviceType.getLocalityTypes(): Collection<LocalityType>

Returns all distinct data source localities of this device type's traits.