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 fazer o download de 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" : "-SN9UDcIBMGCQhoGXLhXU6lbpA..."
  }
}

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: "-SN9UDcIBMGCQhoGXLhXU6lbpA..."

Campos de resposta de GenerateImage

Campo Descrição Tipo de dados
url O URL para fazer o download da 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"

Fazer o download de 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 fazer o download da 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 fazer o download da 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 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.