Class: Google::Apis::HomegraphV1::Device

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/homegraph_v1/classes.rb,
lib/google/apis/homegraph_v1/representations.rb,
lib/google/apis/homegraph_v1/representations.rb

Overview

Third-party device definition.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Device

Returns a new instance of Device.



260
261
262
# File 'lib/google/apis/homegraph_v1/classes.rb', line 260

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#attributesHash<String,Object>

Attributes for the traits supported by the device. Corresponds to the JSON property attributes

Returns:

  • (Hash<String,Object>)


186
187
188
# File 'lib/google/apis/homegraph_v1/classes.rb', line 186

def attributes
  @attributes
end

#custom_dataHash<String,Object>

Custom device attributes stored in Home Graph and provided to your smart home Action in each QUERY and EXECUTE intent. Data in this object has a few constraints: No sensitive information, including but not limited to Personally Identifiable Information. Corresponds to the JSON property customData

Returns:

  • (Hash<String,Object>)


196
197
198
# File 'lib/google/apis/homegraph_v1/classes.rb', line 196

def custom_data
  @custom_data
end

#device_infoGoogle::Apis::HomegraphV1::DeviceInfo

Device information. Corresponds to the JSON property deviceInfo



201
202
203
# File 'lib/google/apis/homegraph_v1/classes.rb', line 201

def device_info
  @device_info
end

#idString

Third-party device ID. Corresponds to the JSON property id

Returns:

  • (String)


206
207
208
# File 'lib/google/apis/homegraph_v1/classes.rb', line 206

def id
  @id
end

#nameGoogle::Apis::HomegraphV1::DeviceNames

Identifiers used to describe the device. Corresponds to the JSON property name



211
212
213
# File 'lib/google/apis/homegraph_v1/classes.rb', line 211

def name
  @name
end

#notification_supported_by_agentBoolean Also known as: notification_supported_by_agent?

Indicates whether your smart home Action will report notifications to Google for this device via ReportStateAndNotification. If your smart home Action enables users to control device notifications, you should update this field and call RequestSyncDevices. Corresponds to the JSON property notificationSupportedByAgent

Returns:

  • (Boolean)


219
220
221
# File 'lib/google/apis/homegraph_v1/classes.rb', line 219

def notification_supported_by_agent
  @notification_supported_by_agent
end

#other_device_idsArray<Google::Apis::HomegraphV1::AgentOtherDeviceId>

Alternate IDs associated with this device. This is used to identify cloud synced devices enabled for local fulfillment. Corresponds to the JSON property otherDeviceIds



227
228
229
# File 'lib/google/apis/homegraph_v1/classes.rb', line 227

def other_device_ids
  @other_device_ids
end

#room_hintString

Suggested name for the room where this device is installed. Google attempts to use this value during user setup. Corresponds to the JSON property roomHint

Returns:

  • (String)


233
234
235
# File 'lib/google/apis/homegraph_v1/classes.rb', line 233

def room_hint
  @room_hint
end

#structure_hintString

Suggested name for the structure where this device is installed. Google attempts to use this value during user setup. Corresponds to the JSON property structureHint

Returns:

  • (String)


239
240
241
# File 'lib/google/apis/homegraph_v1/classes.rb', line 239

def structure_hint
  @structure_hint
end

#traitsArray<String>

Traits supported by the device. See device traits. Corresponds to the JSON property traits

Returns:

  • (Array<String>)


245
246
247
# File 'lib/google/apis/homegraph_v1/classes.rb', line 245

def traits
  @traits
end

#typeString

Hardware type of the device. See device types. Corresponds to the JSON property type

Returns:

  • (String)


251
252
253
# File 'lib/google/apis/homegraph_v1/classes.rb', line 251

def type
  @type
end

#will_report_stateBoolean Also known as: will_report_state?

Indicates whether your smart home Action will report state of this device to Google via ReportStateAndNotification. Corresponds to the JSON property willReportState

Returns:

  • (Boolean)


257
258
259
# File 'lib/google/apis/homegraph_v1/classes.rb', line 257

def will_report_state
  @will_report_state
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



265
266
267
268
269
270
271
272
273
274
275
276
277
278
# File 'lib/google/apis/homegraph_v1/classes.rb', line 265

def update!(**args)
  @attributes = args[:attributes] if args.key?(:attributes)
  @custom_data = args[:custom_data] if args.key?(:custom_data)
  @device_info = args[:device_info] if args.key?(:device_info)
  @id = args[:id] if args.key?(:id)
  @name = args[:name] if args.key?(:name)
  @notification_supported_by_agent = args[:notification_supported_by_agent] if args.key?(:notification_supported_by_agent)
  @other_device_ids = args[:other_device_ids] if args.key?(:other_device_ids)
  @room_hint = args[:room_hint] if args.key?(:room_hint)
  @structure_hint = args[:structure_hint] if args.key?(:structure_hint)
  @traits = args[:traits] if args.key?(:traits)
  @type = args[:type] if args.key?(:type)
  @will_report_state = args[:will_report_state] if args.key?(:will_report_state)
end