Câmera

Nest Cam

A Nest CamTM é um dispositivo conectado à Internet que é intuitivo e fácil de usar. Ele aprende continuamente sobre padrões de uso na casa para economizar energia, além de otimizar a segurança e o conforto. Os usuários podem controlar a Nest Cam de qualquer lugar que tenham acesso a uma conexão de Internet.

A API Nest fornece acesso aos seguintes dados na Nest Cam, dependendo do nível de permissões concedidas:

  • Estrutura do nome e do dispositivo: nome da empresa (local na casa)
  • Status de câmera ou microfone
  • Status do streaming (ativar/desativar o streaming de vídeos)
  • Nome do dispositivo e identificador do local
  • Última alteração de status on-line (última alteração on-line/off-line)
  • Status da assinatura do Nest Aware (inscrito/não registrado)
  • Links diretos para o feed da câmera ao vivo no app Nest (iOS, Android) ou na Web em home.nest.com
  • Conteúdo relacionado ao último evento que acionou uma notificação, incluindo:
    • Um evento de som ou movimento foi detectado
    • Horários de início/término do evento
    • Links diretos para arquivos de imagem e GIF
  • Snapshots de imagem sob demanda
  • Status de compartilhamento e URL de compartilhamento público
  • Nomes de zona de atividade e, quando há um evento de movimento, os IDs onde o movimento ocorreu (requer o Nest Aware)

Tipos de câmera

A API Nest é compatível com vários tipos de câmera:

  • Nest Cam Indoor: a câmera Nest interna original
  • Nest Cam Outdoor: a câmera Nest original
  • Nest Cam IQ interna: câmera Nest interna com capacidade de processamento extra, ativando recursos sofisticados de reconhecimento, alto-falante e snapshots
  • Nest Cam IQ externa: câmera Nest externa com capacidade de processamento extra, permitindo recursos sofisticados de reconhecimento, alto-falante e snapshot
  • Nest Hello: uma câmera que funciona como uma campainha com vídeo

Todas as câmeras Nest aparecem na API da mesma forma. No caso da Nest Hello, apenas a parte da câmera do dispositivo aparece na API Nest. A funcionalidade de campainha além da câmera não está disponível na API.

Permissões da câmera

Os seguintes níveis de permissão de acesso estão disponíveis para a Nest Cam:



Acesso
Permissões
Leitura de câmera

Leitura/gravação da câmera

Câmera e imagens

Leitura/gravação da câmera + imagens
Pode ler todos os valores, excluindo:
activity_zones
is_public_share_enabled
public_share_url
snapshot_url
last_event/image_url
last_event/animated_image_url
last_event/activity_zone_ids
Sim Sim
Pode ler todos os valores Sim Sim
Pode escrever is_streaming (câmera ativada/desativada)
• Esta alteração de status exige um contrato explícito do usuário
Sim Sim

Para mais informações, consulte a Visão geral de permissões.

Identificadores de câmera

Dispositivo

Os dispositivos Nest são listados por tipo como uma matriz de IDs, que podem ser usados para identificar exclusivamente um dispositivo por meio do caminho dele. Portanto, um ID de câmera de "awJo6rH..." significa que é possível carregar o modelo de dispositivo de câmeras em devices/cameras/awJo6rH... usando a API.

Quando um dispositivo está conectado a vários produtos, cada desenvolvedor vê um ID diferente para esse dispositivo. Para um dispositivo que tenha instalado vários produtos do mesmo desenvolvedor, ele verá o mesmo ID.

Nome

O nome de uma estrutura é padronizado como "Home", mas pode ser qualquer string escolhida pelo usuário.

name

Nesses exemplos, name é "Downstairs" ou "Downstairs (porta da frente)".

uso do nome uso do nome

name_long

O nome de exibição mais longo de um dispositivo. Neste exemplo, name_long é "Office (no andar superior)".

nome_longo em mensagens

Em que

where_id

  • Um identificador exclusivo gerado pelo Nest que representa name.
  • where_id é somente leitura e criado automaticamente na chamada para criar um personalizado onde name

Saiba mais sobre os nomes dos Nest Thermostats, Nest Protects e Nest Cams.

where_name

Ao escolher a permissão de leitura da câmera, você pode acessar o dispositivo where_name no objeto (devices/cameras) do dispositivo.

Recursos de câmera

Stream de vídeo

Transmissão ao vivo

Use estes URLs para acessar a página da transmissão ao vivo na Web ou em um app:

Ativar/desativar o streaming

Use o campo is_streaming para ativar ou desativar a câmera.

  • Dependendo da rede doméstica do usuário e da implementação, pode haver um atraso no tempo de resposta
  • Você precisa pedir permissão ao usuário para mudar o status do streaming (ativar ou desativar a câmera).

Último evento

O objeto last_event é usado para acessar links diretos para o último som, movimento ou evento de pessoa detectado e acessar a imagem ou o arquivo GIF relacionado.

Os casos de uso típicos do campo last_event/has_person são para acionar luzes ou definir a lavanderia em um ciclo silencioso.

Segurança

Usando o objeto last_event e o estado away da estrutura, o valor wwn_security_state da estrutura pode ser escalonado de ok para deter, o que pode acionar outros dispositivos. Consulte o Guia de segurança para ver os recursos de impedência.

Usado para exibir o último evento registrado e exige que o usuário faça login na conta.

Arquivos de imagem ou GIF

Gato em uma cesta

Para que seu produto acesse os URLs dos últimos eventos, o usuário precisa ter uma assinatura ativa do Nest Aware e você precisa selecionar uma das permissões de câmera "+ imagens" para o cliente.

Ao fazer uma chamada para image_url ou animated_image_url, você receberá um URL neste formato:

"STRING1/device_id/STRING2?auth=camera_token"

Use esse URL para ver uma imagem ou GIF.

Os valores de STRING são apenas para uso interno do Nest. Não altere os valores de STRING, ou a chamada falhará.

Snapshot sob demanda

Use este campo para conseguir um snapshot do stream de vídeo ao vivo.

  • snapshot_url: retorna o URL de uma imagem capturada do stream de vídeo ao vivo
  • Exige que a câmera esteja ligada e transmitindo ativamente

A qualidade do snapshot da API é de 1080p apenas se você:

  • visualização ativa do fluxo da câmera no aplicativo (web_url).
  • visualização do stream público (app_url)
  • Assinante do Nest Aware

Se você não estiver visualizando ativamente o stream ou não tiver uma assinatura do Nest Aware, a API não terá uma fonte de 1080p para recuperar um snapshot com essa resolução e gerará uma imagem de qualidade inferior. Além disso, a baixa largura de banda da rede local pode fazer a resolução do snapshot da API ficar abaixo de 1.080p com o Nest Aware.

Saiba mais sobre os requisitos de largura de banda para câmeras Nest.

Limites da taxa de snapshots

Quando você faz uma chamada para conseguir o snapshot_url, aplicamos estes limites de taxa:

  • 2/minuto para câmeras que não têm uma assinatura do Nest Aware
  • 10/minuto para câmeras que têm uma assinatura do Nest Aware

Zonas de atividade

Para que o produto acesse informações da Zona de atividade, o usuário precisa ter uma assinatura ativa do Nest Aware (a menos que seja uma Nest Cam IQ), e você precisa selecionar uma das permissões de câmera quot;+ images" para o cliente.

Quando há um evento de movimento, você pode ler os IDs da zona de atividade onde o movimento ocorreu.

  • activity_zones: lista de todos os nomes de zona, incluindo nomes definidos pelo usuário e gerados automaticamente
    • Exemplo de resposta: "activity_zones": [ {"name": "Porch", "id": 244083}, {"name": "Walkway", "id": 237084} ... ]
    • Neste exemplo, o usuário mudou a "Zona 1" padrão para "Quarto" e a "Zona 2" para a "Trilha"
  • last_event/activity_zone_ids: lista de IDs de zona que detectaram movimento durante o último evento
    • Exemplo de resposta: "activity_zone_ids" : [ "237084", "244083" ]

URL de compartilhamento público

Use esses dois campos juntos para verificar se o usuário tornou o stream de vídeo público e, em caso afirmativo, acessar esse URL.

Banner de backlink

Se você estiver criando um app para iOS 8 ou mais recente, será necessário adicionar backlinks ao usar a API Camera.

Parâmetros

Nome Tipo Obrigatório Descrição
CUSTOM_SCHEME string sim • Esquema de URL personalizado para seu aplicativo
Saiba mais sobre esquemas de URI
APPNAME string sim • Nome do app
• Exibida no banner de devolução
• Pode ser localizado
BACKLINK_PATH string sim • Voltar ao seu app
Saiba mais sobre backlinks

Fazer a chamada

Ao criar um fluxo em que seu usuário visualiza o stream de vídeo ao vivo ou um evento, inclua o caminho de backlink:

  1. Receber as app_url da API Nest. A aparência será semalhente a esta: "nestmobile://cameras/CjZHZ….7IYIm?auth=c.QbpCljxi5...Ny4gh&"
  2. Adicione os parâmetros a app_url neste formato de string de consulta:
    "nestmobile://cameras/CjZHZ….7IYIm?auth=c.QbpCljxi5...Ny4gh&appname=APPNAME&backlink=CUSTOM_SCHEME://BACKLINK_PATH"

Mensagens de erro

Para mais informações sobre o que significam erros de chamada de API e como lidar com eles, consulte Mensagens de erro.