Esquema CameraEventImage

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

sdm.devices.traits.CameraEventImage

Essa característica pertence a qualquer dispositivo que ofereça suporte à geração de imagens com base em eventos.

Campos

Não há campos disponíveis para essa característica.

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 do traço CameraPerson Uma pessoa foi detectada pela câmera.
Evento Evento Sound da característica CameraSound A câmera detectou um som.
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" : "dyzd3udskfFz-8OXQehXB41Peh..."
  }
}

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: "dyzd3udskfFz-8OXQehXB41Peh..."

Campos de resposta 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 de 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 é escalonado 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 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 são aplicadas:

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

Consulte o CameraImage trait para informações sobre propriedades de imagem.

Erros

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

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 de erro da API para conferir a lista completa de códigos de erro da API.