Aarlo es un componente personalizado para Home Assistant que proporciona acceso al sistema Arlo.
Aarlo ofrece, entre otras cosas:
Aarlo es un componente personalizado para Home Assistant que proporciona acceso al sistema Arlo.
La integración utiliza las API proporcionadas por el sitio web de Arlo Camera y existen varias limitaciones. Consulte la sección Limitaciones conocidas para obtener más detalles.
Si encuentra un problema, consulte la sección de preguntas frecuentes para ver si tiene un problema conocido y tiene una solución alternativa. De lo contrario, consulte la sección Informe de error para obtener información sobre cómo generar registros de depuración y crear un informe de depuración.
El README avanzado está aquí
El antiguo README todavía está disponible aquí.
Este documento asume que está familiarizado con la instalación y configuración de Home Assistant .
Dondequiera que vea /config
en este documento se refiere al directorio de configuración de Home Assistant . Por ejemplo, para mi instalación es /home/steve/ha
que está asignado a /config
por mi contenedor acoplable.
Dondequiera que vea Arlo, se refiere a cualquier pieza del sistema Arlo .
Dondequiera que veas a Aarlo me refiero a este componente.
Muchas gracias a:
Aarlo también proporciona una tarjeta Lovelace personalizada, que superpone la última instantánea de una cámara con su estado actual y permite el acceso a la biblioteca de grabaciones y transmisiones en vivo de la cámara.
Si no está familiarizado con Home Assistant, le recomiendo visitar el sitio web de la comunidad. Está lleno de gente útil y siempre hay alguien que ha encontrado el problema que estás intentando solucionar.
Aarlo necesita una cuenta Arlo dedicada. Si intenta reutilizar una cuenta existente, por ejemplo, la que usa en la aplicación Arlo de su teléfono, la aplicación y esta integración lucharán constantemente para iniciar sesión. Esta es una limitación de Arlo .
La cuenta dedicada de Aarlo necesita habilitar Allow Access Rights
para establecer los niveles de alarma y leer ciertos valores de estado.
Consulte la documentación de Arlo para obtener más instrucciones.
Debe habilitar la autenticación de dos factores. Configure una dirección de correo electrónico para recibir el código de verificación. Aarlo admite otros mecanismos TFA , pero el correo electrónico es el más fácil de utilizar. Consulte la sección Autenticación de dos factores más adelante para obtener más detalles.
Sólo necesitas utilizar uno de estos mecanismos de instalación. Recomiendo HACS.
Aarlo es parte de la tienda HACS predeterminada. Si no está interesado en utilizar ramas de desarrollo, esta es la forma más sencilla de instalar.
Copie el directorio aarlo
en su directorio /config/custom_components
.
Ejecute el script de instalación. Ejecútelo una vez para asegurarse de que las operaciones parezcan correctas y ejecútelo una segunda vez con el parámetro go
para realizar el trabajo real. Si actualiza, simplemente vuelva a ejecutar el script, sobrescribirá todos los archivos instalados.
install /config # check output looks good
install go /config
Independientemente de cómo instales el código fuente, sabes que necesitas agregar la integración en Home Assistant . Desde la página de inicio, seleccione Settings -> Devices & Services
, desde aquí haga clic en ADD INTEGRATION
y busque Aarlo
. En la primera pantalla ingrese los detalles de su cuenta.
Campo | Valor |
---|---|
Nombre de usuario | El nombre de usuario de su cuenta Arlo |
Contraseña | La contraseña de su cuenta de Arlo |
Mecanismo de dos factores | Seleccione IMAP |
Nombre de usuario de TFA | La cuenta de correo electrónico que registró en TFA |
Contraseña TFA | La contraseña de la cuenta de correo electrónico |
Anfitrión de TFA | El servidor IMAP para buscar el correo electrónico |
Si deja marcada Use aarlo prefix
todos sus dispositivos tendrán el formato type.aarlo_*
.
Haga clic en SUBMIT
. La integración iniciará sesión en Arlo y recuperará la lista de dispositivos asociados a ella. Si todo funciona, podrás asignar los dispositivos a las habitaciones en la siguiente pantalla.
Puede ajustar aún más la configuración. Desde la página de Integración, haga clic en CONFIGURE
.
Ajuste con precisión la configuración de la alarma:
Campo | Valor |
---|---|
Código de alarma/desarmado | Ingrese un código si es necesario; de lo contrario, déjelo como predeterminado |
Nombre del modo desarmado | Cambiar si su cuenta Arlo tiene un nombre desarmado personalizado |
Nombre del modo de inicio | Cambiar si su cuenta de Arlo tiene un nombre de modo de inicio personalizado |
Nombre del modo Ausente | Cambiar si su cuenta de Arlo tiene un nombre de modo ausente personalizado |
Nombre del modo nocturno | Cambiar si su cuenta Arlo tiene un nombre de modo nocturno personalizado |
Se requiere código de armado | Seleccione si se necesita un código de alarma/desarmado para armar |
Se requiere código de desarmado | Seleccione si se necesita un código de alarma/desarmado para desarmar |
tiempo de activación | Cuanto tiempo esperar al armar |
Volumen de alarma | Volumen predeterminado para las sirenas de alarma. |
Modo nocturno ; Arlo no tendrá uno de estos a menos que lo crees
Si necesita borrar el código de alarma, ingrese no code needed
. Buscaré que esto acepte una entrada en blanco...
Determine qué sensores binarios están disponibles:
Campo | Valor |
---|---|
Detección de sonido | Habilitar micrófonos en las cámaras. |
Detección de movimiento | Habilitar la detección de movimiento en las cámaras |
Pulsaciones de timbre | Habilitar botones de timbre |
Detección de llanto | Para Arlo baby, habilite la detección de llanto |
Conectividad del dispositivo | Recibir una notificación cuando un dispositivo se desconecte |
Sensores de apertura/cierre | Habilitar sensores de puertas y ventanas |
Sensores de brillo | Habilitar detección de luz |
Detección de manipulación | Habilitar notificación si se abre el dispositivo |
Detección de fugas | Habilitar dispositivos de monitoreo de fugas |
No todos los sensores están disponibles en todos los dispositivos.
Determine qué sensores están disponibles:
Campo | Valor |
---|---|
Hora de la última captura | Un sensor por cámara que indica cuándo se realizó la última grabación |
Número total de cámaras detectadas | Valor entero del recuento de cámaras |
Actividad reciente detectada | ¿La cámara estuvo activa recientemente? |
Número de vídeos/instantáneas capturados hoy | Valor entero de la grabación realizada hoy |
Nivel de batería del dispositivo | Porcentaje de batería restante |
Intensidad de la señal WiFi | Potencia WiFi, tiene un rango de 1 a 5 |
temperatura ambiente | Condiciones de la habitación |
Humedad ambiente | Condiciones de la habitación |
Calidad del aire | Condiciones de la habitación |
No todos los sensores están disponibles en todos los dispositivos. Y la actividad reciente probablemente debería ser un sensor_binario .
Habilite varios interruptores:
Campo | Valor |
---|---|
Interruptores para encender sirenas. | Proporcionar un interruptor para encender sirenas individuales. |
Un interruptor enciende todas las sirenas. | Proporcionar un interruptor para encender todas las sirenas. |
Permitir que se apaguen las sirenas | Permitir que las sirenas se apaguen mediante un interruptor. |
Volumen del interruptor de sirena | Nivel de volumen predeterminado, de 1 a 10 |
Duración del interruptor de sirena | Hora predeterminada para ejecutar la alarma |
Cambia para solicitar que las cámaras tomen una instantánea | Proporcionar un interruptor para tomar una instantánea de la cámara. |
Tiempo de espera de la instantánea de la cámara | ¿Cuánto tiempo hay que esperar para que terminen las cámaras que se portan mal? |
Cambia para silenciar el timbre del timbre | Proporcione un interruptor para silenciar los timbres. |
Si vienes temprano hay varias cosas a tener en cuenta:
config flow
. Todos sus dispositivos aparecerán en la página de integración.yaml
.prefix with _aarlo
mantenga el nombre idéntico.aarlo
.pyaarlo
ahora se instala mediante pip
y no se incluye con la integración..aarlo/session.pickle
. No estaba dispuesto a mover algunos de los elementos de configuración más esotéricos a los mecanismos config flow
; si tenía alguno configurado, aparecerá en el archivo /config/aarlo.yaml
. Consulte aquí para obtener más información sobre estas opciones.
Arlo utilizará SSE o MQTT para señalar eventos a Aarlo . No estoy completamente seguro del mecanismo que determina cuál se elige, pero sé que agregar o eliminar un user_agent
cambiará entre los dos.
Arlo actualizó recientemente la respuesta que envían a las solicitudes de API session/v3
para indicar qué backend elegir. Aarlo analizará eso cuando use 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 '
Si habilita la depuración detallada, debería poder encontrar este valor en los registros de Home Assistant .
A partir de la versión 0.8
Aarlo debería ser lo suficientemente inteligente como para determinar qué back-end usar. Pero si tiene problemas, como eventos de detección de movimiento faltantes o actualizaciones de valores de sensores faltantes, puede anular manualmente la configuración. Cambie esta configuración en /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
Tenga en cuenta que eliminar la configuración equivale a auto
.
Arlo utiliza la protección anti-bot Cloud Flare para iniciar sesión en el sitio web de Arlo . Este servicio no funciona bien con el paquete Python Requests (o cómo Aarlo usa esas solicitudes, no estoy muy seguro).
Si ve los siguientes errores, se encuentra con problemas de Cloud Flare .
2021-06-03 13:28:32 WARNING (SyncWorker_4) [pyaarlo] request-error=CloudflareChallengeError
Este problema me afecta y trato constantemente de perfeccionar el código.
Aarlo hace varias cosas para solucionar este problema:
Header
.Pero, si todavía tienes problemas de inicio de sesión, hay varios elementos de configuración que puedes probar.
Puede probar con un agente de usuario diferente. Esto está configurado en /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
Puede agregar un encabezado Source
junto con la solicitud de inicio de sesión. Tengo un sitio que necesita esto y otro que no. Creo que podría estar relacionado con el agente de usuario.
aarlo :
# This adds the following header "Source: arloCamWeb"
send_source : true
Puede desactivar el almacenamiento en caché de sesiones con lo siguiente:
aarlo :
# This will force a full login on every restart
save_session : false
Puede seleccionar diferentes curvas ecdh para usar. Este tema está fuera del alcance de este documento; consulte aquí para obtener una explicación.
aarlo :
# Make this curve the first choice. You can only enter 1 choice.
ecdh_curve : secp384r1
Puede modificar /etc/hosts
para que apunte a un 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 llama a esto Verificación en dos pasos . Deberá habilitar esto para su cuenta específica de Home Assistant . Aarlo admite mecanismos IMAP y PUSH , pero recomiendo usar IMAP ; con PUSH debes responder manualmente a la solicitud de inicio de sesión.
Encontrará instrucciones para configurar la autenticación de dos factores aquí. Arlo las proporciona aquí.
Ingresas autenticación de dos factores cuando agregas la integración.
Siga las instrucciones de autenticación de dos factores y agregue y configure un método de verificación de correo electrónico . Puede probar esto iniciando sesión en la página web principal de Arlo y asegurándose de que le envíe un correo electrónico.
Para Gmail y Yahoo (y otros clientes de correo electrónico basados en web) no puedes iniciar sesión con tu contraseña habitual, tendrás que crear una contraseña específica de la aplicación. Explicar por qué esto es necesario está fuera del alcance de este documento, así que consulte las páginas siguientes.
Si descubre que no puede iniciar sesión en su cuenta IMAP, verifique el requisito de contraseña de la aplicación.
Se sabe que funcionan los siguientes servidores:
Servicio | Nombre del anfitrión |
---|---|
Gmail | imap.gmail.com |
Yahoo! | imap.mail.yahoo.com |
Siga las instrucciones de autenticación de dos factores y agregue y configure un método de verificación PUSH .
Si necesita cambiar la lista de cifrado pasada al cliente IMAP, especifíquelo con la siguiente opción. No deberías necesitar hacer esto. consulte la página de manual de openssl para obtener más información.
aarlo :
# specify cipher list to use
cipher_list : " HIGH:!DH:!aNULL "
# Use DEFAULT for the cipher list
default_ciphers : True
Si tiene problemas, cree un informe de error, incluya la siguiente información en el informe de error para ayudar con la depuración. Si no lo haces, te molestaré hasta que lo hagas.
Puede activar la depuración básica de Aarlo cambiando la configuración de registro en configuration.yaml
.
logger :
default : info
logs :
pyaarlo : debug
custom_components.aarlo : debug
Puede activar la depuración detallada habilitando el registro y agregando lo siguiente a /config/aarlo.yaml
también. La depuración detallada generará una gran cantidad de registros, por lo que es mejor habilitarla solo cuando sea necesario.
aarlo :
verbose_debug : true
Aarlo escribirá los registros de depuración en el archivo de registro estándar de Home Assistant /config/home-assistant.log
.
Antes de enviarme la depuración, debes cifrarla. Puede cifrar su salida en esta página web. Puede cargar el archivo o copiarlo y pegarlo en el búfer y luego presionar Submit
.
Esta página no me reenvía automáticamente el resultado, por lo que tendrás que copiarlo y pegarlo en un archivo y adjuntarlo al informe de error.
Esta página oscurecerá los registros para que solo yo pueda leerlos. Soy el único poseedor de la clave privada para descifrarlos, pero tenga cuidado, junto con el número de serie podría incluir su cuenta y contraseña. Puede ocultarlos antes de cifrarlos, nunca los necesito.
No soy propietario de todos los equipos de Arlo , por lo que a veces, cuando algo sale mal o se lanza nuevo equipo, necesito ver qué espera Arlo realmente que envíe este código y qué puede esperar este código de Arlo . Aarlo simula una conexión de navegador web para que pueda averiguar qué se espera utilizando las herramientas de desarrollo del navegador.
Estas instrucciones son para Chrome, pero la mayoría de los navegadores (¡espero!) tienen una funcionalidad similar.
More Tools
y finalmente seleccionas Developer Tools
. También puedes usar el atajo CTRL+SHIFT+I
.Network
en la ventana recién abierta. Cuando inicie sesión, los datos transmitidos entre el navegador y el sitio web de Arlo comenzarán a aparecer y seguirán apareciendo en esta pestaña. Si hace clic en una entrada bajo Name
podrá examinar los paquetes con más detalle.
Headers
le muestra lo que se envió en los encabezados de la solicitud.Payload
le muestran lo que se envió en el cuerpo de la solicitud.Preview
muestra la respuesta enviada desde Arlo . Si pasa el cursor sobre el campo debajo name
una ventana emergente mostrará la URL completa a la que se envió la solicitud.
Necesito documentar esto.
Busque una URL que contenga la palabra subscribe
; esta será la transmisión uniforme que Arlo envía a la página web. A medida que haga clic en los botones de la página web, aparecerán más elementos en esta lista. Puedo usar esta información para determinar cómo analizar paquetes de respuesta para casos que aún no manejo.
Por ejemplo, Arlo crea un nuevo dispositivo con un botón WOOHOO
. No poseo dicho dispositivo, pero le gustaría implementar la funcionalidad WOOHOO
en Aarlo . Lo que necesito es la secuencia de paquetes y sus respuestas cuando presionas el botón. La única forma real de hacer esto es presionar el botón y ver qué paquetes nuevos aparecen en la pestaña Name
.
Luego deberá copiarlos y pegarlos en un informe de error en GitHub . Consulte la sección anterior sobre cómo ocultar datos confidenciales.
No. Pasan todo el tiempo discutiendo sobre quién tiene el control. Esta es una limitación de Arlo .
¿Estás seguro de que has compartido el dispositivo? Inicie sesión en la página web de Arlo y asegúrese de que aparezca allí. Si es así, active los registros de depuración y genere un informe de error con ellos.
Asegúrese de haber otorgado acceso de administrador a la cuenta con la que comparte los dispositivos, ya que es necesario para cosas como actualizaciones de la intensidad de la señal o la batería.
Asegúrese de haber proporcionado acceso de administrador a la cuenta con la que comparte los dispositivos, ya que es necesario para compartir las estaciones base.
¿Está utilizando la nueva interfaz basada en la ubicación de Arlo ? En este caso, solo puede armar o desarmar ubicaciones y no dispositivos individuales.
No se necesita suscripción para ver las transmisiones, pero necesitará una para ver la grabación.
Al momento de escribir este artículo (mayo de 2024), no hay ninguna opción para leer grabaciones locales. Todas las demás funciones funcionan bien.
Seguro que sí. Arlo no funciona como las cámaras IP y solo graba cuando se detecta movimiento, por lo que pedirle que inicie una transmisión implica hablar con los servidores de Arlo que hablan con la cámara en su casa... puede tomar unos segundos para que todo funcione. La transmisión funciona así:
Camera ---> Arlo Cloud Servers --> Home Assistant --> Your Home Assistant Client
El tráfico de vídeo tiene que salir de su casa y luego regresar a ella...
Esta es una lista de dispositivos que se sabe que funcionan. La mayoría de los dispositivos Arlo funcionarán incluso si no se mencionan explícitamente en esta lista, aunque pueden tener una funcionalidad limitada.
Modelo | Nombre | Características |
---|---|---|
ABC1000 | Bebé | movimiento, audio, ambiente, llanto |
AVD1001 | Timbre con vídeo con cable | movimiento |
AVD2001 | Timbre con vídeo esencial | movimiento, sirena |
AVD3001 | Timbre con vídeo con cable HD | movimiento, sirena |
AVD4001 | Timbre con vídeo con cable 2K | movimiento, sirena |
FB1001 | Proyector Pro 3 | foco |
MS1001 | Sensor todo en 1 | movimiento, abierto, mojado, manipulación, temperatura |
VMB3010 | Estación base | |
VMB4000 | Estación base 2 | sirena |
VMB4500 | Estación base profesional | sirena |
VMC2030 | Cámara esencial | movimiento, audio, sirena, foco |
VMC2040 | Cámara interior esencial | movimiento, audio, sirena sin batería |
VMC3030 | cámara de alta definición | movimiento, audio |
VMC3040 | Cámara Q | movimiento, audio |
VMC3060 | Cámara interior esencial 2 | movimiento, necesita ser examinado |
VMC3052 | Cámara XL esencial | movimiento, audio, foco |
VMC4030 | Cámara profesional 2 | movimiento, audio |
VMC4040 | Cámara profesional 3 | movimiento, audio, sirena, foco |
VMC4041 | Cámara profesional 4 | movimiento, audio, sirena, foco |
VMC4060 | Cámara profesional 5 | movimiento, audio, sirena, foco |
VMC5040 | Ultracámara | movimiento, audio, sirena, foco |
VML2030 | Ir 2 cámara | movimiento, audio |
VML4030 | Ir cámara | movimiento |
Este componente se escribió aplicando ingeniería inversa a las API utilizadas en la página web de Arlo Camera.
Estas son limitaciones generales:
Estas son limitaciones respecto del sitio web:
Estas son limitaciones frente a la aplicación móvil:
Los dos últimos se pueden resumir como if the WEB API doesn't support it, neither can the component.
Téngalo en cuenta cuando solicite nuevas funciones.