action.devices.SYNC
Este intent solicita la lista de dispositivos asociados con un usuario determinado y sus capacidades.
Se activa durante la vinculación de cuentas o cuando un usuario vuelve a sincronizar sus dispositivos manualmente. Tu entrega debería responder con la y atributos admitidos para cada dispositivo.
La respuesta de SYNC
debería mostrar todos los dispositivos asociados con el usuario.
Esto no determina si se puede acceder a un dispositivo en particular. Esto se controla
QUERY
y
EXECUTE
respuestas.
Para obtener más detalles, consulta Cómo identificar y sincronizar.
Formato de la solicitud
Campos | Tipo | Descripción |
---|---|---|
requestId |
String |
Obligatorio. Es el ID de la solicitud. |
inputs |
Matriz |
Obligatorio. Lista de entradas que coinciden con la solicitud de intent. |
[item, ...] |
Objeto |
Tipo y carga útil asociados con la solicitud de intent. |
intent |
Obligatorio. (Valor constante: Tipo de solicitud de intent. |
Ejemplos
Solicitud de intent SYNC
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [ { "intent": "action.devices.SYNC" } ] }
Formato de respuesta
Campos | Tipo | Descripción |
---|---|---|
requestId |
String |
Obligatorio. Es el ID de la solicitud correspondiente. |
payload |
Objeto |
Obligatorio. Carga útil de la respuesta de intent. |
agentUserId |
String |
Obligatorio. Refleja el ID de usuario único (e inmutable) en la plataforma del agente. La cadena es opaca para Google, por lo que, si hay una forma inmutable en lugar de una mutable del lado del agente, usa la forma inmutable (p.ej., un número de cuenta en lugar de un correo electrónico). |
errorCode |
String |
Para errores sistemáticos en SYNC |
debugString |
String |
Errores detallados que nunca se presentarán a los usuarios, pero que pueden registrarse o usarse durante el desarrollo. |
devices |
Matriz |
Obligatorio. Es la lista de dispositivos que son propiedad del usuario. No se devuelven ninguno o más dispositivos (cero dispositivos significa que el usuario no tiene dispositivos o los desconectó todos). |
[item, ...] |
Objeto |
Metadatos del dispositivo. |
id |
String |
Obligatorio. El ID del dispositivo en la nube del desarrollador. Esta información debe ser única para el usuario y el desarrollador, ya que en los casos de uso compartido podemos usarla para anular la duplicación de varias vistas del mismo dispositivo. Debe ser inmutable para el dispositivo. Si cambia, Asistente lo considerará como un dispositivo nuevo. |
type |
String |
Obligatorio. Es el tipo de hardware del dispositivo. |
traits |
Matriz |
Obligatorio. Lista de características que tiene este dispositivo. Esto define los comandos, atributos y estados que admite el dispositivo. |
[item, ...] |
String |
Nombre de la característica admitida. |
name |
Objeto |
Obligatorio. Nombres de este dispositivo. |
defaultNames |
Matriz |
Lista de nombres que proporciona el desarrollador en lugar del usuario, a menudo nombres de fabricantes, SKU, etcétera |
[item, ...] |
String |
Nombre predeterminado del dispositivo. |
name |
String |
Obligatorio. Nombre principal del dispositivo, proporcionado por el usuario en general. Este también es el nombre que el Asistente preferirá para describir el dispositivo en las respuestas. |
nicknames |
Matriz |
Nombres adicionales proporcionados por el usuario para el dispositivo. |
[item, ...] |
String |
Sobrenombre del dispositivo. |
willReportState |
Booleano |
Obligatorio. Indica si el feed en tiempo real actualizará los estados de este dispositivo. (true para usar el feed en tiempo real para el estado de los informes y falso para usar el modelo de sondeo). |
notificationSupportedByAgent |
Booleano |
(Predeterminado: Indica si las notificaciones están habilitadas para el dispositivo. |
roomHint |
String |
Indica la habitación actual del dispositivo en la casa del usuario para simplificar la configuración. |
deviceInfo |
Objeto |
Contiene campos que describen el dispositivo para su uso en una lógica única si es necesario (p.ej., "la versión de firmware X de la luz Y no funciona requiere ajustar el color" o "una falla de seguridad requiere notificar a todos los usuarios sobre el firmware Z"). |
manufacturer |
String |
Esto es especialmente útil cuando el desarrollador es un concentrador para otros dispositivos. Google puede proporcionar una lista estándar de fabricantes para que, p.ej., TP-Link y Smartthings describen a "osram" de la misma manera. |
model |
String |
Indica el modelo o identificador de SKU del dispositivo en particular. |
hwVersion |
String |
Número de versión específico adjunto al hardware, si está disponible. |
swVersion |
String |
Número de versión específico adjunto al software o firmware, si está disponible. |
attributes |
Objeto |
Se alinea con los atributos por característica descritos en cada referencia de esquema de características. |
customData |
Objeto |
Es el objeto definido por el desarrollador que se adjuntará a las futuras solicitudes QUERY y EXECUTE, con un máximo de 512 bytes por dispositivo. Usa este objeto para almacenar información adicional sobre el dispositivo que podría necesitar tu servicio en la nube, como la región global del dispositivo. Los datos de este objeto tienen algunas restricciones: No se permite la información sensible, incluida, sin limitaciones, la información de identificación personal. |
otherDeviceIds |
Matriz |
Lista de los IDs alternativos que se utilizan para identificar un dispositivo sincronizado en la nube para la ejecución local. |
[item, ...] |
Objeto |
ID de dispositivo alternativo. |
agentId |
String |
El ID del agente. Por lo general, es el ID del proyecto en la Consola de Actions. |
deviceId |
String |
Obligatorio. El ID de dispositivo que define el agente. El ID de dispositivo debe ser único. |
Ejemplos
Respuesta al intent SYNC
{ "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, "roomHint": "kitchen", "deviceInfo": { "manufacturer": "lights-out-inc", "model": "hs1234", "hwVersion": "3.2", "swVersion": "11.4" }, "otherDeviceIds": [ { "deviceId": "local-device-id" } ], "customData": { "fooValue": 74, "barValue": true, "bazValue": "foo" } }, { "id": "456", "type": "action.devices.types.LIGHT", "traits": [ "action.devices.traits.OnOff", "action.devices.traits.Brightness", "action.devices.traits.ColorSetting" ], "name": { "defaultNames": [ "lights out inc. bulb A19 color hyperglow" ], "name": "lamp1", "nicknames": [ "reading lamp" ] }, "willReportState": false, "roomHint": "office", "attributes": { "colorModel": "rgb", "colorTemperatureRange": { "temperatureMinK": 2000, "temperatureMaxK": 9000 }, "commandOnlyColorSetting": false }, "deviceInfo": { "manufacturer": "lights out inc.", "model": "hg11", "hwVersion": "1.2", "swVersion": "5.4" }, "customData": { "fooValue": 12, "barValue": false, "bazValue": "bar" } } ] } }