google_api_home_graph v0.2.0 GoogleApi.HomeGraph.V1.Model.Device View Source

Third-party partner's device definition.

Attributes

  • attributes (type: map(), default: nil) - Attributes for the traits supported by the device.

  • customData (type: map(), default: nil) - Custom JSON data provided by the manufacturer and attached to QUERY and EXECUTE requests in AoG.

  • deviceInfo (type: GoogleApi.HomeGraph.V1.Model.DeviceInfo.t, default: nil) - Device manufacturer, model, hardware version, and software version.

  • id (type: String.t, default: nil) - Third-party partner's device ID.

  • name (type: GoogleApi.HomeGraph.V1.Model.DeviceNames.t, default: nil) - Name of the device given by the third party. This includes names given to the device via third party device manufacturer's app, model names for the device, etc.

  • notificationSupportedByAgent (type: boolean(), default: nil) - Indicates whether the device is capable of sending notifications. This field will be set by the agent (partner) on an incoming SYNC. If a device is not capable of generating notifications, the partner should set this flag to false. If a partner is not capable of calling ReportStateAndNotification to send notifications to Google, the partner should set this flag to false. If there is a user setting in the partner app to enable notifications and it is turned off, the partner should set this flag to false.

  • otherDeviceIds (type: list(GoogleApi.HomeGraph.V1.Model.AgentOtherDeviceId.t), default: nil) - IDs of other devices associated with this device. This is used to represent a device group (e.g. bonded zone) or "facets" synced through different flows (e.g. Google Nest Hub Max with a Nest Camera).

    This may also be used to pass in alternate IDs used to identify a cloud synced device for local execution (i.e. local verification). If used for local verification, this field is synced from the cloud.

  • roomHint (type: String.t, default: nil) - If the third-party partner's cloud configuration includes placing devices in rooms, the name of the room can be provided here.

  • structureHint (type: String.t, default: nil) - As in roomHint, for structures that users set up in the partner's system.

  • traits (type: list(String.t), default: nil) - Traits supported by the device.

  • type (type: String.t, default: nil) - Hardware type of the device (e.g. light, outlet, etc).

  • willReportState (type: boolean(), default: nil) - Indicates whether the state of this device is being reported to Google through ReportStateAndNotification call.

Link to this section Summary

Functions

Unwrap a decoded JSON object into its complex fields.

Link to this section Types

Link to this type

t()

View Source
t() :: %GoogleApi.HomeGraph.V1.Model.Device{
  attributes: map(),
  customData: map(),
  deviceInfo: GoogleApi.HomeGraph.V1.Model.DeviceInfo.t(),
  id: String.t(),
  name: GoogleApi.HomeGraph.V1.Model.DeviceNames.t(),
  notificationSupportedByAgent: boolean(),
  otherDeviceIds: [GoogleApi.HomeGraph.V1.Model.AgentOtherDeviceId.t()],
  roomHint: String.t(),
  structureHint: String.t(),
  traits: [String.t()],
  type: String.t(),
  willReportState: boolean()
}

Link to this section Functions

Link to this function

decode(value, options)

View Source
decode(struct(), keyword()) :: struct()

Unwrap a decoded JSON object into its complex fields.