Aarlo est un composant personnalisé pour Home Assistant, qui permet d'accéder au système Arlo.
Aarlo propose entre autres :
Aarlo est un composant personnalisé pour Home Assistant, qui permet d'accéder au système Arlo.
L'intégration utilise les API fournies par le site Web de la caméra Arlo et présente plusieurs limitations. Consultez la section Limitations connues pour plus de détails.
Si vous rencontrez un problème, consultez la section FAQ pour voir s'il s'agit d'un problème connu et s'il existe une solution de contournement ou un correctif. Sinon, consultez la section Rapport de bug pour plus d'informations sur la façon de générer des journaux de débogage et de créer un rapport de débogage.
Le README avancé est ici
L'ancien README est toujours disponible ici.
Ce document suppose que vous êtes familier avec l'installation et la configuration de Home Assistant .
Partout où vous voyez /config
dans ce document, il fait référence à votre répertoire de configuration Home Assistant . Par exemple, pour mon installation, c'est /home/steve/ha
qui est mappé à /config
par mon conteneur Docker.
Partout où vous voyez Arlo, cela fait référence à n’importe quel élément du système Arlo .
Partout où vous voyez Aarlo, je fais référence à ce composant.
Un grand merci à :
Aarlo fournit également une carte Lovelace personnalisée, qui superpose le dernier instantané d'une caméra avec son état actuel et permet d'accéder à la bibliothèque d'enregistrement et à la diffusion en direct des caméras.
Si vous n'êtes pas familier avec Home Assistant, je vous recommande de visiter le site Web communautaire. Il regorge de personnes utiles et il y a toujours quelqu'un qui a rencontré le problème que vous essayez de résoudre.
Aarlo a besoin d'un compte Arlo dédié. Si vous essayez de réutiliser un compte existant, par exemple celui que vous utilisez sur l'application Arlo sur votre téléphone, l'application et cette intégration auront constamment du mal à se connecter. Il s'agit d'une limitation d'Arlo .
Le compte Aarlo dédié doit être activé Allow Access Rights
pour définir les niveaux d'alarme et lire certaines valeurs d'état.
Consultez la documentation Arlo pour plus d'instructions.
Vous devez activer l'authentification à deux facteurs. Configurez une adresse e-mail pour recevoir le code de vérification. Aarlo prend en charge d'autres mécanismes TFA , mais le courrier électronique est le plus simple à utiliser. Consultez la section Authentification à deux facteurs plus loin pour plus de détails.
Il vous suffit d'utiliser l'un de ces mécanismes d'installation. Je recommande HACS.
Aarlo fait partie du magasin HACS par défaut. Si vous n'êtes pas intéressé par l'utilisation des branches de développement, c'est le moyen le plus simple d'installer.
Copiez le répertoire aarlo
dans votre répertoire /config/custom_components
.
Exécutez le script d'installation. Exécutez-le une fois pour vous assurer que les opérations semblent saines et exécutez-le une deuxième fois avec le paramètre go
pour effectuer le travail réel. Si vous mettez à jour, réexécutez simplement le script, il écrasera tous les fichiers installés.
install /config # check output looks good
install go /config
Cependant, vous installez le code source dont vous savez qu'il est nécessaire d'ajouter l'intégration dans Home Assistant . Sur la page d'accueil, sélectionnez Settings -> Devices & Services
, cliquez ici sur ADD INTEGRATION
et recherchez Aarlo
. Sur le premier écran, entrez les détails de votre compte.
Champ | Valeur |
---|---|
Nom d'utilisateur | Nom d'utilisateur de votre compte Arlo |
Mot de passe | Mot de passe de votre compte Arlo |
Mécanisme à deux facteurs | Sélectionnez IMAP |
Nom d'utilisateur TFA | Le compte de messagerie que vous avez enregistré pour TFA |
Mot de passe TFA | Le mot de passe du compte de messagerie |
Hôte TFA | Le serveur IMAP sur lequel rechercher l'e-mail |
Si vous laissez Use aarlo prefix
coché, tous vos appareils seront au format type.aarlo_*
.
Cliquez sur SUBMIT
. L'intégration se connectera à Arlo et récupérera la liste des appareils qui lui sont associés. Si tout fonctionne, vous pourrez attribuer les appareils aux pièces sur l'écran suivant.
Vous pouvez affiner davantage les paramètres. Sur la page Intégration, cliquez sur CONFIGURE
.
Affinez les paramètres de l'alarme :
Champ | Valeur |
---|---|
Code d'alarme/désarmement | Entrez un code si nécessaire, sinon laissez par défaut |
Nom du mode désarmé | Changez si votre compte Arlo a un nom désarmé personnalisé |
Nom du mode Accueil | Changer si votre compte Arlo a un nom de mode maison personnalisé |
Nom du mode Absent | Changez si votre compte Arlo a un nom de mode Absence personnalisé |
Nom du mode nuit | Changer si votre compte Arlo a un nom de mode nuit personnalisé |
Code d'armement requis | Sélectionnez si un code d'alarme/désarmement est nécessaire pour armer |
Code de désarmement requis | Sélectionnez si un code d'alarme/désarmement est nécessaire pour désarmer |
Temps de déclenchement | Combien de temps attendre lors de l'armement |
Volume de l'alarme | Volume par défaut des sirènes d'alarme |
Mode nuit ; Arlo n'en aura pas à moins que vous ne le créiez
Si vous devez effacer le code d'alarme, n'entrez no code needed
. Je vais chercher à faire en sorte que cela accepte une entrée vide...
Déterminez quels capteurs binaires sont disponibles :
Champ | Valeur |
---|---|
Détection sonore | Activer les microphones sur les caméras |
Détection de mouvement | Activer la détection de mouvement sur les caméras |
Presses à sonnette | Activer les boutons de la sonnette |
Détection des cris | Pour Arlo baby, activez la détection des pleurs |
Connectivité des appareils | Soyez averti lorsqu'un appareil se déconnecte |
Capteurs d'ouverture/fermeture | Activer les capteurs de portes et fenêtres |
Capteurs de luminosité | Activer la détection de la lumière |
Détection de sabotage | Activer la notification si l'appareil est ouvert |
Détection des fuites | Activer les dispositifs de surveillance des fuites |
Tous les capteurs ne sont pas disponibles sur tous les appareils.
Déterminez quels capteurs sont disponibles :
Champ | Valeur |
---|---|
Heure de la dernière capture | Un capteur par caméra indiquant quand le dernier enregistrement a été effectué |
Nombre total de caméras détectées | Valeur entière du nombre de caméras |
Activité récente détectée | La caméra était-elle récemment active |
Nombre de vidéos/instantanés capturés aujourd'hui | Valeur entière de l'enregistrement réalisé aujourd'hui |
Niveau de batterie de l'appareil | Pourcentage de batterie restant |
Force du signal Wi-Fi | Force WiFi, a une portée de 1 à 5 |
Température ambiante | Conditions des chambres |
Humidité ambiante | Conditions des chambres |
Qualité de l'air | Conditions des chambres |
Tous les capteurs ne sont pas disponibles sur tous les appareils. Et l'activité récente devrait probablement être un binaire_sensor .
Activer divers commutateurs :
Champ | Valeur |
---|---|
Interrupteurs pour allumer les sirènes | Prévoir un interrupteur pour allumer les sirènes individuelles |
Un interrupteur allume toutes les sirènes | Prévoir un interrupteur pour allumer toutes les sirènes |
Autoriser l'extinction des sirènes | Autoriser l'extinction des sirènes par interrupteur |
Volume du commutateur de sirène | Niveau de volume par défaut, de 1 à 10 |
Durée du commutateur de sirène | Heure par défaut pour déclencher l'alarme |
Bascule pour demander aux caméras de prendre un instantané | Fournir un interrupteur pour prendre un instantané de la caméra |
Délai d'expiration de l'instantané de la caméra | Combien de temps attendre que les caméras mal comportées finissent |
Bascule pour faire taire les carillons de la sonnette | Fournissez un interrupteur pour faire taire les sonnettes. |
Si vous arrivez tôt, il y a plusieurs choses à noter :
config flow
. Tous vos appareils apparaîtront sur la page d'intégration.yaml
originales.prefix with _aarlo
de conserver le nom identique.aarlo
.pyaarlo
est désormais installé via pip
et n'est pas inclus dans l'intégration..aarlo/session.pickle
. Je n'étais pas disposé à déplacer certains des éléments de configuration les plus ésotériques dans les mécanismes config flow
, si vous en aviez configuré, ils apparaîtront dans le fichier /config/aarlo.yaml
. Voir ici pour en savoir plus sur ces options.
Arlo utilisera soit SSE, soit MQTT pour signaler les événements à Aarlo . Je ne suis pas entièrement sûr du mécanisme qui détermine lequel est choisi, mais je sais que l'ajout ou la suppression d'un user_agent
basculera entre les deux.
Arlo a récemment mis à jour la réponse qu'ils envoient aux requêtes API session/v3
pour indiquer quel back-end choisir. Aarlo analysera cela lors de l'utilisation 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 vous activez le débogage détaillé, vous devriez pouvoir trouver cette valeur dans les journaux Home Assistant .
À partir de la version 0.8
Aarlo devrait être suffisamment intelligent pour déterminer quel back-end utiliser. Mais si vous rencontrez des problèmes, comme des événements de détection de mouvement manquants ou des mises à jour de valeurs de capteur manquantes, vous pouvez remplacer manuellement le paramètre. Modifiez ce paramètre dans /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
Notez que la suppression du paramètre équivaut à auto
.
Arlo utilise la protection anti-bot Cloud Flare pour la connexion au site Web Arlo . Ce service ne fonctionne pas bien avec le package Python Requests (ou comment Aarlo utilise ces requêtes, je ne suis pas trop sûr).
Si vous voyez les erreurs suivantes, vous rencontrez des problèmes Cloud Flare .
2021-06-03 13:28:32 WARNING (SyncWorker_4) [pyaarlo] request-error=CloudflareChallengeError
Ce problème m'affecte et j'essaie constamment d'affiner le code.
Aarlo fait plusieurs choses pour contourner ce problème :
Header
.Mais si vous rencontrez toujours des problèmes de connexion, vous pouvez essayer plusieurs éléments de configuration.
Vous pouvez essayer un autre agent utilisateur. Ceci est configuré dans /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
Vous pouvez ajouter un en-tête Source
avec la demande de connexion. J'ai un site qui en a besoin et un autre qui n'en a pas besoin. Je pense que cela pourrait être lié à l'agent utilisateur.
aarlo :
# This adds the following header "Source: arloCamWeb"
send_source : true
Vous pouvez désactiver la mise en cache de session avec les éléments suivants :
aarlo :
# This will force a full login on every restart
save_session : false
Vous pouvez sélectionner différentes courbes ecdh à utiliser. Ce sujet sort du cadre de ce document, voir ici pour une explication.
aarlo :
# Make this curve the first choice. You can only enter 1 choice.
ecdh_curve : secp384r1
Vous pouvez modifier /etc/hosts
pour pointer vers un serveur Web Arlo spécifique
# 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 appelle cela la vérification en deux étapes . Vous devrez l’activer pour votre compte spécifique Home Assistant . Aarlo prend en charge les mécanismes IMAP et PUSH mais je recommande d'utiliser IMAP , avec PUSH, vous devez répondre manuellement à la demande de connexion.
Vous trouverez ici les instructions pour configurer l'authentification à deux facteurs. Arlo fournit ici
Vous entrez l'authentification à deux facteurs lorsque vous ajoutez l'intégration.
Suivez les instructions d'authentification à deux facteurs et ajoutez et configurez une méthode de vérification par e-mail . Vous pouvez tester cela en vous connectant à la page Web principale d'Arlo et en vous assurant qu'il vous envoie un e-mail.
Pour Gmail et Yahoo (et autres clients de messagerie Web), vous ne pouvez pas vous connecter avec votre mot de passe habituel, vous devrez créer un mot de passe spécifique à l'application. Expliquer pourquoi cela est nécessaire sort du cadre de ce document, consultez donc les pages suivantes.
Si vous constatez que vous ne pouvez pas vous connecter à votre compte IMAP, vérifiez les exigences relatives au mot de passe de l'application.
Les serveurs suivants sont connus pour fonctionner :
Service | Nom d'hôte |
---|---|
Gmail | imap.gmail.com |
Yahoo! | imap.mail.yahoo.com |
Suivez les instructions d'authentification à deux facteurs et ajoutez et configurez une méthode de vérification PUSH .
Si vous devez modifier la liste de chiffrement transmise au client IMAP, vous la spécifiez avec l'option suivante. Vous ne devriez pas avoir besoin de faire ça. consultez la page de manuel openssl pour plus d'informations.
aarlo :
# specify cipher list to use
cipher_list : " HIGH:!DH:!aNULL "
# Use DEFAULT for the cipher list
default_ciphers : True
Si vous rencontrez des problèmes, veuillez créer un rapport de bogue, incluez les informations suivantes dans le rapport de bogue pour faciliter le débogage. Si tu ne le fais pas, je te harcèlerai jusqu'à ce que tu le fasses.
Vous activez le débogage de base d'Aarlo en modifiant le paramètre de journalisation dans configuration.yaml
.
logger :
default : info
logs :
pyaarlo : debug
custom_components.aarlo : debug
Vous pouvez activer le débogage détaillé en activant la journalisation et en ajoutant également ce qui suit à /config/aarlo.yaml
. Le débogage détaillé générera de nombreux journaux, il est donc préférable de l'activer uniquement lorsque cela est nécessaire.
aarlo :
verbose_debug : true
Aarlo écrira les journaux de débogage dans le fichier journal standard de Home Assistant /config/home-assistant.log
.
Avant de m'envoyer le débogage, vous devez le chiffrer. Vous pouvez crypter votre sortie sur cette page Web. Vous pouvez télécharger le fichier ou le copier et le coller dans le tampon, puis appuyer sur Submit
.
Cette page ne me transmet pas automatiquement le résultat, vous devrez donc le copier et le coller dans un fichier et le joindre au rapport de bogue.
Cette page masquera les journaux afin que je sois le seul à pouvoir les lire. Je suis le seul détenteur de la clé privée pour la déchiffrer, mais méfiez-vous, avec le numéro de série, elle peut inclure les informations de votre compte et votre mot de passe. Vous pouvez les masquer avant de les chiffrer, je n’en ai jamais besoin.
Je ne possède pas tous les équipements Arlo , donc parfois, lorsque les choses tournent mal ou qu'un nouvel équipement est publié, j'ai besoin de voir ce qu'Arlo s'attend réellement à ce que ce code envoie et ce que ce code peut attendre en retour d' Arlo . Aarlo simule une connexion à un navigateur Web afin que vous puissiez découvrir ce qui est attendu en utilisant les outils de développement du navigateur.
Ces instructions concernent Chrome mais la plupart des navigateurs (j'espère !) ont des fonctionnalités similaires.
More Tools
et enfin sélectionnez Developer Tools
. Vous pouvez également utiliser le raccourci CTRL+SHIFT+I
.Network
dans la fenêtre nouvellement ouverte. Lorsque vous vous connectez, les données transmises entre le navigateur et le site Web Arlo commenceront à apparaître et continueront d'apparaître dans cet onglet. Si vous cliquez sur une entrée sous Name
vous pouvez examiner les paquets plus en détail.
Headers
vous montre ce qui a été envoyé dans les en-têtes de la requête.Payload
vous montrent ce qui a été envoyé dans le corps de la requêtePreview
affiche la réponse renvoyée par Arlo . Si vous survolez le champ sous name
une fenêtre contextuelle affichera l'URL complète à laquelle la demande a été envoyée.
Je dois documenter cela.
Recherchez une URL contenant le mot subscribe
, ce sera le flux pair qu'Arlo renverra à la page Web. Lorsque vous cliquez sur les boutons de la page Web, d'autres éléments apparaîtront dans cette liste. Je peux utiliser ces informations pour déterminer comment analyser les paquets de réponses pour les cas que je ne gère pas encore.
Par exemple, Arlo crée un nouvel appareil avec un bouton WOOHOO
, je ne possède pas un tel appareil mais vous souhaiteriez que la fonctionnalité WOOHOO
soit implémentée dans Aarlo . Ce dont j'ai besoin, c'est de la séquence des paquets et de leurs réponses lorsque vous appuyez sur le bouton. La seule véritable façon de procéder est d'appuyer sur le bouton et de voir quels nouveaux paquets apparaissent dans l'onglet Name
.
Vous devrez ensuite les copier et les coller dans un rapport de bug sur GitHub . Consultez la section précédente pour savoir comment masquer les données sensibles.
Non, ils passent tout leur temps à se disputer pour savoir qui a le contrôle. Il s'agit d'une limitation d'Arlo .
Êtes-vous sûr d'avoir partagé l'appareil ? Connectez-vous à la page Web Arlo et assurez-vous qu'elle y apparaît. Si tel est le cas, activez les journaux de débogage et générez un rapport de bogue avec eux.
Assurez-vous d'avoir donné le compte avec lequel vous partagez les appareils avec l'accès administrateur , il est nécessaire pour des choses comme les mises à jour de la batterie ou de la force du signal.
Assurez-vous d'avoir donné le compte avec lequel vous partagez les appareils avec Admin Access , il est nécessaire pour partager les stations de base.
Utilisez-vous la nouvelle interface basée sur la localisation Arlo ? Dans ce cas, vous ne pouvez armer ou désarmer que des emplacements et non des appareils individuels.
Aucun abonnement n'est nécessaire pour voir les flux, mais vous en aurez besoin pour voir l'enregistrement.
Au moment de la rédaction (mai 2024), il n’existe aucune option permettant de lire les enregistrements locaux. Toutes les autres fonctionnalités fonctionnent bien.
C’est sûr qu’ils le font. Arlo ne fonctionne pas comme les caméras IP et n'enregistre que lorsqu'un mouvement est détecté. Lui demander de démarrer un flux implique donc de parler aux serveurs Arlo qui parlent à la caméra de votre maison... cela peut prendre quelques secondes pour que les choses fonctionnent. Le streaming fonctionne à peu près comme ceci :
Camera ---> Arlo Cloud Servers --> Home Assistant --> Your Home Assistant Client
Le trafic vidéo doit sortir de votre maison puis y revenir...
Il s'agit d'une liste d'appareils connus pour fonctionner. La plupart des appareils Arlo fonctionneront même s'ils ne sont pas explicitement mentionnés dans cette liste, bien qu'ils puissent avoir des fonctionnalités limitées.
Modèle | Nom | Caractéristiques |
---|---|---|
ABC1000 | Bébé | mouvement, audio, environnement, cri |
AVD1001 | Sonnette vidéo filaire | mouvement |
AVD2001 | Sonnette vidéo essentielle | mouvement, sirène |
AVD3001 | Sonnette vidéo filaire HD | mouvement, sirène |
AVD4001 | Sonnette vidéo filaire 2K | mouvement, sirène |
FB1001 | Projecteur Pro 3 | projecteur |
MS1001 | Capteur tout en 1 | mouvement, ouvert, humide, sabotage, température |
VMB3010 | Station de base | |
VMB4000 | Station de base 2 | sirène |
VMB4500 | Station de base professionnelle | sirène |
VMC2030 | Appareil photo essentiel | mouvement, audio, sirène, projecteur |
VMC2040 | Caméra intérieure essentielle | mouvement, audio, sirène pas de batterie |
VMC3030 | Caméra HD | mouvement, son |
VMC3040 | Caméra Q | mouvement, son |
VMC3060 | Caméra intérieure essentielle 2 | mouvement, doit être examiné |
VMC3052 | Appareil photo XL essentiel | mouvement, audio, projecteur |
VMC4030 | Caméra Pro2 | mouvement, son |
VMC4040 | Caméra Pro 3 | mouvement, audio, sirène, projecteur |
VMC4041 | Caméra Pro4 | mouvement, audio, sirène, projecteur |
VMC4060 | Caméra Pro 5 | mouvement, audio, sirène, projecteur |
VMC5040 | Ultra-caméra | mouvement, audio, sirène, projecteur |
VML2030 | Allez 2 caméra | mouvement, son |
VML4030 | Aller à la caméra | mouvement |
Ce composant a été écrit par rétro-ingénierie des API utilisées sur la page Web de la caméra Arlo.
Ce sont des limitations générales :
Voici les limitations du site Web :
Voici les limitations par rapport à l'application mobile :
Les deux derniers peuvent se résumer comme if the WEB API doesn't support it, neither can the component.
Gardez cela à l'esprit lorsque vous demandez de nouvelles demandes de fonctionnalités.