Esquema CameraEventImage

Nest Cam (heredada) 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 de la que se puede descargar una imagen de la cámara.

Este comando admite los siguientes eventos:

Tipo Elemento Descripción
Evento Evento Motion de la característica CameraMotion La cámara detectó movimiento.
Evento Evento Person del atributo CameraPerson La cámara detectó a una persona.
Evento Sound del trait CameraSound La cámara detectó un sonido.
Evento Evento Timbre del trait 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" : "plh0enulqA1vcalHIQdNX3AQoI..."
  }
}

Respuesta

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

Campos de solicitud de GenerateImage

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

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 es necesario especificar uno de estos parámetros. El otro parámetro se escala 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 4:3, para descargar la imagen de la cámara con una resolución de 480 x 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 height. se ignora.
  • Si no se proporciona ninguno de los parámetros en la URL, se elige un valor predeterminado de 480 para width.

Consulta la CameraImage para obtener información sobre la imagen propiedades.

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 del evento vencen 30 segundos después de que se publica el evento. 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.