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 esta característica.

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 rasgo CameraPerson La cámara detectó a una persona.
Evento Sound del trait CameraSound La cámara detectó sonido.
Evento Evento de 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" : "1gjeA27uNlVrxqBzVB4ZLNOoeM..."
  }
}

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: “1gjeA27uNlVrxqBzVB4ZLNOoeM...”

Campos de respuesta de GenerateImage

Campo Descripción Tipo de datos
url URL de la que se descargará la imagen de la cámara. string
Ejemplo: “https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...”
token Token para usar en el encabezado de autorización HTTP cuando se descarga la imagen. string
Ejemplo: “g.0.eventToken”

Descargar una imagen de la cámara

Realiza una llamada GET al url desde una respuesta del comando GenerateImage con 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 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 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 ambos parámetros se proporcionan 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 la característica CameraImage para obtener información sobre las propiedades de la imagen.

Errores

Se pueden mostrar los siguientes códigos de error en relación con esta característica:

Mensaje de error RPC Solución de problemas
La imagen de la cámara ya no está disponible para descargar. 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 del vencimiento.
El ID de 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 API para ver la lista completa de códigos de error de API.