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.



215
216
217
# File 'lib/google/apis/homegraph_v1/classes.rb', line 215

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>)


141
142
143
# File 'lib/google/apis/homegraph_v1/classes.rb', line 141

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>)


151
152
153
# File 'lib/google/apis/homegraph_v1/classes.rb', line 151

def custom_data
  @custom_data
end

#device_infoGoogle::Apis::HomegraphV1::DeviceInfo

Device information. Corresponds to the JSON property deviceInfo



156
157
158
# File 'lib/google/apis/homegraph_v1/classes.rb', line 156

def device_info
  @device_info
end

#idString

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

Returns:

  • (String)


161
162
163
# File 'lib/google/apis/homegraph_v1/classes.rb', line 161

def id
  @id
end

#nameGoogle::Apis::HomegraphV1::DeviceNames

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



166
167
168
# File 'lib/google/apis/homegraph_v1/classes.rb', line 166

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)


174
175
176
# File 'lib/google/apis/homegraph_v1/classes.rb', line 174

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



182
183
184
# File 'lib/google/apis/homegraph_v1/classes.rb', line 182

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)


188
189
190
# File 'lib/google/apis/homegraph_v1/classes.rb', line 188

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)


194
195
196
# File 'lib/google/apis/homegraph_v1/classes.rb', line 194

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>)


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

def traits
  @traits
end

#typeString

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

Returns:

  • (String)


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

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)


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

def will_report_state
  @will_report_state
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



220
221
222
223
224
225
226
227
228
229
230
231
232
233
# File 'lib/google/apis/homegraph_v1/classes.rb', line 220

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