com.google.home

Interfaces

BatchScope

The scope for the lifecycle of a batch.

Batchable

The Batchable interface allows entities/objects to be batched together.

CommandDescriptor

Interface implemented by every trait command.

DeferredResponse

Represents the response of a command which will be populated after the batch completes.

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.

HomeObjectChangeEvent

Base interface expanded into different events for the streaming API.

HomeObjectType

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

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

BatchableCommand

Represents a command that can be batched with other commands.

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.

HomeObjectAddedEvent

When a Structure, Room or HomeDevice is added to the corresponding top level flow, this event is issued with the newly added home object.

HomeObjectInitialEvent

Event issued during data priming.

HomeObjectRemovedEvent

When a Structure, Room or HomeDevice is deleted, this event is issued with the id of the deleted home object.

HomeObjectUpdatedEvent

When a Structure, Room or HomeDevice is modified, this event is issued with the modified home object.

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.

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.