Te damos la bienvenida al Centro para desarrolladores de Google Home, el nuevo destino para aprender a desarrollar acciones para el hogar inteligente. Nota: Continuarás compilando acciones en la Consola de Actions.

Cómo admitir la detección de dispositivos

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Se establece una ruta de entrega local cuando Google hace coincidir un dispositivo que se puede controlar de forma local con uno que se muestre en la respuesta SYNC de la entrega en la nube.

Para permitir que Google descubra tu dispositivo en la red local y establecer la ruta de entrega local, debes agregar información de descubrimiento en la Consola de Actions. También debes actualizar la respuesta SYNC de tu entrega en la nube para informar a Google sobre el dispositivo que se puede controlar de forma local.

Establece la información de configuración de análisis

Para especificar la información de descubrimiento, sigue estos pasos:

  1. Abre tu proyecto de casa inteligente en la Consola de Actions.
  2. En el panel de navegación izquierdo, haga clic en Acciones.
  3. En Configurar SDK local (home) (opcional) > Agregar configuración de análisis del dispositivo, haz clic en Nueva configuración de análisis.
  4. Selecciona un tipo de protocolo que coincida con el análisis en el menú desplegable y, luego, ingresa los valores para que Google los analice.

En las siguientes tablas, se muestran los atributos que puedes agregar, según los protocolos que deseas que Google use para analizar tu dispositivo:

mDNS
Atributo Descripción Valor de ejemplo
Nombre del servicio Obligatorio. Nombre del servicio publicado por el dispositivo en formato service.domain. _http._tcp.local
Nombre

Obligatorio. Filtra por una instancia de servicio única con el formato instance.service.domain.

La plataforma trata este valor como una expresión regular y muestra cualquier dispositivo que coincida.
my-device-[0-9]{4}\._http\._tcp\.local
UPnP
Atributo Descripción Valor de ejemplo
Tipo de servicio Obligatorio. Es el identificador completamente calificado del servicio UPnP con el formato domain:service:type:version. schemas-upnp-org:service:SwitchPower:1
OUI

Opcional. Identificador único de la organización.

Es un valor de 24 bits que identifica al fabricante del dispositivo. Por lo general, los primeros tres octetos de la dirección MAC del dispositivo.
1A:2B:3C
UDP
Atributo Descripción Valor de ejemplo
Dirección de transmisión Obligatorio. Dirección IP de destino de la transmisión UDP. 255.255.255.255
Puerto de transmisión Obligatorio. Puerto de destino para la transmisión UDP. 5555
Puerto de escucha Obligatorio. Puerto de escucha para la respuesta de detección de UDP. 5556
Paquete de descubrimiento

Obligatorio. Carga útil para enviar en la transmisión UDP.

Tiene el formato de una string de bytes con codificación hexadecimal.
48454C4C4F

Actualiza la respuesta de SYNC en la entrega en la nube

El intent SYNC informa a Asistente qué dispositivos controla el usuario y sus capacidades.

Para admitir la entrega local, la plataforma de Local Home verifica la respuesta SYNC de la entrega de Cloud de tu Acción de casa inteligente e intenta hacer coincidir los ID de dispositivo en el campo otherDeviceIds con el ID de verificación que muestra el controlador IDENTIFY. Las entradas de dispositivos sin un campo otherDeviceIds se excluyen de la entrega local.

En el campo otherDeviceIds de la respuesta SYNC, debes establecer los ID de dispositivos del hogar inteligente que se puedan controlar de forma local. El campo aparece en el nivel device en la respuesta. Google puede establecer una ruta de entrega local en cualquier dispositivo con el ID proporcionado.

Usa el campo customData a fin de especificar los datos adicionales que Google necesite conectar a un dispositivo independiente o para orientarlos a dispositivos finales a través de un concentrador (por ejemplo, el número de puerto y otra información específica del protocolo).

Ejemplo

En el siguiente fragmento, se muestra cómo puedes crear el controlador SYNC.

Independiente/Centro
{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "agentUserId": "1836.15267389",
    "devices": [{
      "id": "123",
      "type": "action.devices.types.OUTLET",
      "traits": [
        "action.devices.traits.OnOff"
      ],
      "name": {
        "name": "Night light"
      },
      "willReportState": false,
      "otherDeviceIds": [{
        "deviceId": "local-device-id"
      }],
      "customData": {
        "port": 5555,
        "authToken": "..."
      }
    }]
  }
}