Esquema CameraEventImage

Nest Cam (legado) Nest Hub Max Nest Doorbell (legado) 

sdm.devices.traits.CameraEventImage

Esse trait pertence a qualquer dispositivo que ofereça suporte à geração de imagens com base em eventos.

Campos

Não há campos disponíveis para esse trait.

Comandos

GenerateImage

Fornece um URL para baixar uma imagem da câmera.

Esse comando é compatível com os seguintes eventos:

Tipo Elemento Descrição
Evento Evento Motion da característica CameraMotion A câmera detectou movimento.
Evento Evento Person da característica CameraPerson Uma pessoa foi detectada pela câmera.
Evento Evento Sound da característica CameraSound Um som foi detectado pela câmera.
Evento Evento Chime da característica DoorbellChime A campainha foi tocada.
Use o eventId de um evento compatível na solicitação de comando para receber um URL de download da imagem da câmera relacionada a esse evento.

Solicitação e resposta de GenerateImage

Solicitação

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

Resposta

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

Campos de solicitação GenerateImage

Campo Descrição Tipo de dados
eventId ID do evento para solicitar uma imagem de câmera relacionada. string
Exemplo: "ZjNgfguig8_gv-5zHO9Fba17y1..."

Campos de resposta de GenerateImage

Campo Descrição Tipo de dados
url O URL para baixar a imagem da câmera. string
Exemplo: "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..."
token Token a ser usado no cabeçalho de autorização HTTP ao fazer o download da imagem. string
Exemplo: "g.0.eventToken"

Baixar uma imagem da câmera

Faça uma chamada GET para o url de uma resposta do comando GenerateImage , usando o token no cabeçalho de autorização HTTP com autorização básica, para baixar a imagem da câmera:

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

Use os parâmetros de consulta width ou height para personalizar a resolução da imagem baixada. Apenas um desses parâmetros precisa ser especificado. O outro parâmetro é dimensionado automaticamente de acordo com a proporção da câmera.

Por exemplo, se a proporção da câmera for 4:3, para baixar a imagem da câmera com uma resolução de 480 x 360, especifique a largura ou a altura:

Largura

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

Outras restrições se aplicam ao URL de download:

  • Se os dois parâmetros forem fornecidos no URL, width será usado e height será ignorado.
  • Se nenhum parâmetro for fornecido no URL, um valor padrão de 480 será escolhido para o width.

Consulte a característica CameraImage para saber mais sobre as propriedades da imagem.

Erros

Os seguintes códigos de erro podem ser retornados em relação a esse trait:

Mensagem de erro RPC Solução de problemas
A imagem da câmera não está mais disponível para download. DEADLINE_EXCEEDED As imagens de eventos expiram 30 segundos após a publicação. Faça o download da imagem antes do vencimento.
O ID do evento não pertence à câmera. FAILED_PRECONDITION Use o eventID correto retornado pelo evento da câmera.

Consulte a Referência de códigos do erro da API para ver a lista completa de códigos do erro da API.