Aarlo é um componente personalizado do Home Assistant, que fornece acesso ao sistema Arlo.
Aarlo fornece, entre outras coisas:
Aarlo é um componente personalizado do Home Assistant, que fornece acesso ao sistema Arlo.
A integração usa APIs fornecidas pelo site da Arlo Camera e há várias limitações para isso. Consulte a seção Limitações Conhecidas para obter mais detalhes.
Se você encontrar um problema, consulte a seção de perguntas frequentes para ver se há um problema conhecido e se há uma solução alternativa ou correção. Caso contrário, consulte a seção Relatório de Bug para obter informações sobre como gerar logs de depuração e criar um relatório de depuração.
O README avançado está aqui
O antigo README ainda está disponível aqui.
Este documento pressupõe que você esteja familiarizado com a instalação e configuração do Home Assistant .
Onde quer que você veja /config
neste documento, ele se refere ao diretório de configuração do Home Assistant . Por exemplo, para minha instalação é /home/steve/ha
que é mapeado para /config
pelo meu contêiner docker.
Onde quer que você veja Arlo, isso se refere a qualquer parte do sistema Arlo .
Onde quer que você veja Aarlo, estou me referindo a este componente.
Muito obrigado a:
Aarlo também fornece um cartão Lovelace personalizado, que sobrepõe o último instantâneo de uma câmera com seu status atual e permite acesso à biblioteca de gravação da câmera e transmissão ao vivo.
Se você não estiver familiarizado com o Home Assistant, recomendo visitar o site da comunidade. Está cheio de pessoas prestativas e sempre há alguém que encontrou o problema que você está tentando resolver.
Aarlo precisa de uma conta Arlo dedicada. Se você tentar reutilizar uma conta existente, por exemplo, aquela que você usa no aplicativo Arlo do seu telefone, o aplicativo e essa integração lutarão constantemente para fazer login. Esta é uma limitação do Arlo .
A conta Aarlo dedicada precisa Allow Access Rights
esteja habilitado para definir os níveis de alarme e ler determinados valores de status.
Consulte a documentação do Arlo para obter mais instruções.
Você precisa ativar a autenticação de dois fatores. Configure um endereço de e-mail para receber o código de verificação. Aarlo oferece suporte a outros mecanismos TFA , mas o email é o mais fácil de usar. Consulte a seção Autenticação de dois fatores posteriormente para obter mais detalhes.
Você só precisa usar um desses mecanismos de instalação. Eu recomendo o HACS.
Aarlo faz parte do armazenamento HACS padrão. Se você não estiver interessado em usar ramificações de desenvolvimento, esta é a maneira mais fácil de instalar.
Copie o diretório aarlo
em seu diretório /config/custom_components
.
Execute o script de instalação. Execute-o uma vez para garantir que as operações pareçam corretas e execute-o uma segunda vez com o parâmetro go
para fazer o trabalho real. Se você atualizar apenas executar novamente o script, ele substituirá todos os arquivos instalados.
install /config # check output looks good
install go /config
Independentemente de como você instala o código-fonte, você sabe que precisa adicionar a integração ao Home Assistant . Na página inicial, selecione Settings -> Devices & Services
, clique aqui em ADD INTEGRATION
e pesquise Aarlo
. Na primeira tela insira os dados da sua conta.
Campo | Valor |
---|---|
Nome de usuário | Nome de usuário da sua conta Arlo |
Senha | A senha da sua conta Arlo |
Mecanismo de dois fatores | Selecione IMAP |
Nome de usuário TFA | A conta de e-mail que você registrou no TFA |
Senha TFA | A senha da conta de e-mail |
Anfitrião TFA | O servidor IMAP no qual procurar o e-mail |
Se você deixar Use aarlo prefix
marcada, todos os seus dispositivos terão o formato type.aarlo_*
.
Clique em SUBMIT
. A integração fará login no Arlo e recuperará a lista de dispositivos associados a ele. Se tudo funcionar, você poderá atribuir os dispositivos às salas na próxima tela.
Você pode ajustar ainda mais as configurações. Na página Integração, clique em CONFIGURE
.
Ajuste as configurações de alarme:
Campo | Valor |
---|---|
Código de alarme/desarme | Digite um código se necessário, caso contrário deixe como padrão |
Nome do modo desarmado | Altere se sua conta Arlo tiver um nome desarmado personalizado |
Nome do modo inicial | Altere se sua conta Arlo tiver um nome de modo inicial personalizado |
Nome do modo ausente | Altere se sua conta Arlo tem um nome de modo ausente personalizado |
Nome do modo noturno | Altere se sua conta Arlo tem um nome de modo noturno personalizado |
Código do braço necessário | Selecione se o código de alarme/desarmar é necessário para armar |
Código de desarme necessário | Selecione se o código de alarme/desarmar é necessário para desarmar |
Tempo de disparo | Quanto tempo esperar ao armar |
Volume do alarme | Volume padrão das sirenes de alarme |
Modo noturno ; Arlo não terá um desses, a menos que você o crie
Se você precisar limpar o código de alarme, não insira no code needed
. Vou tentar fazer com que isso aceite uma entrada em branco ...
Determine quais sensores binários estão disponíveis:
Campo | Valor |
---|---|
Detecção de som | Habilite microfones em câmeras |
Detecção de movimento | Ativar detecção de movimento em câmeras |
Prensas de campainha | Ativar botões de campainha |
Detecção de choro | Para o bebê Arlo, ative a detecção de choro |
Conectividade do dispositivo | Seja notificado quando um dispositivo for desconectado |
Sensores de abertura/fechamento | Habilitar sensores de portas e janelas |
Sensores de brilho | Ativar detecção de luz |
Detecção de violação | Ative a notificação se o dispositivo for aberto |
Detecção de vazamento | Habilitar dispositivos de monitoramento de vazamento |
Nem todos os sensores estão disponíveis em todos os dispositivos.
Determine quais sensores estão disponíveis:
Campo | Valor |
---|---|
Hora da última captura | Um sensor por câmera indicando quando a última gravação foi feita |
Número total de câmeras detectadas | Valor inteiro da contagem de câmeras |
Atividade recente detectada | A câmera estava ativa recentemente |
Número de vídeos/instantâneos capturados hoje | Valor inteiro da gravação feita hoje |
Nível da bateria do dispositivo | Porcentagem de bateria restante |
Força do sinal Wi-Fi | Força do WiFi, tem um intervalo de 1 a 5 |
Temperatura ambiente | Condições do quarto |
Umidade ambiente | Condições do quarto |
Qualidade do ar | Condições do quarto |
Nem todos os sensores estão disponíveis em todos os dispositivos. E a atividade recente provavelmente deveria ser um binary_sensor .
Ative opções diversas:
Campo | Valor |
---|---|
Interruptores para ligar as sirenes | Fornecer um interruptor para ligar sirenes individuais |
Um interruptor liga todas as sirenes | Fornece um interruptor para ligar todas as sirenes |
Permitir que as sirenes sejam desligadas | Permitir que as sirenes sejam desligadas pelo interruptor |
Volume do interruptor da sirene | Nível de volume padrão, de 1 a 10 |
Duração da troca de sirene | Hora padrão para executar o alarme |
Alterna para solicitar que as câmeras tirem uma foto | Fornece um botão para tirar uma foto da câmera |
Tempo limite do instantâneo da câmera | Quanto tempo esperar que câmeras mal comportadas terminem |
Muda para silenciar a campainha | Forneça um interruptor para silenciar as campainhas. |
Se você está vindo cedo, há várias coisas a serem observadas:
config flow
. Todos os seus dispositivos aparecerão na página de integração.yaml
.prefix with _aarlo
mantenha a nomenclatura idêntica.aarlo
.pyaarlo
agora é instalado via pip
e não está incluído na integração..aarlo/session.pickle
. Eu não estava disposto a mover alguns dos itens de configuração mais esotéricos para os mecanismos config flow
; se você tivesse algum configurado, eles apareceriam no arquivo /config/aarlo.yaml
. Veja aqui mais informações sobre essas opções.
Arlo usará SSE ou MQTT para sinalizar eventos para Aarlo . Não tenho certeza do mecanismo que determina qual será escolhido, mas sei que adicionar ou remover um user_agent
alternará entre os dois.
Arlo atualizou recentemente a resposta enviada às solicitações da API session/v3
para indicar qual back-end escolher. Aarlo analisará isso ao usar auto
.
# This is the MQTT backend. We use the host and port.
' mqttUrl ' : ' ssl://mqtt-cluster-z1.arloxcld.com:8883 '
# This is the SSE backend. We use a fixed host and port.
' mqttUrl ' : ' wss://mqtt-cluster-z1.arloxcld.com:8084 '
Se você ativar a depuração detalhada, poderá encontrar esse valor nos logs do Home Assistant .
Começando com a versão 0.8
Aarlo deve ser inteligente o suficiente para descobrir qual back-end usar. Mas se você tiver problemas, como falta de eventos de detecção de movimento ou falta de atualizações de valor do sensor, você pode substituir manualmente a configuração. Altere esta configuração em /config/aarlo.yaml
.
aarlo :
# This forces the SSE backend
backend : sse
aarlo :
# This forces the MQTT backend
backend : mqtt
# These might also be needed
mqtt_hostname_check : false
mqtt_host : mqtt-cluster-z1.arloxcld.com
aarlo :
# This forces Aarlo to choose
backend : auto
Observe que remover a configuração é equivalente a auto
.
Arlo usa proteção anti-bot Cloud Flare para fazer login no site da Arlo . Este serviço não funciona bem com o pacote Python Requests (ou como Aarlo usa essas solicitações, não tenho muita certeza).
Se você vir os erros a seguir, estará enfrentando problemas de Cloud Flare .
2021-06-03 13:28:32 WARNING (SyncWorker_4) [pyaarlo] request-error=CloudflareChallengeError
Esse problema me afeta e estou constantemente tentando refinar o código.
Aarlo faz várias coisas para contornar isso:
Header
.Mas, se você ainda estiver tendo problemas de login, há vários itens de configuração que você pode tentar.
Você pode tentar um agente de usuário diferente. Isso está configurado em /config/aarlo.yaml
:
aarlo :
# Change the user agent. It can be either arlo, iphone, ipad, mac, firefox or linux
# or random. random will change it each time it tries to login
user_agent : linux
# Or use a custom user agent, everything after the ! will be used
user_agent : !this-is-a-custom-user-agent
Você pode adicionar um cabeçalho Source
junto com a solicitação de login. Eu tenho um site que precisa disso e outro que não. Acho que pode estar relacionado ao agente do usuário.
aarlo :
# This adds the following header "Source: arloCamWeb"
send_source : true
Você pode desativar o cache de sessão com o seguinte:
aarlo :
# This will force a full login on every restart
save_session : false
Você pode selecionar diferentes curvas ecdh para usar. Este tópico está fora do escopo deste documento, veja aqui para obter uma explicação.
aarlo :
# Make this curve the first choice. You can only enter 1 choice.
ecdh_curve : secp384r1
Você pode modificar /etc/hosts
para apontar para um servidor web Arlo específico
# Remove the # to force the request to go to a particular cloudflare server
#104.18.30.98 ocapi-app.arlo.com
#104.18.31.98 ocapi-app.arlo.com
Arlo chama isso de verificação em duas etapas . Você precisará habilitar isso para sua conta específica do Home Assistant . Aarlo suporta mecanismos IMAP e PUSH mas eu recomendo usar IMAP , com PUSH você precisa responder manualmente à solicitação de login.
Você encontrará instruções para configurar a autenticação de dois fatores aqui. Arlo fornece aqui
Você insere a autenticação de dois fatores ao adicionar a integração.
Siga as instruções de autenticação de dois fatores e adicione e configure um método de verificação de e-mail . Você pode testar isso fazendo login na página principal do Arlo e certificando-se de que ele lhe envie um e-mail.
Para Gmail e Yahoo (e outros clientes de e-mail baseados na web), você não pode fazer login com sua senha normal; será necessário criar uma senha específica do aplicativo. Explicar por que isso é necessário está fora do escopo deste documento, portanto consulte as páginas seguintes.
Se você descobrir que não consegue fazer login na sua conta IMAP, verifique o requisito de senha do aplicativo.
Sabe-se que os seguintes servidores funcionam:
Serviço | Nome do anfitrião |
---|---|
Gmail | imap.gmail.com |
Yahoo! | imap.mail.yahoo.com |
Siga as instruções de autenticação de dois fatores e adicione e configure um método de verificação PUSH .
Se você precisar alterar a lista de cifras passada para o cliente IMAP, especifique-a com a seguinte opção. Você não deveria precisar fazer isso. consulte a página de manual do openssl para obter mais informações.
aarlo :
# specify cipher list to use
cipher_list : " HIGH:!DH:!aNULL "
# Use DEFAULT for the cipher list
default_ciphers : True
Se você tiver problemas, crie um relatório de bug e inclua as seguintes informações no relatório de bug para ajudar na depuração. Se você não fizer isso, vou apenas importuná-lo até que você faça isso.
Você ativa a depuração básica do Aarlo alterando a configuração de log em configuration.yaml
.
logger :
default : info
logs :
pyaarlo : debug
custom_components.aarlo : debug
Você pode ativar a depuração detalhada ativando o registro e adicionando o seguinte a /config/aarlo.yaml
também. A depuração detalhada gerará muitos logs, por isso é melhor ativá-la apenas quando necessário.
aarlo :
verbose_debug : true
Aarlo gravará os logs de depuração no arquivo de log padrão do Home Assistant /config/home-assistant.log
.
Antes de me enviar a depuração, você deve criptografá-la. Você pode criptografar sua saída nesta página da web. Você pode fazer upload do arquivo ou copiá-lo e colá-lo no buffer e pressionar Submit
.
Esta página não encaminha automaticamente a saída para mim, então você terá que copiá-la e colá-la em um arquivo e anexá-la ao relatório de bug.
Esta página ocultará os registros para que somente eu possa lê-los. Sou o único possuidor da chave privada para descriptografá-los, mas tenha cuidado, junto com o número de série, ele pode incluir informações de sua conta e senha. Você pode ocultá-los antes de criptografá-los, nunca preciso deles.
Eu não possuo todos os equipamentos do Arlo , então às vezes, quando as coisas dão errado ou um novo equipamento é lançado, preciso ver o que o Arlo realmente espera que esse código envie e o que esse código pode esperar de Arlo . Aarlo simula uma conexão de navegador da web para que você possa descobrir o que é esperado usando as Ferramentas do desenvolvedor do navegador.
Estas instruções são para o Chrome, mas a maioria dos navegadores (espero!) Possui funcionalidades semelhantes.
More Tools
e, por fim, seleciona Developer Tools
. Você também pode usar o atalho CTRL+SHIFT+I
.Network
na janela recém-aberta. Ao fazer o login, os dados transmitidos entre o navegador e o site da Arlo começarão a aparecer, e continuarão aparecendo, nesta aba. Se você clicar em uma entrada em Name
poderá examinar os pacotes com mais detalhes.
Headers
mostra o que foi enviado nos cabeçalhos da solicitação.Payload
mostram o que foi enviado no corpo da solicitaçãoPreview
mostra a resposta enviada de Arlo . Se você passar o mouse sobre o campo abaixo do name
um pop-up exibirá o URL completo para o qual a solicitação foi enviada.
Eu preciso documentar isso.
Procure um URL contendo a palavra subscribe
, este será o fluxo uniforme que Arlo enviará de volta para a página da web. À medida que você clica nos botões da página da web, mais itens aparecerão nesta lista. Posso usar essas informações para determinar como analisar pacotes de resposta para casos que ainda não resolvo.
Por exemplo, Arlo cria um novo dispositivo com um botão WOOHOO
, não possuo esse dispositivo, mas você gostaria que a funcionalidade WOOHOO
fosse implementada em Aarlo . O que preciso é da sequência de pacotes e suas respostas quando você pressiona o botão. A única maneira real de fazer isso é pressionar o botão e ver quais novos pacotes aparecem na guia Name
.
Você precisará copiá-los e colá-los em um relatório de bug no GitHub . Consulte a seção anterior sobre como ocultar dados confidenciais.
Não. Eles passam todo o tempo discutindo sobre quem tem o controle. Esta é uma limitação de Arlo .
Tem certeza de que compartilhou o dispositivo? Faça login na página da Web da Arlo e certifique-se de que ela apareça lá. Se isso acontecer, ative os logs de depuração e gere um relatório de bug com eles.
Certifique-se de ter fornecido a conta com a qual compartilha os dispositivos com acesso de administrador , pois é necessário para coisas como atualizações de bateria ou intensidade do sinal.
Certifique-se de ter fornecido a conta com a qual você compartilha os dispositivos com acesso de administrador , pois é necessário para compartilhar as estações base.
Você está usando a nova interface baseada em localização Arlo ; neste caso, você só pode armar ou desarmar locais e não dispositivos individuais.
Nenhuma assinatura é necessária para ver os feeds, mas você precisará de uma para ver a gravação.
No momento em que este artigo foi escrito (maio de 2024), não havia opção de leitura de gravações locais. Todos os outros recursos funcionam bem.
Eles com certeza querem. Arlo não funciona como câmeras IP e só grava quando movimento é detectado, então pedir para iniciar um stream envolve conversar com os servidores Arlo que conversam com a câmera em sua casa... pode levar alguns segundos para que tudo funcione. O streaming funciona mais ou menos assim:
Camera ---> Arlo Cloud Servers --> Home Assistant --> Your Home Assistant Client
O tráfego de vídeo tem que sair de sua casa e voltar para ela...
Esta é uma lista de dispositivos que funcionam. A maioria dos dispositivos Arlo funcionarão mesmo que não sejam mencionados explicitamente nesta lista, embora possam ter funcionalidade limitada.
Modelo | Nome | Características |
---|---|---|
ABC1000 | Bebê | movimento, áudio, ambiente, choro |
AVD1001 | Campainha de vídeo com fio | movimento |
AVD2001 | Campainha de vídeo essencial | movimento, sirene |
AVD3001 | Campainha de vídeo com fio HD | movimento, sirene |
AVD4001 | Campainha de vídeo com fio 2K | movimento, sirene |
FB1001 | Projetor Pro 3 | holofote |
MS1001 | Sensor tudo em 1 | movimento, aberto, molhado, adulteração, temperatura |
VMB3010 | Estação Base | |
VMB4000 | Estação Base 2 | sirene |
VMB4500 | Estação base profissional | sirene |
VMC2030 | Câmera Essencial | movimento, áudio, sirene, holofote |
VMC2040 | Câmera interna essencial | movimento, áudio, sirene sem bateria |
VMC3030 | Câmera HD | movimento, áudio |
VMC3040 | Câmera Q | movimento, áudio |
VMC3060 | Câmera interna essencial 2 | movimento, precisa ser observado |
VMC3052 | Câmera XL Essencial | movimento, áudio, holofote |
VMC4030 | Câmera Pró 2 | movimento, áudio |
VMC4040 | Câmera Pró 3 | movimento, áudio, sirene, holofote |
VMC4041 | Câmera Pró 4 | movimento, áudio, sirene, holofote |
VMC4060 | Câmera Pró 5 | movimento, áudio, sirene, holofote |
VMC5040 | Ultracâmera | movimento, áudio, sirene, holofote |
VML2030 | Vá 2 câmeras | movimento, áudio |
VML4030 | Vá para a câmera | movimento |
Este componente foi escrito por meio de engenharia reversa das APIs usadas na página da web da Arlo Camera.
Estas são limitações gerais:
Estas são as limitações do site:
Estas são as limitações em relação ao aplicativo móvel:
Os dois últimos podem ser resumidos como if the WEB API doesn't support it, neither can the component.
Tenha isso em mente ao solicitar solicitações de novos recursos.