2024.6 : Nous plonger dans le monde de l'IA en utilisant les LLM 🤖

Comme chaque premier mercredi du mois, une nouvelle version de Home Assistant Core est sortie. Voici la traduction de cette release note publiée sur le site de Home Assistant. Ce mois-ci, immersion dans le monde de l'IA générative.
2024.6 : Nous plonger dans le monde de l'IA en utilisant les LLM 🤖

Sommaire

Cet article est une traduction de l'annonce de la nouvelle version 2024.6 de HA Core, publié sur le site Home-Assistant.
2024.6: Dipping our toes in the world of AI using LLMs 🤖
Control your home with an AI powered Assist, conditional sections and cards for your dashboards, amazing new media player commands, and so much more! 🚀

Home Assistant Core 2024.6 ! 🎉

Bienvenue pour une nouvelle mise à jour importante de Home Assistant ! Remplie de nombreuses fonctionnalités excitantes, la mise à jour de mois-ci sera sans aucun doute l'une de celles à se souvenir.

Parlons d'IA. L'IA sera probablement un des sujets du siècle. Ces fameux LLM ouvrent effectivement un nouveau monde de possibilités. Lorsque nous avons introduit les agents conversationnels OpenAI et Google AI pour Assist, la capacité à contrôler votre maison avec ceux-ci était l'une des fonctionnalités des plus demandées.

Maintenant, voici les grandes nouvelles :

Eh bien, à partir d'aujourd'hui, vous pouvez contrôler votre maison avec une IA ! 🤖

Mais il y a bien plus de choses dans cette mise à jour. Des commandes de médias simplifiées, améliorations des tableaux de données, les entités tags (ou balises), les sections de blueprint repliables et bien plus encore !

Je suis personnellement des plus enthousiastes concernant les nouvelles fonctionnalités des tableaux de bord. Pouvoir facilement montrer des sections et des cartes en fonction de conditions est vraiment un changement majeur pour mes tableaux de bord.

Profitiez de la mise à jour !

../Frenck

Voix et Assist

Ce mois-ci, nous poursuivons notre travail d'amélioration des capacités prêtes à l'emploi d'Assist : Non seulement nous ajoutons des fonctionnalités que vous attendez d'un assistant vocal, comme le contrôle des médias, mais nous faisons un bond en avant avec de nouveaux développements passionnants et expérimentons l'IA ! 🤖

Nous aurons plus d'annonces à faire lors d'un livestream Voice - Chapitre 7 qui aura lieu le 26 juin ! Gardez l'œil ouvert ! 🎙️

Faire ses premiers pas dans le monde de l'IA grâce aux LLM

Le cerveau de notre assistant vocal est appelé "agent conversationnel". Il est chargé de comprendre l'intention derrière la commande vocale, d'effectuer une action et de générer une réponse.

Depuis le début de notre aventure vocale, nous vous avons permis de remplacer votre agent conversationnel par un agent basé sur les LLM. Cela a donné lieu à des expériences très amusantes, comme notre tristement célèbre interview de Mario.

Jusqu'à présent, ces deux mondes (notre propre agent conversationnel Home Assistant contrôlant votre maison et les agents conversationnels basés sur LLM) ne se chevauchaient pas ; il était impossible de contrôler votre maison à partir d'un agent conversationnel basé sur LLM.

Aujourd'hui, nous sommes heureux d'annoncer que nous comblons cette lacune !

Lors de la configuration d'un agent conversationnel basé sur le LLM, vous pouvez décider de laisser votre agent conversationnel contrôler votre maison d'une simple pression sur un bouton.

Configuration de l'intégration OpenAI, pour activer le contrôle de l'assistant domestique.

Grâce à ce nouveau paramètre, les agents conversationnels basés sur LLM peuvent exploiter notre système d'intention, qui alimente l'assistant. Ils ont également accès à toutes les entités exposées à l'assistant. Ainsi, vous contrôlez ce à quoi vos agents ont accès.

L'utilisation de notre système d'intention est géniale car elle fonctionne immédiatement. Les agents conversationnels basés sur LLM peuvent faire tout ce qu'Assist peut faire. L'avantage supplémentaire est qu'ils sont capables de raisonner au-delà des mots, ce dont Assist était incapable.

Par exemple, si vous avez une lumière appelée « Webcam light » exposée dans votre zone « bureau », vous pouvez donner des commandes directes telles que :

Allumer la lumière de la webcam du bureau.

Cela fonctionnait également avec Assist auparavant, mais vous pouvez également donner des commandes plus complexes, telles que :

Je vais à une réunion, peux-tu t'assurer que les gens voient mon visage ?

L'agent déterminera l'intention derrière les mots et appellera la bonne intention sur les entités exposées correspondantes.

Qu'en est-il des intentions personnalisées ?

Notre système d'intention a été conçu dès le départ pour être extensible. Les intégrations personnalisées et même les utilisateurs peuvent enregistrer leurs propres intentions. Cela vous permet de guider l'agent au-delà de ce qui est possible de base.

Voici un exemple d'intention personnalisée qui explique à l'agent ce qu'il doit faire lorsque je quitte mon domicile.

conversation:
 intents:
 LeaveHome:
 - "Leave home"
intent_script:
 LeaveHome:
 description: "Launch the leave home script. To be used when I am about to leave my home."
 action:
 - service: script.leave_home
 data: {}
 speech:
 text: "Done"

Avec cet extrait YAML ajouté à mon fichier configuration.yaml, si l'agent comprend que je quitte mon domicile, il ne désactivera pas ce qu'il pense que je veux, il exécutera mon script leave_home, ce qui est précisément ce que je veux qu'il fasse.

Cette version est disponible pour nos intégrations OpenAI et Google AI. Pour faciliter la prise en main des LLM, nous les avons mis à jour avec des paramètres de modèle recommandés qui établissent un bon équilibre entre la précision, la vitesse et le coût. Si vous les aviez déjà configurés, nous vous recommandons d'activer les paramètres recommandés et de vider les instructions.

Nos paramètres de modèle recommandés sont tout aussi performants pour les tâches d'assistant vocal. Google est 14 fois moins cher qu'OpenAI, mais OpenAI répond mieux aux questions non liées à la maison intelligente.
Nous préparons un article de blog avec une immersion complète dans la recherche vqui a visée à obtenir cette fonctionnalité (à venir bientôt) !

Les LLM locaux sont pris en charge via l'intégration d'Ollama depuis Home Assistant 2024.4. Ollama et les principaux modèles LLM open source ne sont pas prévus pour l'appel depuis des outils tiers, donc cela doit être construit à partir de zéro et n'a pu être fait à temps pour cette version. Nous collaborons avec NVIDIA pour que cela fonctionne - ils ont montré un prototype la semaine dernière.

Merci à tous ceux qui ont contribué à cette fonctionnalité ! @shulyaka, @tronikos, @allenporter, @synesthesiam, @jlpouffier, et @balloob !

Amélioration des commandes du lecteur multimédia

Nous avons introduit de nouvelles possibilités pour les lecteurs multimédias qui vous permettent d'en faire avec moins de paroles. Vous pouvez prononcer les commandes vocales suivantes pour contrôler les lecteurs multimédias situés dans la même zone que votre appareil Assist :

  • « Pause »
  • « Reprendre »
  • « Suivant »
  • « Régler le volume à 50% »

Jusqu'à présent, nous n'avons proposé que des phrases ciblant une entité spécifique par son nom. En raison de cette limitation, ces intentions n'étaient pas des plus conviviales, car les phrases étaient trop longues à dire : « Passer à la chanson suivante sur le téléviseur ».

Nous avons ajouté deux fonctions permettant d'obtenir des phrases les plus courtes possibles. La prise en compte du contexte permet à notre assistant vocal de connaître les appareils se trouvant dans la même zone que le satellite. Nous avons également créé une stratégie de correspondance intelligente qui permet de trouver le bon lecteur multimédia à cibler.

Par exemple, si vous dites « pause », l'assistant vocal ciblera automatiquement le lecteur multimédia en cours de lecture.

Veillez simplement à ce que votre assistant vocal soit affecté à une zone dotée d'un lecteur multimédia référencé, et le tour est joué.

Tableaux de bord

Le travail s'est poursuivi pour rendre la personnalisation et l'organisation des tableaux de bord plus facile et plus intuitive. Ce mois-ci, nous ajoutons une nouvelle fonctionnalité pour gérer les nouvelles sections et la personnalisation des arrière-plans, ce que tous les membres de votre foyer apprécieront.

Afficher les sections sous conditions

Nous avons ajouté une option de "visibilité" à la nouvelle fonctionnalité du tableau de bord des sections. Cette nouvelle fonctionnalité vous permet de masquer ou d'afficher une section en fonction de certaines conditions.

Par exemple, vous pouvez souhaiter n'afficher qu'une section sur mobile lorsque vous êtes à la maison. Ou encore, n'afficher l'interrupteur permettant d'éteindre les lumières de la cuisine que lorsque celles-ci sont allumées. Peut-être avez-vous une section qui ne concerne que vous ou votre partenaire et que vous voulez cacher aux enfants.

Exemple montrant comment rendre une section visible de manière conditionnelle dans le nouveau tableau de bord des sections.

Il utilise les mêmes conditions que celles des cartes de conditions, ce qui signifie que vous disposez d'une grande flexibilité dans ce que vous pouvez faire.

Contrôle de la visibilité des cartes

Attendez, nous ne nous sommes pas arrêtés là ! Cette même fonctionnalité de visibilité est maintenant disponible pour les cartes ! Ah oui ! 🚀

Exemple montrant une carte tuiles qui n'est visible que par une personne spécifique.

Vous pouvez désormais masquer ou afficher une carte en fonction de certaines conditions. Cela vous permet de créer des tableaux de bord plus dynamiques qui s'adaptent à vos besoins. La grande différence est que vous n'avez pas besoin d'une carte de conditions pour utiliser cette fonctionnalité. Elle est disponible directement dans la configuration de la carte dans l'onglet Visibilité.

Définir l'arrière-plan d'un tableau de bord

@Nezz a apporté une nouvelle fonctionnalité à notre interface de tableau de bord : la possibilité de définir une image de fond pour votre tableau de bord !

Auparavant, cela n'était possible qu'en éditant YAML, mais maintenant vous pouvez le faire directement depuis l'interface utilisateur. Mieux encore, vous pouvez télécharger une image directement depuis votre ordinateur ou fournir l'URL d'une image !

Photo : Body of Water Between Green Leaf Trees de Ian Turnell.

La même possibilité (télécharger des images directement depuis votre ordinateur) a également été ajoutée à la carte d'image ! Merci, @karwosts, pour celle-ci !

Amélioration des tableaux de données

Comme la version précédente (NDT : traduction HACF), cette version continue d'améliorer nos tableaux de données.

Lorsque nous avons introduit les regroupements de données (NDT : traduction HACF) dans les tableaux, vous avez demandé un moyen de réduire et de développer ces regroupements, ce que nous avons fait dans la dernière version ! Mais nous nous sommes rapidement rendus compte que ce n'était pas suffisant et que vous vouliez pouvoir réduire et développer tous les groupes à la fois. C'est donc ce que nous avons fait dans cette version !

Exemple de la nouvelle fonctionnalité de réduction et de développement de nos tableaux de données.

Nous avons également élargi le tableau de données qui est exposé à l'assistant vocal, ce pour permettre le regroupement par zone et par domaine.

En outre, les filtres que vous avez définis dans les tableaux de données sont désormais enregistrés dans votre session de navigation. Cela signifie que si vous quittez la page et que vous y revenez, vos filtres seront toujours présents. Chaque onglet ou fenêtre du navigateur a sa propre session, ce qui signifie que vous pouvez avoir différents filtres dans différents onglets ou fenêtres qui sont mémorisés pour cet onglet ou cette fenêtre spécifique.

Intégrations

Merci à notre communauté de suivre le rythme des nouvelles intégrations et des améliorations apportées aux intégrations existantes ! Vous êtes tous géniaux 🥰

Nouvelles intégrations

Nous accueillons les nouvelles intégrations suivantes dans cette version :

  • Airgradient, ajouté par @joostlek
    Fournit des données sur la qualité de l'air à partir de votre dispositif Airgradient.
  • APsystems, ajouté par @mawoka-myblock
    Surveillez vos micro-onduleurs APsystems EZ1.
  • Azure data explorer, ajouté par @kaareseras
    Transférer les événements de Home Assistant vers Azure Data Explorer pour analyse.
  • IMGW-PIB, ajouté par @bieniu
    Les données hydrologiques de l'Institut de météorologie et de gestion de l'eau - Institut national de recherche fournissent des informations sur les rivières et les réservoirs d'eau en Pologne.
  • Accélération intelligente du stockage, ajouté par @bdraco
    La bibliothèque ISAL (Intelligent Storage Acceleration Library) est utilisée pour accélérer le frontend de notre Home Assistant. Elle est automatiquement activée.
  • Monzo, ajouté par @JakeMartin-ICL
    Connectez votre compte bancaire Monzo à Home Assistant et obtenez des informations sur le solde de votre compte.

Améliorations notables des intégrations existantes

Il n'y a pas que les nouvelles intégrations qui sont ajoutées, les intégrations existantes sont également améliorées en permanence. Voici quelques-uns des changements notables apportés aux intégrations existantes :

  • Vous avez besoin d'un appareil sans fil capable de couvrir une plus grande distance, par exemple des kilomètres ? Un appareil LoRa pourrait être une bonne option. Grâce à @angelnu, nous avons maintenant une intégration fonctionnelle pour The Things Network.
  • @starkillerOG a ajouté la prise en charge des capteurs PIR et de batteries aux intégrations Reolink. Sympa !
  • L'intégration Teslemetry a été considérablement étendue, en ajoutant de nouvelles plateformes et fonctionnalités. Excellent travail @Bre77 !
  • Les modèles limités ("limited template") peuvent maintenant être utilisés pour désactiver les déclencheurs, les conditions et les actions. @farmio a pensé que cela pourrait être utile pour les créateurs de plans.
  • @Anrijs a ajouté la prise en charge des dispositifs de radiation Aranet à l'intégration Aranet. Super !
  • Vous pouvez maintenant régler la hauteur de coupe de votre robot tondeuse Husqvarna et il y a des interrupteurs pour qu'elle reste en dehors de certaines zones. Merci @Thomas55555 !
  • @thomaskistler a ajouté la prise en charge des capteurs de débit et de pluie à l'intégration Hydrawise. Génial !
  • L'intégration SwitchBot Cloud prend désormais en charge les compteurs SwitchBot Meter, MeterPlus et Outdoor Meter. Merci @laurence-presland!

Intégrations atteignant le niveau de qualité platine

Les intégrations suivantes ont atteint le niveau platine 🏆 sur notre échelle de qualité d'intégration. Ces intégrations sont les meilleures des meilleures et vous offrent une excellente expérience prête à l'emploi.

Félicitations à tous les développeurs qui ont travaillé sur ces intégrations !

Désormais disponible depuis l'interface utilisateur

Alors que la plupart des intégrations peuvent être configurées directement depuis l'interface utilisateur de Home Assistant, certaines n'étaient disponibles qu'en utilisant la configuration YAML. Nous déplaçons de plus en plus d'intégrations vers l'interface utilisateur, les rendant ainsi plus accessibles à tous pour les configurer et les utiliser.

Les intégrations suivantes sont maintenant disponibles via l'interface utilisateur de Home Assistant :

Adieu à ce qui suit

Les intégrations suivantes ne sont plus disponibles à partir de cette version :

  • Ambiclimate a été supprimé par @gjohansson-ST. Leurs services ont été résiliés à compter du 31 mars 2024.

Matter passe à la version 1.3

Etant dans les tous premiers, nous sommes fiers d'annoncer que Home Assistant est déjà basé sur la dernière spécification Matter : Matter 1.3 ! 😎 Cette version mise à jour du SDK Matter améliore la fiabilité et la compatibilité des appareils Matter.

Cette version améliore et étend également la prise en charge des appareils. Les purificateurs d'air et les climatiseurs individuels basés sur Matter sont désormais pris en charge, les thermostats et autres appareils climatiques ont eu d'importantes corrections autour des points de consigne, et les mises à jour du système de découverte fpont que nous pouvons représenter plus de données pour la plupart des appareils.

Quelques appareils Matter ont ce qu'on appelle des « clusters personnalisés ». Les clusters personnalisés sont une façon standardisée pour les fabricants d'inclure des données non standardisées. Nous voulons prendre en charge les clusters personnalisés, nous devons donc ajouter la prise en charge de chacun d'entre eux au cas par cas.

Cette version permet à Home Assistant d'être notifié lorsque les données d'un cluster personnalisé changent (au lieu de les demander à intervalles réguliers). Cela réduira le trafic réseau et améliorera les performances de votre réseau Matter, en particulier sur les grands réseaux Thread.

Autres changements notables

Il y a beaucoup plus d'améliorations dans cette version ; Voici quelques-uns des autres changements notables dans cette version :

  • Un code par défaut peut désormais être défini dans les paramètres de l'entité pour chaque entité de la centrale d'alarme. Beau travail @gjohansson-ST !
  • @Troon a ajouté un filtre à nos modèles : add (NDT : ajouter). Ce filtre permet d'ajouter une valeur similaire à la valeur multiply (NDT : multipliée) existante. Très bien !
  • Un nouveau bloc de construction d'action a été ajouté à nos automatisations et scripts par @surfingbytes et @frenck : Exécuter une séquence d'actions. Cela vous permet de regrouper plusieurs actions ou d'exécuter plusieurs séquences d'actions en parallèle.
  • Les capteurs peuvent être regroupés pour calculer, par exemple, leur somme ou leur valeur moyenne. Grâce à @CoRfr, il est maintenant possible de calculer l'écart-type d'un groupe de capteurs. Cool !

Désactiver l'expiration des jetons de connexion

Il y a quelques versions, nous avons introduit l'expiration automatique des identifiants de connexion. Si une session de connexion n'est pas utilisée pendant 90 jours, elle expire et est automatiquement nettoyée.

Certains d'entre vous ont indiqué qu'ils souhaitaient désactiver cette fonctionnalité pour diverses raisons. Par exemple, à cause d'une résidence secondaire que l'on ne visite pas régulièrement, ou à cause de parents qui ne peuvent venir que quelques fois par an. Nous avons ajouté une nouvelle option dans les paramètres du profil de l'utilisateur pour désactiver l'expiration de jetons de connexion spécifiques.

Exemple montrant cette option.

Vous trouverez ces jetons dans les paramètres de votre profil, sous l'onglet Sécurité.

Entités tags !

Home Assistant supporte les tags (ou balises) depuis longtemps. La fonction tags permettait d'utiliser des tags NFC ou des codes QR avec Home Assistant, par exemple, pour déclencher des automatisations.

Cependant, les tags n'étaient pas de vraies entités et n'étaient donc pas toujours logiques à utiliser. Avec cette version, @gjohansson-ST a changé cela !

Les tags sont désormais des entités normales et peuvent être utilisés dans des automatisations, des scripts, des modèles, et même être ajoutés à vos tableaux de bord !

Sections pliables pour les plans !

@karwosts fait à nouveau son apparition dans cette version avec une autre de ses améliorations : QoL (Quality of Live (NDT : Qualité de Vie)). Il a ajouté la possibilité d'ajouter des sections pliables aux plans. Cela permet aux créateurs de blueprints de regrouper les options de configuration ou de cacher les options avancées ou moins courantes par défaut.

Chaque section peut être comprimée ou décomprimée en cliquant sur l'en-tête de la section.

Merci @karwosts !

Pour en savoir plus sur les sections d'entrèe des Blueprints, consultez notre documentation.

Vous cherchez un Blueprint intéressant pour commencer ? Consultez le Blueprints Exchange sur notre forum communautaire ! Il y a d'excellents blueprints d'automatisation disponibles.

Breaking changes

Pour les “Breaking Changes” c’est par ici (non traduits)