GoogleDrawerDevice

class GoogleDrawerDevice : DeviceType


A device consisting of a sliding, lidless, horizontal compartment that may be drawn out from a piece of furniture or a wall in order to gain access to it. Drawers can be opened and closed, potentially in more than one direction.

Summary

Nested types

Trait Container for GoogleDrawerDevice Google Traits.

Public constructors

GoogleDrawerDevice(
    metadata: DeviceType.Metadata,
    traitProvider: TraitProvider,
    eventProvider: HasEvents,
    partsProvider: HasParts,
    googleTraits: GoogleDrawerDevice.GoogleTraits
)

Creates the GoogleDrawerDevice class.

Inherited functions

From com.google.home.HasEvents
open Flow<Event>

Gets a flow of all Events available for the object.

open Flow<T>
<T : Event> events(event: EventFactory<T>)

Gets a flow of a specific Event.

open Flow<Event>
<T : Trait> events(trait: TraitFactory<T>)

Gets a flow of all Events by this Trait.

From com.google.home.HasParts
open T
<T : DeviceType> part(type: DeviceTypeFactory<T>, vararg tags: Tag)

Returns the first part that matches the given type and tags.

open T?
<T : DeviceType> partOrNull(type: DeviceTypeFactory<T>, vararg tags: Tag)

Returns the first part that matches the given type and tags.

From com.google.home.TraitProvider
open Trait.TraitMetadata?
<T : Trait> metadata(traitFactory: TraitFactory<T>)

Access a specific trait metadata on the provider given a caller-provided TraitFactory.

open T?
<T : Trait> trait(traitFactory: TraitFactory<T>)

Access a specific trait on the provider given a caller-provided TraitFactory.

open Set<Trait>

Given a similar accessible trait set as the function above, returns a subset of those traits that are present in the associated HomeConfig.factoryRegistry union'ed with those already known to the extended sub-class (e.g specific DeviceType that is aware of the set of TraitFactorys specified in its type definition).

Inherited properties

From com.google.home.DeviceType
From com.google.home.HasParts
open Set<DeviceType>

The parts of this object represented as a set of device types.

Public constructors

GoogleDrawerDevice

GoogleDrawerDevice(
    metadata: DeviceType.Metadata,
    traitProvider: TraitProvider,
    eventProvider: HasEvents,
    partsProvider: HasParts,
    googleTraits: GoogleDrawerDevice.GoogleTraits
)

Creates the GoogleDrawerDevice class.

Public properties

metadata

open val metadataDeviceType.Metadata