query(body=None, x__xgafv=None)
Gets the current states in Home Graph for the given set of the third-party
reportStateAndNotification(body=None, x__xgafv=None)
Reports device state and optionally sends device notifications.
requestSync(body=None, x__xgafv=None)
Requests Google to send an `action.devices.SYNC`
sync(body=None, x__xgafv=None)
Gets all the devices associated with the given third-party user.
query(body=None, x__xgafv=None)
Gets the current states in Home Graph for the given set of the third-party
user's devices.
The third-party user's identity is passed in via the `agent_user_id`
(see QueryRequest).
This request must be authorized using service account credentials from your
Actions console project.
Args:
body: object, The request body.
The object takes the form of:
{ # Request type for the
# [`Query`](#google.home.graph.v1.HomeGraphApiService.Query) call.
"requestId": "A String", # Request ID used for debugging.
"agentUserId": "A String", # Required. Third-party user ID.
"inputs": [ # Required. Inputs containing third-party device IDs for which to
# get the device states.
{ # Device ID inputs to QueryRequest.
"payload": { # Payload containing device IDs. # Payload containing third-party device IDs.
"devices": [ # Third-party device IDs for which to get the device states.
{ # Third-party device ID for one device.
"id": "A String", # Third-party device ID.
},
],
},
},
],
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Response type for the
# [`Query`](#google.home.graph.v1.HomeGraphApiService.Query) call.
# This should follow the same format as the Google smart home
# `action.devices.QUERY`
# [response](https://developers.google.com/assistant/smarthome/reference/intent/query).
# # Example
#
# ```json
# {
# "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
# "payload": {
# "devices": {
# "123": {
# "on": true,
# "online": true
# },
# "456": {
# "on": true,
# "online": true,
# "brightness": 80,
# "color": {
# "name": "cerulean",
# "spectrumRGB": 31655
# }
# }
# }
# }
# }
# ```
"payload": { # Payload containing device states information. # Device states for the devices given in the request.
"devices": { # States of the devices. Map of third-party device ID to struct of device
# states.
"a_key": {
"a_key": "", # Properties of the object.
},
},
},
"requestId": "A String", # Request ID used for debugging. Copied from the request.
}
reportStateAndNotification(body=None, x__xgafv=None)
Reports device state and optionally sends device notifications.
Called by your smart home Action when the state of a third-party device
changes or you need to send a notification about the device.
See [Implement Report
State](https://developers.google.com/assistant/smarthome/develop/report-state)
for more information.
This method updates the device state according to its declared
[traits](https://developers.google.com/assistant/smarthome/concepts/devices-traits).
Publishing a new state value outside of these traits will result in an
`INVALID_ARGUMENT` error response.
The third-party user's identity is passed in via the `agent_user_id`
(see ReportStateAndNotificationRequest).
This request must be authorized using service account credentials from your
Actions console project.
Args:
body: object, The request body.
The object takes the form of:
{ # Request type for the
# [`ReportStateAndNotification`](#google.home.graph.v1.HomeGraphApiService.ReportStateAndNotification)
# call. It may include states, notifications, or both. States and notifications
# are defined per `device_id` (for example, "123" and "456" in the following
# example).
# # Example
#
# ```json
# {
# "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
# "agentUserId": "1234",
# "payload": {
# "devices": {
# "states": {
# "123": {
# "on": true
# },
# "456": {
# "on": true,
# "brightness": 10
# }
# },
# }
# }
# }
# ```
"eventId": "A String", # Unique identifier per event (for example, a doorbell press).
"requestId": "A String", # Request ID used for debugging.
"payload": { # Payload containing the state and notification information for devices. # Required. State of devices to update and notification metadata for devices.
"devices": { # The states and notifications specific to a device. # The devices for updating state and sending notifications.
"states": { # States of devices to update. See the **Device STATES** section
# of the individual trait [reference
# guides](https://developers.google.com/assistant/smarthome/traits).
"a_key": "", # Properties of the object.
},
"notifications": { # Notifications metadata for devices. See the **Device NOTIFICATIONS**
# section of the individual trait [reference
# guides](https://developers.google.com/assistant/smarthome/traits).
"a_key": "", # Properties of the object.
},
},
},
"followUpToken": "A String", # Token to maintain state in the follow up notification response.
# Deprecated. See the [notifications
# guide](https://developers.google.com/assistant/smarthome/develop/notifications)
# for details on implementing follow up notifications.
"agentUserId": "A String", # Required. Third-party user ID.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Response type for the
# [`ReportStateAndNotification`](#google.home.graph.v1.HomeGraphApiService.ReportStateAndNotification)
# call.
"requestId": "A String", # Request ID copied from ReportStateAndNotificationRequest.
}
requestSync(body=None, x__xgafv=None)
Requests Google to send an `action.devices.SYNC`
[intent](https://developers.google.com/assistant/smarthome/reference/intent/sync)
to your smart home Action to update device metadata for the given user.
The third-party user's identity is passed via the `agent_user_id`
(see RequestSyncDevicesRequest).
This request must be authorized using service account credentials from your
Actions console project.
Args:
body: object, The request body.
The object takes the form of:
{ # Request type for the
# [`RequestSyncDevices`](#google.home.graph.v1.HomeGraphApiService.RequestSyncDevices)
# call.
"agentUserId": "A String", # Required. Third-party user ID.
"async": True or False, # Optional. If set, the request will be added to a queue and a response will
# be returned immediately. This enables concurrent requests for the given
# `agent_user_id`, but the caller will not receive any error responses.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Response type for the
# [`RequestSyncDevices`](#google.home.graph.v1.HomeGraphApiService.RequestSyncDevices)
# call.
#
# Intentionally empty upon success. An HTTP response code is returned
# with more details upon failure.
}
sync(body=None, x__xgafv=None)
Gets all the devices associated with the given third-party user.
The third-party user's identity is passed in via the `agent_user_id`
(see SyncRequest).
This request must be authorized using service account credentials from your
Actions console project.
Args:
body: object, The request body.
The object takes the form of:
{ # Request type for the [`Sync`](#google.home.graph.v1.HomeGraphApiService.Sync)
# call.
"requestId": "A String", # Request ID used for debugging.
"agentUserId": "A String", # Required. Third-party user ID.
}
x__xgafv: string, V1 error format.
Allowed values
1 - v1 error format
2 - v2 error format
Returns:
An object of the form:
{ # Response type for the
# [`Sync`](#google.home.graph.v1.HomeGraphApiService.Sync) call.
# This should follow the same format as the Google smart home
# `action.devices.SYNC`
# [response](https://developers.google.com/assistant/smarthome/reference/intent/sync).
# # Example
#
# ```json
# {
# "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
# "payload": {
# "agentUserId": "1836.15267389",
# "devices": [{
# "id": "123",
# "type": "action.devices.types.OUTLET",
# "traits": [
# "action.devices.traits.OnOff"
# ],
# "name": {
# "defaultNames": ["My Outlet 1234"],
# "name": "Night light",
# "nicknames": ["wall plug"]
# },
# "willReportState": false,
# "deviceInfo": {
# "manufacturer": "lights-out-inc",
# "model": "hs1234",
# "hwVersion": "3.2",
# "swVersion": "11.4"
# },
# "customData": {
# "fooValue": 74,
# "barValue": true,
# "bazValue": "foo"
# }
# }]
# }
# }
# ```
"requestId": "A String", # Request ID used for debugging. Copied from the request.
"payload": { # Payload containing device information. # Devices associated with the third-party user.
"devices": [ # Devices associated with the third-party user.
{ # Third-party device definition.
"roomHint": "A String", # Suggested name for the room where this device is installed.
# Google attempts to use this value during user setup.
"deviceInfo": { # Device information. # Device manufacturer, model, hardware version, and software version.
"swVersion": "A String", # Device software version.
"model": "A String", # Device model.
"manufacturer": "A String", # Device manufacturer.
"hwVersion": "A String", # Device hardware version.
},
"id": "A String", # Third-party device ID.
"otherDeviceIds": [ # Alternate IDs associated with this device.
# This is used to identify cloud synced devices enabled for [local
# fulfillment](https://developers.google.com/assistant/smarthome/concepts/local).
{ # Alternate third-party device ID.
"agentId": "A String", # Project ID for your smart home Action.
"deviceId": "A String", # Unique third-party device ID.
},
],
"willReportState": True or False, # Indicates whether your smart home Action will report state of this device
# to Google via
# ReportStateAndNotification.
"name": { # Identifiers used to describe the device. # Names given to this device by your smart home Action.
"defaultNames": [ # List of names provided by the manufacturer rather than the user, such as
# serial numbers, SKUs, etc.
"A String",
],
"name": "A String", # Primary name of the device, generally provided by the user.
"nicknames": [ # Additional names provided by the user for the device.
"A String",
],
},
"customData": { # Custom device attributes stored in Home Graph and provided to your
# smart home Action in each
# [QUERY](https://developers.google.com/assistant/smarthome/reference/intent/query)
# and
# [EXECUTE](https://developers.google.com/assistant/smarthome/reference/intent/execute)
# intent.
"a_key": "", # Properties of the object.
},
"notificationSupportedByAgent": True or False, # 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.
"traits": [ # Traits supported by the device.
# See [device
# traits](https://developers.google.com/assistant/smarthome/traits).
"A String",
],
"structureHint": "A String", # Suggested name for the structure where this device is installed.
# Google attempts to use this value during user setup.
"type": "A String", # Hardware type of the device.
# See [device
# types](https://developers.google.com/assistant/smarthome/guides).
"attributes": { # Attributes for the traits supported by the device.
"a_key": "", # Properties of the object.
},
},
],
"agentUserId": "A String", # Third-party user ID
},
}