Câmera

Nest Cam

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

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

  • Nome da estrutura e do dispositivo "onde nome" (local na casa)
  • Status on-line da câmera ou do microfone
  • Status do streaming (ativar/desativar streaming de vídeo)
  • 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:
    • Evento de som ou movimento 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 zonas de atividades e, quando há um evento de movimento, os IDs em que 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 externa original
  • Nest Cam IQ interna: a câmera Nest interna com capacidade de processamento extra, ativando recursos sofisticados de reconhecimento, alto-falante e snapshot.
  • 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 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 da 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 + leitura

Leitura/gravação da câmera + imagens
Pode ler todos os valores, exceto:
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 gravar is_streaming (câmera ativada/desativada)
• Essa mudança de status exige um contrato de usuário explícito
Sim Sim

Para saber mais, consulte a Visão geral das permissões.

Identificadores da câmera

Dispositivo

Os dispositivos Nest são listados por tipo como uma matriz de IDs, que pode ser usada para identificar exclusivamente um dispositivo pelo caminho dele. Portanto, um ID de câmera de "awJo6rH..." significa que você pode carregar o modelo do dispositivo de câmera em devices/cameras/awJo6rH... usando a API.

Quando um dispositivo está conectado a vários produtos, cada desenvolvedor vê um ID diferente para ele. O mesmo ID vai aparecer para um dispositivo que tenha instalado vários produtos do mesmo desenvolvedor.

Nome

O nome de uma estrutura é definido por padrão como "Início", mas pode ser qualquer string escolhida pelo usuário.

name

Nesses exemplos, name é "Andar de baixo" ou "Abaixo da porta (porta da frente)".

uso do nome uso do nome

name_long

Nome de exibição mais longo de um dispositivo. Neste exemplo, name_long é "Office (Upstairs)".

name_long em uma mensagem

Onde

where_id

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

Saiba mais sobre os nomes de 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 usando o objeto de dispositivo (devices/cameras).

Recursos de câmera

Stream de vídeo

Transmissões ao vivo

Use estes URLs para acessar a página de 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 sua 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/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 relacionados.

Os casos de uso típicos do campo last_event/has_person são 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 de 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 recursos de impedimento.

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 o produto acesse os últimos URLs de evento, 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 STRING são apenas para uso interno da Nest. Não altere os valores de STRING. Caso contrário, a chamada falhará.

Snapshot sob demanda

Use este campo para gerar 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 ativada e transmitindo ativamente

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

  • visualizando o stream da câmera no aplicativo (web_url).
  • visualizando o stream público (app_url).
  • assinou o Nest Aware

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

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

Limites da taxa de snapshots

Quando você faz uma chamada para receber o snapshot_url, aplicamos esses limites de taxa:

  • 2/minuto para câmeras sem assinatura do Nest Aware
  • 10/minuto para câmeras com uma assinatura do Nest Aware

Zonas de atividade

Para que seu produto acesse as 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 "+ imagens" da câmera para o cliente.

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

  • activity_zones: lista de todos os nomes de zonas, 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 alterou o padrão "Zone 1" para "Porch" e "Zone 2" para "Walkway".
  • 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 posterior, precisará 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 seu app
• Exibido no banner de retorno
• Pode ser localizado
BACKLINK_PATH string sim • Voltar ao seu app
Saiba mais sobre backlinks

Fazer a chamada

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

  1. Receba o app_url da API Nest. O código vai ser semelhante a este: "nestmobile://cameras/CjZHZ….7IYIm?auth=c.QbpCljxi5...Ny4gh&"
  2. Adicione os parâmetros ao 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.