Ce tuto a pour but d’installer et de configurer Frigate pour la détection via CPU et TPU, je n’aborderai pas la configuration comme la durée de rétention, quel type d’objet Frigate doit détecter et autres.
1 – Création de la VM Homs-Assisant
L’installation se fera via le script de tteck, exécutez la commande ci-dessous dans Proxmox VE
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/haos-vm.sh)"
Choisissez entre l’installation par défaut ou avancée, ici ce sera l’installation par défaut. Il faut indiquer le pool où sera installée la VM (local-lvm dans mon cas).

Installation et configuration :

Pour obtenir l’IP et le port de l’interface WEB de Home-Assisant, allez dans la console de la VM.

Allez sur la page WEB de Home-Assisant (http://192.168.0.12:8123 dans mon cas) et suivez les instructions. Vous serez redirigé vers la page principale de Home-Assisant.
On va en profiter pour mettre une IP statique à Home-Assisant.
Allez dans Paramètres -> Système -> Réseau

2 – Installation du module Frigate et File Editor
2.1 – Installation du module Frigate
Installez le dépôt Frigate dans Home-Assisant
Paramètres -> Modules complémentaires -> Boutique des modules complémentaires
Allez dans la section « Dépôts ».

Ajoutez https://github.com/blakeblackshear/frigate-hass-addons

Le dépôt devrait apparaitre en haut de la fenêtre.

Rafraichissez la page « Boutique des modules complémentaires » pour que les modules Frigate apparaissent dans la liste des modules. Sélectionnez la version gratuite de Frigate (non Full Access).

Installez le module Frigate.

Après l’installation, n’oubliez pas d’ajouter le raccourci de Frigate dans la barre latérale.

2.2 – Installation du module File Editor
Il est plus simple de configurer Frigate (via son fichier YAML) depuis son interface. Mais en cas d’erreur de configuration, Frigate peut crasher à son démarrage et donc impossible de modifier sa configuration.
Installer File Editor vous permettra de modifier la configuration de Frigate sans utiliser son interface.
Installez le module « File Editor » et ajoutez son raccourci à la barre latérale.

Le fichier de configuration des cameras pour Frigate s’appelle « frigate.yaml »


3 – Ajout d’une camera dans Frigate (flux RTPS)
Il n’est pas nécessaire d’intégrer une caméra à Home-Assisant. Il suffit juste de récupérer son flux RTSP.
Allez dans le fichier de configuration de Frigate (frigate.yaml).


Remplacez rtsp://10.0.10.10:554/rtsp par le flux RTSP de votre caméra au format
« rtsp://<utilisateur>:<mot de passe>@<ip de la camera>:<port du protocol RTSP> ».
<utilisateur> et <mot de passe> sont les identifiants de connexion de la caméra.
Dans mon cas j’ai configuré l’utilisateur « frigate-user » dans ma caméra, c’a sera donc :
rtsp://frigate-user:kPNyDRbrMo1xv7lWaN3y2pPkMVSccC@192.168.0.211:554
Il est recommandé d’utiliser un utilisateur non administrateur (le cas avec frigate-user). En cas de compromission, le hacker n’aura accès qu’au identifiants de l’utilisateur non administrateur.
Sauvegardez et redémarrez Frigate.

On voit que Frigate renvoi la sortie vidéo de la caméra.

4 – Ajout d’un détecteur dans Frigate
Le détecteur (Detector) analyse la vidéo pour trouver des objets pertinents (personne, voiture, vélo …).
Il y a la détection via CPU, GPU, TPU … (voir ici). Je vais me focaliser que sur le CPU et le TPU.
4.1 – Via le CPU (?)
Ajoutez le code ci-dessous dans le fichier « frigate.yaml ». Adaptez le nombre de thread si la détection des objets est trop lente. Si besoin, vous pouvez augmenter le nombre de vCore de la machine virtuelle de Home-Assisant.
detectors:
cpu1:
type: cpu
num_threads: 4
4.2 – Via le TPU Google Coral USB (?)
Le Coral USB est un peu plus « capricieux ». Quand on le branche au serveur Proxmox, son VID (ID du fournisseur) et PID (ID du produit) sont 1a6e:089a Global Unichip Corp (utilisez la commande « lsusb« ). Il faut initialiser le Coral pour que sont VID:PID soit 18d1:9302 Google Inc.
Pour cela :
Branchez le Coral USB au serveur Proxmox VE et assignez-le à la VM de Home-Assisant (Il n’est pas nécessaire d’éteindre VM de Home-Assisant).


Ajoutez le détecteur dédié au TPU dans le fichier de configuration de Frigate (frigate.yaml)
detectors:
coral:
type: edgetpu
device: usb
Sauvegardez le fichier « frigate.yaml » et redémarrez Frigate.
Cela va changer le VID:PID du Coral.
Si Frigate crashe après son redémarrage c’est normal, car on lui demande d’utiliser le détecteur EdgeTPU sauf que le Coral à changé de VID:PID sur Proxmox
(Il est passé de 1a6e:089a Global Unichip Corp. à 18d1:9302 Google Inc.)
On peut le voir le changement en exécutant la commande « lsusb » sur le serveur Proxmox.

Il faut re-modifier les paramètres USB de la VM et sélectionner 18d1:9302 (il n’est pas nécessaire d’éteindre la VM Home-Assisant).


Redémarrez le module Frigate.
Le Coral doit clignoter s’il détecte du mouvement en sortie de la caméra.
/!\ Si vous débranchez le Coral du serveur PROXMOX VE, il faudra refaire la procédure pour refaire passer son VID:PID en 18d1:9302
5 – Configuration de la camera depuis Frigate
Je ne vais pas aborder la configuration du comportement de Frigate sur les camera.
Je vous invite à allez voir la documentation officiel de Frigate
Tous les paramètres et à quoi ils peuvent servir.
6 – Mettre les médias sur un stockage distant
Le répertoire média par défaut de Frigate est « /media/frigate« , il faut donc remplacer le répertoire par le point de montage SMB/CIFS.
Pour cela on vas :
- Supprimer le répertoire /media/frigate via le module « Advanced SSH & Web Terminal«
- Créer un point de montage depuis le menu Stockage de Home-Assistant
6.1 – Installation du module « Advanced SSH & Web Terminal »
Installez le module « Advanced SSH & Web Terminal »

Allez dans la configuration du module et ajoutez un mot de passe pour la session SSH sinon le module ne démarrera pas. N’oubliez pas non plus de mettre le raccourci du module dans la barre latérale.
/!\ Mettez bien sur un mot de passe fort.


6.2 – Suppression du dossier /media/frigate
Éteignez le module Frigate.
Allez dans le terminal SSH.
Supprimez le répertoire « frigate«
rm -rf /media/frigate
6.3 – Création du point de montage SMB/CIFS
J’utilise un NAS (192.168.0.61) avec un partage SMB/CIFS qui s’appelle « frigate »
J’ai créé un utilisateur « user-frigate » sur mon NAS qui a les droits de lecture et écriture sur le partage « frigate »
Allez dans Paramètres -> Système -> Stockage -> Ajouter un stockage réseaux
/!\ Mettez bien « frigate » (en minuscule) dans le champ « Nom »

Le partage sera affiché dans la liste des stockages de Home-Assisant

Vous pouvez remarquer que le point de montage /media/frigate a été ajouté. On vient donc de remplacer le répertoire local /media/frigate par le point de montage /media/frigate

Redémarrez le module Frigate, cela va créer les 4 répertoires clips, exports, images et recordings dans /media/frigate.
7 – (Optionel) Intégrer une camera dans Home-Assisant
J’ai une camera Réolink avec la configuration suivante :
- IP : 192.168.0.211
- Port de l’interface WEB (HTTPS) : 40211
- Login de l’interface WEB (login/mot de passe) : admin/hGVMFx5as9ivuBJsfF7kSKB3jfA22x
- Port du flux RTPS: 554
Allez dans Paramètres -> Appareils et services -> Ajouter une intégration et sélectionnez la marque de la caméra.

Dans le cas de Réolink, j’indique les informations suivantes. L’hôte doit pointer vers l’interface WEB (192.168.0.211). Si c’est un port personnalisé (le cas ici) il faut cliquer sur « Valider » pour avoir accès aux champs « Port ». Mettre seulement 192.168.0.211:40211 ne fonctionne pas.
Avant de valider:

Après avoir validation :

Je peux maintenant indiquer le port et utiliser le protocole HTTPS

Validez la configuration

