L’IA fait de plus en plus partie du monde de la smarthome, la domotique Home Assistant ne cesse d’intégrer les LLM pour de plus en plus d’intelligence et de simplicité d’usage. Un cas d’usage simple et pourtant très pratique que j’aime faire de l’Intelligence Artificielle dans Home Assistant, c’est l’analyse des images de mes caméras. En effet, via une automatisation assez simple à configurer, on peut ainsi obtenir des notifications dynamiques, précises et très détaillées sur ce qu’il y a dans l’image d’une caméra. Avec un prompt bien construit on peut demander à Gemini de nous décrire en détail ce qui nous intéresse sur une image. C’est l’objet du guide d’aujourd’hui qui devrait vous donner pas mal d’idée ensuite.
Notez que j’utilise l’IA de Google “Gemini” dans ce guide sur le plan gratuit qui est suffisant pour l’usage que j’en ai. Mais rien n’empêche de passer sur un plan payant pour plus de requêtes et de puissance ou encore d’utiliser un autre LLM comme Chat GPT et d’autres. Voyons sans plus attendre comment demander à la domotique Home Assistant d’analyser une image de caméra et nous notifier avec le contenu de l’analyse.
Création de l’API Key Gemini
Rendez-vous sur la page de configuration dans votre compte Google AI Studio sur ce lien pour générer votre clé API Gemini via le bouton Créer une clé API en haut à droite.
Générez votre clé, vous devrez alors choisir un projet existant ou en créer un nouveau. De mon côté, j’ai déjà un projet Home Assistant utilisé pour d’autres fonctions Google, donc j’ai simplement généré la clé sur ce projet. Si vous n’en avez pas, créez simplement un nouveau projet “Home Assistant” par exemple.
Installation de l’intégration Gemini dans Home Assistant
Maintenant, rendez-vous dans le menu Paramètres / Appareils et service puis cliquez sur Ajouter une intégration.
Tapez Google dans le champ de recherche puis entrez dedans pour afficher la liste des services Google disponibles. Dans cette longue liste choisissez Google Generative AI pour démarrer la configuration.
Simple et rapide, la configuration consiste à coller la clé API générée précédemment dans le champ.
Et voilà votre intégration opérationnelle, votre système domotique va maintenant pouvoir demander à Gemini de l’épauler.
Utilisation de Gemini pour décrire les images des caméras
Maintenant que Gemini est lié à Home Assistant on peut le solliciter sur plusieurs points. Un des usages que j’aime particulièrement c’est dans les alertes et notifications liées à des images de caméra. Il faut alors avoir une ou plusieurs caméras connectées à Home Assistant pour qu’il puisse les exploiter. Si c’est le cas vous avez déjà ce qu’il faut. Si ce n’est pas encore le cas, je vous recommande les caméras Reolink qui sont particulièrement qualitatives et avec des tarifs intéressants. De plus Reolink dispose d’un large gamme de caméra PoE, encore plus simple à déployer dans la maison.
On va également aller créer un nouveau helper qui va nous être utile pour stocker la réponse de Gemini et la transférer facilement vers une notification.
1. Pour cela, c’est très simple, la configuration des helpers se trouve sous Paramètres / Appareils puis dans le bandeau du haut, rendez-vous sous Entrées.
2. On va alors créer une nouvelle entrée texte.
3. Pour les détails de la configuration on laisse le mode sur texte et on définit une longueur maximale du texte à 200 caractères, puis on clique sur créer.
4. On bascule maintenant sous la page des automatisations sous Paramètres / Automatisations et scènes et on clique sur créer une automatisation.
5. Pour commencer la séquence de programmation de notre automatisation, on va prendre un instantané de la caméra. Ici, je veux savoir si mes garages sont fermés, je prends donc une capture de la caméra qui surveille mes garage pour la transmettre à Gemini en veillant bien à indiquer un chemin et un nom pour le fichier. Je vous recommande d’utiliser un chemin vers /config/www/media/ que vous complèterez avec le nom de la capture snap_garages.jpg dans mon cas.
6. On ajoute à la séquence une pause de 5 secondes pour laisser le temps au système de prendre et enregistrer la capture avant de pouvoir la traiter.
7. On en vient au plus important, la partie requête vers Gemini. Pour cela, on ajoute une action Google Generative AI “Generate content” et on indique un prompt en fonction de ce que l’on veut que Gemini analyse sur l’image.
Pour rappel, mon but est d’obtenir l’état de mes garages, mon prompt est donc orienté en ce sens en précisant que si une porte est ouverte, me donner plus de détails.
On n’oublie pas bien sûr d’ajouter le chemin vers la capture à transmettre avec le prompt.
Et enfin on définit une variable de réponse qui servira à stocker la réponse du LLM.
8. Nous allons maintenant ajouter un bloc action “Saisie de texte” qui va nous permettre de déverser le contenu de la réponse dans la variable “gemini_reponse” dans le helper texte que nous avons créé plus haut.
Pour cela on édite le bloc en YAML et on colle le bloc de code suivant en veillant à modifier les noms des entités avec les vôtres.
action: input_text.set_value
metadata: {}
data:
value: "{{gemini_reponse.text}}"
target:
entity_id: input_text.gemini_reponse
9. Puis pour finir, on configure la notification à envoyer. En fonction de votre canal favori, mail, push ou encore Telegram tout est possible.
Dans le cas d’une notification Push via l’application companion par exemple, voici les détails. On importe le contenu de l’entité texte que nous avons créée pour l’afficher dans notre message.
action: notify.notify
metadata: {}
data:
message: "{{ states('input_text.gemini_reponse') }}"
Il ne reste plus qu’à tester garage ouvert et garage fermé pour voir ce que ce la donne. Le résultat est très bon. Le prompt pourtant simple permet à Gemini de détecter correctement si un garage est ouvert, me dire si c’est le cas et me donner des détails en plus comme le garage ouvert et même ce qu’il voit dedans comme la voiture. Dans le cas où tout est fermé, il l’indique aussi sans souci.
Le fait d’avoir créé une entrée texte nous permet de voir facilement de contenu de la dernière réponse de Gemini via le menu développeur.
Pleins de cas d’usages pour des notifications domotiques très intelligentes et dynamiques
Ce ne sont pas les cas qui manquent une fois que l’on a intégré la logique et la séquence. On peut alors adapter et décliner cette automatisation à tout ce que l’on veut. Détail de la personne qui se présente devant la porte, météo, les poubelles sont-elles sorties ?, les lumières sont-elles restées allumées ? Les déclencheurs sont presque illimités donc vous pouvez faire des tonnes de choses avec cette fonction simple mais pourtant très intéressante.
Par exemple ici, je demande à l’IA de me dire si elle trouve le chien sur les caméras et me dire ce qu’il fait. Et comme on le voit, l’analyse est excellente et la réponse très bien détaillée.
IA de quoi s’amuser avec l’intelligence artificielle dans la domotique
Cela fait un moment que je joue avec l’IA dans la domotique et je n’avais encore pas pris le temps de vous partager. Ce premier guide IA donne un bon point de départ pour commencer à jouer, nous aurons l’occasion d’explorer d’autres cas d’usages intéressants dans d’autres guides.
Add Comment