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 de 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 oferece suporte aos seguintes eventos:

Tipo Elemento Descrição
Evento Evento de movimento do trait CameraMotion A câmera detectou movimento.
Evento Evento de pessoa do trait CameraPerson A câmera detectou uma pessoa.
Evento Evento de som do trait CameraSound A câmera detectou som.
Evento Evento de toque do trait DoorbellChime Alguém tocou a campainha.
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" : "t_AHFvs66cemDElItOAD-ZBH51..."
  }
}

Resposta

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

Campos de solicitação de GenerateImage

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

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 baixar a imagem. string
Exemplo: "g.0.eventToken"

Baixar uma imagem da câmera

Faça uma chamada GET para o url de uma GenerateImage resposta de comando, 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 ao URL de download se aplicam:

  • 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 o trait CameraImage para informações 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 do evento. Faça o download da imagem antes da expiração.
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 de erro da API para conferir a lista completa de códigos de erro da API.