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.



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

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


101
102
103
# File 'lib/google/apis/homegraph_v1/classes.rb', line 101

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


111
112
113
# File 'lib/google/apis/homegraph_v1/classes.rb', line 111

def custom_data
  @custom_data
end

#device_infoGoogle::Apis::HomegraphV1::DeviceInfo

Device information. Corresponds to the JSON property deviceInfo



116
117
118
# File 'lib/google/apis/homegraph_v1/classes.rb', line 116

def device_info
  @device_info
end

#idString

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

Returns:

  • (String)


121
122
123
# File 'lib/google/apis/homegraph_v1/classes.rb', line 121

def id
  @id
end

#nameGoogle::Apis::HomegraphV1::DeviceNames

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



126
127
128
# File 'lib/google/apis/homegraph_v1/classes.rb', line 126

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)


134
135
136
# File 'lib/google/apis/homegraph_v1/classes.rb', line 134

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



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

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)


148
149
150
# File 'lib/google/apis/homegraph_v1/classes.rb', line 148

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)


154
155
156
# File 'lib/google/apis/homegraph_v1/classes.rb', line 154

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


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

def traits
  @traits
end

#typeString

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

Returns:

  • (String)


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

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)


172
173
174
# File 'lib/google/apis/homegraph_v1/classes.rb', line 172

def will_report_state
  @will_report_state
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



180
181
182
183
184
185
186
187
188
189
190
191
192
193
# File 'lib/google/apis/homegraph_v1/classes.rb', line 180

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