Esquema CameraEventImage

Nest Cam (heredado) Nest Hub Max Nest Doorbell (heredado) 

sdm.devices.traits.CameraEventImage

Esta característica pertenece a cualquier dispositivo que admita la generación de imágenes a partir de eventos.

Campos

No hay campos disponibles para este atributo.

Comandos

GenerateImage

Proporciona una URL desde la que se puede descargar una imagen de la cámara.

Este comando admite los siguientes eventos:

Tipo Elemento Descripción
Evento Evento Motion del atributo CameraMotion La cámara detectó movimiento.
Evento Evento Person del atributo CameraPerson La cámara detectó a una persona.
Evento Evento Sound del atributo CameraSound La cámara detectó un sonido.
Evento Evento Chime del atributo DoorbellChime Se presionó el timbre.
Usa el eventId de un evento compatible en la solicitud de comando para recibir una URL de descarga de la imagen de la cámara relacionada con ese evento.

Solicitud y respuesta de GenerateImage

Solicitud

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.CameraEventImage.GenerateImage",
  "params" : {
    "eventId" : "G3bcBgWL_M1vso939z5WqrcOE5..."
  }
}

Respuesta

{
  "results" : {
    "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...",
    "token" : "g.0.eventToken"
  }
}

Campos de la solicitud de GenerateImage

Campo Descripción Tipo de datos
eventId Es el ID del evento para el que se solicita una imagen de cámara relacionada. string
Ejemplo: "G3bcBgWL_M1vso939z5WqrcOE5…"

Campos de respuesta de GenerateImage

Campo Descripción Tipo de datos
url Es la URL desde la que se descargará la imagen de la cámara. string
Ejemplo: "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1…"
token Es el token que se usará en el encabezado de autorización HTTP cuando se descargue la imagen. string
Ejemplo: "g.0.eventToken"

Descarga una imagen de la cámara

Realiza una llamada GET a url desde una respuesta del comando GenerateImage , con el token en el encabezado de autorización HTTP con autorización básica, para descargar la imagen de la cámara:

curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...

Usa los parámetros de consulta width o height para personalizar la resolución de la imagen descargada. Solo se debe especificar uno de estos parámetros. El otro parámetro se ajusta automáticamente según la relación de aspecto de la cámara.

Por ejemplo, si la relación de aspecto de la cámara es de 4:3, para descargar la imagen de la cámara con una resolución de 480 × 360, especifica el ancho o la altura:

Ancho

curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?width=480

Altura

curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?height=360

Se aplican otras restricciones a la URL de descarga:

  • Si se proporcionan ambos parámetros en la URL, se usa width y se ignora height.
  • Si no se proporciona ninguno de los parámetros en la URL, se elige un valor predeterminado de 480 para width.

Consulta el atributo CameraImage para obtener información sobre las propiedades de imagen.

Errores

En relación con este atributo, se pueden mostrar los siguientes códigos de error:

Mensaje de error RPC Solución de problemas
La imagen de la cámara ya no está disponible para descargarla. DEADLINE_EXCEEDED Las imágenes de los eventos vencen 30 segundos después de que se publican. Asegúrate de descargar la imagen antes de que venza.
El ID del evento no pertenece a la cámara. FAILED_PRECONDITION Usa el eventID correcto que muestra el evento de la cámara.

Consulta la referencia de códigos de error de la API para obtener la lista completa de los códigos de error de la API.