Pendant des années, la principale critique adressée à Frigate était la même : la détection de mouvement YOLO génère des alertes pertinentes, mais la notification qui arrive sur votre téléphone ressemble à "Personne détectée — Caméra allée" sans aucun contexte. Qui ? Que faisait cette personne ? Venait-elle vers la maison ou repartait-elle ? Frigate 0.17, sorti en début 2026, répond directement à ce problème avec l'intégration GenAI : un LLM de vision analyse les images de chaque événement et génère un résumé textuel lisible. Le tout en local, sans envoyer la moindre frame vers un cloud externe, à condition de choisir Ollama comme fournisseur.
Ce guide couvre la configuration complète : installation d'Ollama, paramétrage YAML de Frigate, choix du modèle vision, et automatisations Home Assistant pour recevoir ces résumés enrichis sur votre téléphone. Il inclut également un point sur le matériel, car faire tourner un modèle de vision en local a des prérequis concrets.
Les trois fonctions GenAI de Frigate 0.17
Frigate 0.17 n'introduit pas une seule fonctionnalité IA, mais trois, chacune répondant à un besoin différent.
1. Review Summaries — les résumés d'événements
C'est la fonctionnalité la plus directement utile au quotidien. Lorsque Frigate détecte un objet (personne, voiture, animal), il capture les frames pertinentes et les envoie au LLM configuré, qui génère une description textuelle de la scène. Ce résumé est affiché dans l'interface Frigate sous chaque événement et peut être transmis via Home Assistant dans vos notifications push.
Résultat concret : au lieu de "Personne détectée", vous recevez "Une personne portant une veste sombre et un sac à dos a traversé l'allée en direction de la rue à 14h32." Le LLM décrit ce qu'il voit — tenue, direction de déplacement, présence d'objets portés, nombre de personnes — sans qu'aucune règle ne soit à configurer manuellement.
2. Classification Models — modèles personnalisés
Frigate peut entraîner des modèles de classification locaux sur des cas d'usage spécifiques que YOLO gère mal : portail ouvert ou fermé, véhicule présent dans la cour, colis déposé devant la porte. Ces modèles s'entraînent sur les clips que vous avez vous-même validés depuis l'interface Frigate, et réduisent considérablement les faux positifs sur ces scénarios précis.
3. Semantic Search — recherche par description
La recherche dans les événements enregistrés accepte désormais des descriptions textuelles ("montre-moi tous les événements avec une personne en rouge cette semaine") ou une image de référence. Pratique pour retrouver rapidement une séquence sans parcourir des heures d'enregistrement.
Ce guide se concentre sur les Review Summaries, qui sont la fonctionnalité la plus impactante pour les utilisateurs Home Assistant et la plus simple à configurer.
Architecture locale : comment Frigate communique avec Ollama
Avant de plonger dans la configuration, il est utile de comprendre le flux de données pour ne pas confondre les rôles respectifs de YOLO et du LLM de vision.
Frigate fonctionne en deux étapes distinctes. La détection d'objets (YOLO) s'effectue en temps réel sur chaque frame : c'est ce moteur qui décide qu'une personne est présente et déclenche l'enregistrement de l'événement. Le LLM de vision n'intervient qu'après la détection, de manière asynchrone : Frigate lui envoie les frames capturées, attend le résumé textuel (quelques secondes), puis attache ce résumé à l'événement.
Conséquence importante : Ollama n'a aucun impact sur la latence de détection. Si votre Frigate détecte une personne en 200ms aujourd'hui, ce sera toujours 200ms avec Ollama activé. Le résumé arrive quelques secondes plus tard, ce qui est parfaitement adapté aux notifications push mais pas à un usage temps réel (alarme à déclenchement immédiat).
Frigate contacte Ollama via son API HTTP locale (port 11434 par défaut). Les deux services peuvent tourner sur la même machine ou sur des machines différentes du même réseau local, du moment que l'URL est accessible.
Installer Ollama sur votre serveur domotique
La méthode la plus propre pour une installation à côté de Frigate (qui tourne généralement en Docker) est de déployer Ollama via Docker également. Voici les commandes complètes :
# Lancer le conteneur Ollama
docker run -d \
--name ollama \
--restart unless-stopped \
-p 11434:11434 \
-v ollama_data:/root/.ollama \
ollama/ollama
# Vérifier que le conteneur tourne
docker ps | grep ollama
# Télécharger le modèle moondream (recommandé pour commencer)
docker exec ollama ollama pull moondream
# Tester que l'API répond
curl http://localhost:11434/api/tags
La commande curl doit retourner un JSON listant les modèles disponibles. Si vous obtenez une connexion refusée, vérifiez que le port 11434 n'est pas bloqué par un pare-feu ou déjà utilisé par un autre service.
Si Ollama et Frigate sont dans le même réseau Docker (stack docker-compose), remplacez localhost par le nom du service Ollama dans la configuration Frigate.
Configurer Frigate 0.17 : activer les résumés GenAI
La configuration GenAI se fait dans le fichier config.yml de Frigate. Voici la configuration minimale pour activer les résumés via Ollama :
genai:
enabled: true
provider: ollama
base_url: http://localhost:11434
model: moondream
Cette configuration active les résumés pour toutes les caméras et tous les objets détectés. Pour un contrôle plus fin, vous pouvez personnaliser les prompts par type d'objet et restreindre le déclenchement aux zones qui vous intéressent :
genai:
enabled: true
provider: ollama
base_url: http://localhost:11434
model: moondream
object_prompts:
person: "Décris la personne : vêtements et direction. En français."
car: "Décris le véhicule : type et couleur. En français."
Pour restreindre les résumés à certaines caméras ou zones (utile si vous ne voulez pas générer un résumé pour chaque passage sur une caméra très fréquentée) :
cameras:
allee_entree:
genai:
enabled: true
objects:
- person
- car
jardin:
genai:
enabled: false # Pas de résumés sur cette caméra
Redémarrez Frigate après modification du fichier de configuration. Les résumés apparaissent sous chaque événement dans l'interface dans les secondes qui suivent la détection.
Choisir son modèle vision : moondream, llama3.2-vision ou LLaVA
Tous les modèles Ollama supportant la vision (multimodaux) sont compatibles avec Frigate 0.17. Les trois options les plus pertinentes pour un usage domotique :
| Modèle | RAM requise | Temps / résumé (CPU N100) | Qualité des descriptions |
|---|---|---|---|
| moondream | ~2 Go | 5-10 secondes | Bonne pour descriptions simples |
| llava:7b | ~4 Go | 15-30 secondes | Très bonne, contexte riche |
| llama3.2-vision | ~6-8 Go | 30-60 sec (CPU) / 8-15 sec (GPU) | Excellente, recommandé avec GPU |
moondream est le bon point de départ. Son empreinte mémoire réduite (environ 2 Go de RAM) lui permet de tourner confortablement sur un mini PC N100 ou équivalent, et ses descriptions sont suffisamment précises pour l'usage principal (notifications push). Pour le télécharger :
docker exec ollama ollama pull moondream
llava:7b offre un meilleur niveau de détail contextuel — il reconnaît les nuances de scène, distingue mieux les comportements (quelqu'un qui s'approche d'une porte vs qui passe devant) — mais nécessite davantage de RAM et de temps de traitement.
llama3.2-vision donne les meilleurs résultats mais requiert un GPU pour des temps de réponse pratiques. Sur CPU seul avec 8-16 Go de RAM, comptez 30 à 60 secondes par résumé, ce qui reste utilisable pour les notifications mais devient pénible si vous générez des dizaines de résumés par jour.
Automatisations Home Assistant : envoyer les résumés sur votre téléphone
L'intégration Frigate pour Home Assistant expose les événements via MQTT. Avec Frigate 0.17 et GenAI activé, le résumé textuel est ajouté à la review de façon asynchrone : Frigate publie d'abord un événement new (détection), puis un événement update quand Ollama a fini de générer la description. Il faut donc écouter le type update, pas new. Voici l'automatisation correcte :
alias: "Alerte Frigate enrichie avec résumé IA"
trigger:
- platform: mqtt
topic: frigate/reviews
value_template: "{{ value_json.type }}"
payload: update
condition:
- condition: template
value_template: >
{{ trigger.payload_json.after.severity == 'alert'
and trigger.payload_json.after.description is defined
and trigger.payload_json.after.description | length > 0 }}
action:
- service: notify.mobile_app_mon_telephone
data:
title: "Frigate — {{ trigger.payload_json.after.camera }}"
message: "{{ trigger.payload_json.after.description }}"
Le payload MQTT de frigate/reviews suit la structure {"type": "...", "before": {...}, "after": {...}} — les données actuelles de la review sont toujours dans after. La condition description | length > 0 filtre les updates sans résumé (Frigate peut envoyer plusieurs updates avant que Ollama ait terminé). Adaptez mobile_app_mon_telephone avec le nom de votre appareil tel qu'il apparaît dans Home Assistant.
Pour joindre la vignette du clip à la notification, ajoutez dans le bloc data: de l'action :
data:
image: >-
/api/frigate/notifications/
{{ trigger.payload_json.after.id }}/thumbnail.jpg
Pour récupérer le nom exact de votre service de notification : Settings → Devices & Services → Mobile App → votre appareil.
Quel matériel pour faire tourner Ollama avec Frigate ?
C'est la question qui revient le plus souvent, et la réponse dépend du modèle vision que vous ciblez.
Point important à clarifier d'abord : le Coral USB Accelerator accélère la détection d'objets YOLO de Frigate, pas le LLM de vision Ollama. Les deux fonctions sont indépendantes. Le Coral est utile si vous avez beaucoup de caméras ou si votre CPU peine à tenir la cadence de détection — c'est un investissement indépendant de la question GenAI.
Google Coral USB Accelerator
4 TOPS · USB 3 requis · Edge TPU Google
Pour Ollama lui-même, les contraintes sont celles de n'importe quel LLM de vision :
- CPU Intel N100 + 8 Go RAM : confortable avec moondream, limite acceptable avec llava:7b. C'est le profil type d'un mini PC dédié à la domotique.
- CPU i5/i7 + 16 Go RAM : supporte llava:7b confortablement et llama3.2-vision en mode lent.
- GPU NVIDIA (RTX 3060 ou supérieur, 12 Go VRAM) : n'importe quel modèle tourne en moins de 10 secondes. Nécessite de lancer Ollama en Docker avec le runtime NVIDIA.
- Raspberry Pi 5 (4-8 Go) : moondream uniquement, comptez 30-60 secondes. Utilisable si vous avez peu d'événements, pénible sinon.
Si vous n'avez pas de serveur dédié et cherchez une machine pour faire tourner Frigate + Ollama ensemble, un mini PC N100 avec 16 Go de RAM est le bon rapport performance/prix/consommation pour ce cas d'usage.
Beelink Mini S12 Mini
Intel N150 · 16 Go DDR4 · 500 Go NVMe · 8-12W
Limites et cas d'usage : ce que GenAI améliore (et ce qu'il ne remplace pas)
La fonctionnalité GenAI de Frigate 0.17 est utile pour ce qu'elle fait, mais il est important de ne pas lui attribuer des capacités qu'elle n'a pas.
Ce que GenAI améliore réellement :
- La qualité de l'information dans les notifications push — vous recevez un contexte lisible plutôt qu'un label brut
- La recherche dans les archives d'événements (semantic search)
- La réduction des faux positifs sur des scénarios personnalisés (classification models)
- La documentation passive des allées et venues, utile a posteriori
Ce que GenAI ne remplace pas :
- La détection temps réel : le résumé arrive 5 à 30 secondes après l'événement. Il ne peut pas déclencher une alarme instantanée — c'est YOLO qui continue de jouer ce rôle.
- La reconnaissance faciale : Frigate ne fait pas de reconnaissance faciale, et le LLM de vision ne peut pas identifier une personne spécifique.
- Un système de sécurité certifié : Frigate reste un outil DIY pour la surveillance personnelle, sans certification NF-A2P ni monitoring 24h/24.
Dans la pratique, le cas d'usage le plus solide est la notification enrichie combinée au contexte local : votre téléphone vous indique qu'une personne avec un colis s'est approchée de votre porte, et vous pouvez vérifier le clip directement depuis l'interface Frigate dans Home Assistant — le tout sans que la moindre image n'ait quitté votre réseau local.
Frigate 0.17 avec Ollama représente une avancée concrète par rapport à la détection pure : l'écart entre "quelque chose a bougé" et "voici ce qui s'est passé" se réduit, sans dépendance cloud et sans abonnement. La configuration est plus simple que ce que les discussions techniques laissent parfois entendre — un bloc YAML de quatre lignes suffit pour démarrer.