Esquema de 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 de eventos.

Campos

No hay campos disponibles para esta característica.

Comandos

GenerateImage

Proporciona una URL desde la cual 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 trait CameraPerson La cámara detectó a una persona.
Evento Evento Sound de la característica CameraSound La cámara detectó sonido.
Evento Evento Campanilla del rasgo DoorbellChime Se presionó el timbre.
Usa eventId de un evento compatible en la solicitud de comando para recibir una URL de descarga para 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" : "8NYaH5PZ6kftObq1UK3k6qfOcC..."
  }
}

Respuesta

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

Campos de la solicitud GenerateImage

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

Campos de respuesta GenerateImage

Campo Descripción Tipo de datos
url La URL desde la que se descargará la imagen de la cámara. string
Ejemplo: “https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...”
token El token que se 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 mediante 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 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 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 imágenes.

Errores

Es posible que se muestren 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 su publicación. Asegúrate de descargar la imagen antes de que venza.
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 la API para ver la lista completa.