caméra eufySecurity
Présentation
Cette documentation vas présenter l'installation et configuration de l'intégration eufy_security dans Home Assistant ainsi que la création d'une carte basique pour la sonnette vidéo S220 sur le tableau de bord. La carte affichera la dernière image prise par la caméra ainsi qu'un bouton permettant de lancer le mode vidéo en direct (qui remplace alors l'image).

Ayant rencontré quelques difficultés, cette documentation me servira de pense-bête en cas de reconstruction et rendra peut-être service à d'autres. Bien évidement il existe plusieurs moyens d'arriver à intégrer ce plugin. Cette documentation n'en décrit qu'un seul. Si votre installation ne remplie pas les pré-requis et/ou que cela ne fonctionne pas chez vous, je vous renvoie sur le site officiel de l'intégration.
pré-requis
1. Home Assistant
Il existe plusieurs méthodes d'installation d'Home Assistant, tous répertoriés sur le [site officiel] (https://www.home-assistant.io/installation/). Je suis parti sur un Home Assistant Operating System (souvent abrévié en HA OS). C'est a mon sens le plus déterminant pour le reste de la documentation.
Je dispose d'un serveur Proxmox, j'ai donc pu créer une VM dédié à Home Assistant. Un moyen simple de réaliser cette tâche est de passer par le formidable site Proxmox VE Helper-Scripts contenant une collection de scripts à utiliser pour automatiser cette tâche. J'ai utilisé le script Home Assistant OS VM
[!NOTE]
Je ne rentre pas ici dans le détail, il existe pas mal de ressource en ligne expliquant tout ceci et n'importe quel méthode d'installation de HA OS doit permettre d'obtenir le même résultat.
2. HACS
On va avoir besoin de Home Assistant Community Store : HACS dont voici la documentation d'installation et de configuration initiale. Rien de compliqué, je vous laisse suivre la documentation ou aller en chercher une autre sur votre moteur de recherche préféré.
3. Compte Eufy secondaire
Comme expliqué dans la section How is this working? eufy_security s'appuie sur l'add-on de @bropat : eufy-security-ws. Ce dernier utilise 'eufy-security-client' qui vas imiter l'application mobile eufy pour récupérer les informations et les fournir à Home Assisant.
Chaque fois que le plugin est démarré, il va forcer les autres sessions à se déconnecter. C'est donc plus pratique de créer un compte secondaire, en lui donnant les droits d'admin, et lui partager les caméras que l'on souhaite intégrer. Les deux comptes doivent avoir le même code région. Les étapes se déroulent sur l'application mobile Eufy Security :
- Se déconnecter de votre compte principale.
- Créer un compte (en haut à droite).
- Choisir la région (choisir la même que votre compte principale).
- Créer le compte avec un autre e-mail que votre compte principale et choisissez votre mot de passe.
- Une fois le mail de vérification reçu, validez votre e-mail selon la procédure indiquée.
- Connectez-vous à l'application avec le nouveau compte afin de valider le bon fonctionnement. Ne pas activer l'authentification à deux facteurs.
- Se déconnecter du compte secondaire et se reconnecter avec le compte principale
- Dans le centre de contrôle, Gestion partagée, Partager l'appareil, Inviter en mode Avancé l'ensemble de vos appareils avec votre compte secondaire.
- Se déconnecter du compte principale et se connecter au compte secondaire pour valider que vous voyiez accès à l'ensemble de vos équipements.
- Vérifiez les paramètres de notification (voir ci-dessous).
- :partying_face: C'est fini, vous pouvez vous déconnecter du compte secondaire et revenir sur votre compte principale.
[!IMPORTANT] Pour faire fonctionner correctement la dernière image enregistrée par la caméra, il faut configurer les notifications afin d'inclure la vignette.
;
4. Connaissances sur Home Assistant
Je ne détaillerais pas ici les bases d'Home Assisant que sont l'installation de nouveaux plug-ins, paramétrages ou navigation dans l'interface, connaissance du dashboard et ajout de carte en yaml.
Installation
1. Eufy Security Add-On
La documentation officiel est disponible sur le gihub du repository hassio-eufy-security-ws.
Avant de démarrer, on passe par la partie Configuration pour y rentrer notre nouvel utilisateur, mot de passe et code région. On peut laisser le reste sur les valeurs par défaut.
Il est temps de démarrer le plug-in et ne pas oublier de faire un petit tour par le Journal afin de vérifier qu'il n'y a pas d'erreurs. Voici à quoi cela ressemble :
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
2024-01-13 16:36:38.041 INFO Eufy Security server listening on host 0.0.0.0, port 3000
2024-01-13 16:36:39.117 INFO Connected to station XXXXXXXXX on host 192.168.20.10 and port 13681
2024-01-13 16:36:40.788 INFO Push notification connection successfully established
2. WebRTC Camera
L'installation de WebRTC Camera se fait depuis HACS -> Intégrations -> + Explorer et télécharger des dépôts.
Les paramètres par défaut conviennent.
3. Eufy Security
L'installation de Eufy Security se fait de la même manière depuis HACS -> Intégrations -> + Explorer et télécharger des dépôts.
[!IMPORTANT]
Il est temps de redémarrer Home Assistant pour prendre en compte nos installations.
4. Ajout de l'intégration
Dans Paramètres -> Appareils et services -> + Ajouter une intégration : rechercher l'intégration Eufy Security.
Si tout c'est bien passé jusqu'ici, vous devriez arriver sur une phase de configuration où l'intégration vous demande dans quels pièces sont situés vos équipements. Ceci valide la bonne communication de la chaine eufy cloud < - > eufy-security-client < - > eufy-security-ws < - > eufy_security.
5. Exemples de carte
Voici un exemple de carte personnalisée pour une sonnette vidéo S220 qui affiche par défaut la dernière image de la caméra (celle que vous recevez en notification sur l'application). En dessous un bouton Start vous permet de basculer en direct. En mode direct, l'image est remplacée par le flux vidéo de la caméra, et le bouton Start par un bouton Stop.
Dans l'exemple, la sonnette vidéo S220 s'appelle entree
. A remplacer donc par votre nom d'équipement. Si vous avez un doute sur son nom, vous pouvez aller le chercher dans Home Assistant de la manière suivante :
Paramètres -> Appareils et services -> Entités (menu en haut de page) -> filtrer avec le mot clé camera
;
Vous pouvez aussi personnaliser le titre 😄 dans la balise title.
Voici le code yaml de la carte à ajouter sur votre dashboard.
square: false
columns: 1
type: grid
title: Porte d'entrée
cards:
- type: conditional
conditions:
- entity: camera.entree
state: idle
card:
type: vertical-stack
cards:
- type: picture
image_entity: image.entree_event_image
- show_name: true
show_icon: false
type: button
tap_action:
action: call-service
service: camera.turn_on
data: {}
target:
entity_id: camera.entree
entity: camera.entree
name: Lancement du direct
- type: conditional
conditions:
- entity: camera.entree
state: streaming
card:
type: vertical-stack
cards:
- type: custom:webrtc-camera
entity: camera.entree
- show_name: true
show_icon: false
type: button
tap_action:
action: call-service
service: camera.turn_off
data: {}
target:
entity_id: camera.entree
entity: camera.entree
name: Arrêt du direct
Le résultat en image :
;
6. Exemple d'automation
Repris de l'automation disponible sur le site officiel. Les valeurs à modifier sont :
- le nom de votre caméra, dans l'exemple
entree
- le nom de votre appareil mobile, dans l'exemple
sm_s908b
. Vous pouvez le retrouver dans Paramètres -> Appareils et services -> Application mobile
alias: alerte_entree
description: >-
Capture Image on Trigger, Send Mobile Notification with Actions, Snooze or
Alarm via Actions
trigger:
- platform: state
entity_id:
- binary_sensor.entree_motion_detected
- binary_sensor.entree_person_detected
to: "on"
id: sensor
- platform: event
event_type: mobile_app_notification_action
id: snooze
event_data:
action: SNOOZE
- platform: event
event_type: mobile_app_notification_action
id: alarm
event_data:
action: ALARM
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: sensor
sequence:
- delay:
hours: 0
minutes: 0
seconds: 3
milliseconds: 0
- service: notify.mobile_app_sm_s908b
data:
message: Motion detected
data:
image: /api/image_proxy/image.entree_event_image
actions:
- action: ALARM
title: Alarm
- action: SNOOZE
title: Snooze
- conditions:
- condition: trigger
id: snooze
sequence:
- service: eufy_security.snooze
data:
snooze_time: 10
snooze_chime: false
snooze_motion: true
snooze_homebase: false
target:
entity_id: camera.entree
- conditions:
- condition: trigger
id: alarm
sequence:
- service: eufy_security.trigger_camera_alarm_with_duration
data:
duration: 1
target:
entity_id: camera.entree
mode: single
Remerciement
Merci Yoshi pour l'envie de faire cette documentation et la/les relectures 😄