Comment j’utilise Home Assistant en 2025
(vpetersson.com)- En 7 ans d’utilisation de Home Assistant, l’installation est passée d’une petite automatisation centrée sur un Raspberry Pi et SQLite à une configuration de plus de 100 appareils basée sur une VM de serveur domestique, MySQL et InfluxDB
- Dans la nouvelle maison, avec davantage de pièces et d’éclairages, presque toutes les ampoules sont connectées à Home Assistant, et tout l’éclairage intelligent a été uniformisé autour de produits IKEA
- L’automatisation de l’éclairage est passée de Flux à Adaptive Lighting via HACS pour un contrôle plus fin de la température de couleur et de la luminosité selon l’heure, mais la configuration reste lourde car il faut lister chaque entité
lightmanuellement - Cursor aide, via un parseur personnalisé qui analyse les fonctions d’éclairage dans l’API Home Assistant et génère du YAML, à réduire le travail de configuration répétitif et le temps de débogage
- La prochaine étape consiste à installer des TRV intelligents Zigbee sur les radiateurs et à utiliser les données de température de Nest pour piloter le chauffage pièce par pièce avec Home Assistant
D’une petite automatisation d’appartement à une VM sur serveur domestique
- L’utilisation de Home Assistant a commencé dans un petit appartement, au niveau d’un simple regroupement des éclairages avec IKEA Smart Hub
- Une fois familiarisé avec l’automatisation, l’auteur a commencé à fabriquer lui-même du matériel personnalisé comme des capteurs de température et d’humidité
- Avec l’augmentation du nombre d’appareils et d’automatisations, l’exploitation sur Raspberry Pi a approché ses limites
- La base de données par défaut, SQLite, devenait un goulet d’étranglement avec de nombreuses données de capteurs
- Le matériel dédié à Home Assistant n’ayant pas été testé, aucun avis n’est donné à son sujet
- La configuration actuelle a été migrée vers une VM sur le serveur domestique
- La base de données principale de Home Assistant a été migrée vers MySQL
- Un serveur InfluxDB séparé est utilisé pour les métriques longue durée et l’historique
- La configuration du serveur domestique est détaillée dans un autre article
Passage à plus de 100 appareils dans la nouvelle maison
- Après le déménagement, le nombre de pièces, de luminaires et d’appareils a fortement augmenté
- À l’heure actuelle, plus de 100 appareils sont connectés à Home Assistant
- Tout l’éclairage intelligent est composé de produits IKEA, et presque toutes les ampoules de la maison sont intégrées à Home Assistant
Migration de Flux vers Adaptive Lighting
- La fonction centrale de l’automatisation de l’éclairage est désormais Adaptive Lighting
- Auparavant, l’auteur utilisait Flux, une ancienne méthode qui synchronise l’éclairage selon l’heure de la journée
- La configuration associée est décrite dans le guide Home Assistant, Flux, sensors
- La migration s’est faite vers l’intégration Adaptive Lighting fournie via HACS (Home Assistant Community Store)
- Cette nouvelle intégration permet de contrôler plus finement la température de couleur et la luminosité au fil de la journée
- Le point le plus pénible dans la configuration est que ni Flux ni Adaptive Lighting ne peuvent cibler directement un light group
- Même lorsqu’il s’agit de gérer ensemble des dizaines d’éclairages, il faut spécifier chaque entité
lightdans le fichier de configuration - Il aurait été bien plus pratique de simplement indiquer un groupe et de laisser le système gérer automatiquement les lumières qu’il contient
- Même lorsqu’il s’agit de gérer ensemble des dizaines d’éclairages, il faut spécifier chaque entité
- Même si toutes les ampoules sont des produits IKEA, les fonctions prises en charge diffèrent d’un modèle à l’autre
- Pour que Adaptive Lighting fonctionne correctement, des réglages distincts sont nécessaires selon la catégorie d’ampoule
- L’objectif est une transition automatique de température de couleur avec un jaune chaud le matin et le soir, puis un blanc plus froid tirant vers le bleu en pleine journée
Réduire le travail de configuration YAML avec Cursor
- Le grand changement de cette année a été l’utilisation de Cursor pour gérer les tâches répétitives et fastidieuses dans la configuration YAML de Home Assistant
- Faute de temps pour maîtriser tous les détails du DSL et des fichiers de configuration de Home Assistant, l’auteur a utilisé un assistant de code IA pour ce travail
- Le premier outil créé a été un script personnalisé qui parse tous les éclairages, analyse les types d’ampoules et leurs fonctions, et affiche des informations de débogage
- Ce script se connecte à l’API Home Assistant pour classer les lumières par fonctionnalités
- Il collecte les entités commençant par
light. - Il vérifie l’état actuel, la luminosité, la température de couleur, les modes de couleur pris en charge et les fonctions supportées
- Il affiche des avertissements lorsque la configuration Adaptive Lighting ne correspond pas aux capacités de l’éclairage
- Il affiche la luminosité minimale, maximale et moyenne des lumières allumées, ainsi qu’une liste par type d’éclairage
- Il collecte les entités commençant par
- Le flux de travail se résume en trois étapes
- Exécuter le parseur personnalisé dans l’environnement Home Assistant pour générer une liste des ampoules et de leurs fonctions
- Fournir à Cursor, en mode agent ou équivalent, la sortie produite ainsi que la configuration existante
- Laisser Cursor générer le YAML pour le nouveau système Adaptive Lighting
- En cas de problème, le débogage est aussi facilité en collant les logs Home Assistant dans Cursor et en lui demandant de corriger les erreurs
Réglages Adaptive Lighting selon les ampoules IKEA
- Après de nombreux tests, les réglages Adaptive Lighting ont été optimisés selon les types d’ampoules IKEA
-
Dimmable white spectrum
- Cela concerne l’ampoule LED bulb GU10 345 lumen, smart/wireless dimmable white spectrum
- Exemple de réglages :
min_brightness: 50,max_brightness: 100,min_color_temp: 2202,max_color_temp: 4000 - S’y ajoutent
sleep_brightness: 1,sleep_color_temp: 2202,transition: 45,interval: 90,initial_transition: 1,prefer_rgb_color: false
-
Dimmable color and white spectrum
- Cela concerne l’ampoule LED bulb E27 806 lumen, wireless dimmable color and white spectrum/globe opal white
- Exemple de réglages :
min_brightness: 70,max_brightness: 100,min_color_temp: 2000,max_color_temp: 6535 - S’y ajoutent
sleep_brightness: 1,sleep_color_temp: 2000,transition: 45,interval: 90,initial_transition: 1,prefer_rgb_color: false
-
Dimmable warm white
- Cela concerne l’ampoule standard LED bulb GU10 345 lumen, smart/wireless dimmable warm white
- Sans réglage de température de couleur, l’accent est mis sur la luminosité avec
min_brightness: 50,max_brightness: 100,sleep_brightness: 1 - S’y ajoutent
transition: 45,interval: 90,initial_transition: 1
Prochaine étape : les TRV intelligents Zigbee
- Une fois l’automatisation de l’éclairage stabilisée, le prochain projet consiste à équiper tous les radiateurs de TRV intelligents basés sur Zigbee
- L’objectif est de lire les données de température du thermostat central Nest pour maintenir chaque pièce à la bonne température
- Dans les anciennes maisons britanniques, le contrôle thermique manque souvent de finesse, et un réglage radiateur par radiateur peut améliorer le confort et l’efficacité
- Des TRV ont déjà été achetés, mais ne sont pas encore configurés
- La configuration prévue est la suivante
- Appairer les TRV au réseau Zigbee
- Récupérer les données de température depuis le thermostat Nest
- Créer des automatisations Home Assistant pour ouvrir ou fermer les vannes des radiateurs selon la température cible de chaque pièce
- Le résultat attendu est d’atténuer un problème courant des maisons britanniques, où certaines pièces sont trop chaudes tandis que d’autres ne sont pas suffisamment chauffées
1 commentaires
Avis Hacker News
Je suis le fondateur de Home Assistant. Si vous avez des questions sur le projet ou sur Open Home Foundation, n’hésitez pas
Open Home Foundation possède désormais Home Assistant, ESPHome, etc.
Les releases mensuelles sont une bonne chose, mais quand il y a des changements cassants à chaque fois, cela devient lourd. Limiter les changements cassants à une ou deux fois par an rendrait sans doute le suivi plus facile pour les utilisateurs
J’essaie de lire la liste des changements cassants à chaque fois, mais il m’arrive de ne pas toucher à HA pendant plusieurs mois. Quand je me reconnecte ensuite, beaucoup de changements à examiner se sont accumulés, ce qui me pousse à repousser la mise à niveau et aggrave le problème. S’il était clair qu’une mise à niveau ne contient pas de changement cassant, il serait plus facile de rester à jour
Ces grandes entreprises de collecte de données ne doivent pas apprécier cette technologie ; je me demande donc combien de pressions réelles vous avez subies, par exemple des mises en demeure de cesser et s’abstenir, ou de cas contre lesquels vous avez dû vous défendre
Ce serait bien que, lorsqu’on ajoute un nouvel appareil et qu’on décrit son emplacement et son rôle, HA l’intègre automatiquement aux automatisations existantes ou le combine avec d’autres capteurs. On pourrait peut-être utiliser un LLM pour cela
Par exemple, si je dis que j’ai installé un nouveau capteur de fuite dans la buanderie, il pourrait créer une automatisation d’alerte en cas de fuite ; si j’ajoute un capteur de température dans le salon, il pourrait le fusionner avec d’autres capteurs pour mettre à jour la température moyenne du salon
Un projet appelé Bermuda[0] déclenche des événements d’entrée et de sortie d’une personne dans une zone à partir d’appareils Bluetooth, et lors de mes tests avec un téléphone suivi via des interrupteurs Shelly, cela fonctionne bien. En revanche, il est difficile de trouver comment déclencher de vraies actions à partir de ces événements
Ce serait encore mieux si, au lieu de créer des automatisations une par une pour chaque zone, on pouvait dire quelque chose comme « après le coucher du soleil, si quelqu’un entre, allume les lumières de cette zone à 20 % »
[0] https://github.com/agittins/bermuda
Il y a environ 10 ans, j’ai construit une maison basée sur KNX, et j’en suis encore plutôt satisfait
Mettre des interrupteurs d’éclairage dans un smartphone ne rend pas la maison plus intelligente ; en général, cela la rend seulement plus compliquée
Les automatisations qui ont eu le plus de valeur sont les stores automatiques, l’éclairage pièce par pièce qui s’allume en cas de mouvement lorsqu’il fait sombre, et le mode nuit. Les stores se baissent quand le soleil est trop fort, se baissent quand il fait sombre dehors, et remontent quand le vent est trop fort. Grâce à cela, je n’ai pas à craindre de rentrer du travail dans un salon surchauffé et je n’ai pas eu besoin de climatisation, tout en pouvant laisser entrer automatiquement la lumière directe du soleil en hiver et au printemps
Il y a aussi des automatisations plus gadget. Dans une pièce vide, les stores se ferment complètement ; quand quelqu’un est présent, ils s’inclinent à moitié et suivent l’angle du soleil afin de maximiser la lumière naturelle sans lumière directe. Quand la TV s’allume, les stores à l’arrière qui provoqueraient des reflets descendent ; quand la porte de la terrasse s’ouvre, les stores s’ouvrent et les lumières intérieures s’éteignent pour attirer moins de moustiques. Le capteur de mouvement de la douche met la ventilation à fond, certaines prises s’allument et s’éteignent pour les décorations de Noël, et je journalise aussi les appareils, l’eau, la ventilation et le chauffage
J’aime le fait que les fonctions bas niveau de KNX fonctionnent sans hub central, mais les fonctions haut niveau nécessitent une intelligence supplémentaire, donc je prévois de passer à Home Assistant cette année
Il me semble qu’avec de simples capteurs de mouvement autonomes, on pourrait déjà réaliser une grande partie d’une smart home, à moindre coût et sans dépendance au Wi‑Fi
J’aime vraiment beaucoup Home Assistant, mais je le vois plutôt comme un hobby très amusant
Entre la maintenance, la configuration des dashboards et l’intégration de standards de réseau local sans fil, cela devient très vite technique. Malgré tout, à force de l’utiliser, j’ai fini par privilégier les appareils domestiques disposant d’une plateforme de gestion ouverte
J’ai toujours l’impression qu’en achetant simplement le bon matériel de geek, on devrait pouvoir garder sa smart home hors du cloud tout en créant de bonnes automatisations
À mon avis, le véritable objectif de HA et de son écosystème est de promouvoir les plateformes de gestion ouvertes. Un peu comme Matter pousse l’adoption d’IPv6 côté microcontrôleurs
Chaque année, en fin d’année, j’achète des appareils bon marché sur AliExpress pour les démonter, et en 2024, j’ai vu pour la première fois des fabricants presque se vanter d’étiqueter les broches GPIO et d’exposer l’interface de programmation. Si on veut, on peut y installer son propre firmware, et ils mettent en avant la prise en charge native de WLED. C’est nouveau de voir des fabricants commencer réellement à s’aligner sur le mouvement logiciel libre et open source, DIY, et « je n’utilise pas votre cloud, j’ai mon propre cloud chez moi »
J’ai aujourd’hui des centaines d’appareils connectés, mais la seule intégration cloud que j’utilise est Spotify, pour des raisons évidentes. Quand j’achète un appareil connecté, je vérifie soigneusement qu’il peut fonctionner complètement hors ligne ; s’il est intelligent mais pas exclusivement hors ligne, je me limite à un appareil « bête »
Par exemple, mon nouveau lave-vaisselle avait des fonctions intelligentes en cas de connexion au Wi‑Fi, mais j’ai trouvé le menu de maintenance pour désactiver complètement l’interface réseau, et je l’utilise désormais simplement comme un lave-vaisselle ordinaire. Et cela me convient très bien
Cela permet une intégration naturelle avec Siri, donc un contrôle facile pour les personnes non techniques, tout en conservant des automatisations plus puissantes
Par exemple, la détection de présence à la maison fonctionne en réalité comme une automatisation HomeKit qui inverse un capteur binaire exposé par HA
Le principe le plus important est de garder « l’intelligence » comme une fonctionnalité supplémentaire, sans changer la façon habituelle d’interagir avec la maison
C’est pour préserver l’acceptation par le conjoint et éviter de dérouter les visiteurs, en particulier les personnes âgées comme les parents
Concrètement, les interrupteurs doivent fonctionner comme prévu, il doit être possible de régler la température sur les TRV, et les fonctions de base doivent continuer à fonctionner même si l’instance HA tombe en panne
C’est pourquoi certaines pièces ont des détecteurs de mouvement qui allument l’éclairage principal ou une petite lampe après minuit, mais l’interrupteur allume et éteint toujours l’éclairage principal. S’il n’y a pas de mouvement pendant X minutes, toutes les lumières s’éteignent
Si ma mère a froid le soir, il lui suffit de tourner le cadran comme elle l’a toujours fait. Pas besoin d’appli, ni de boutons tactiles sur le TRV, ni de « hey Google… non sori ? Siri ? fiston, aide-moi ! ». L’intelligence se trouve dans le planning global et dans le détecteur de mouvement qui remet le TRV sur le planning si aucun mouvement n’est détecté pendant 15 minutes après un réglage manuel
C’est donc pour cela que je mets des relais derrière les interrupteurs plutôt que des ampoules connectées, et que je ne les utilise pas en mode découplé. Les TRV ont un cadran, donc cette approche est naturellement possible
Certaines reviennent à leur dernier état quand le courant revient, d’autres s’allument dans un état d’éclairage basique et ordinaire. Le fait de pouvoir modifier facilement ces options, ainsi que des réglages comme rester éteintes au retour du courant, me pousse à continuer d’acheter des ampoules connectées plus chères. Par exemple, cela évite que la lumière de la chambre s’allume « en flash » après une coupure de courant nocturne et me réveille
Même si l’ampoule ne le prend pas correctement en charge, si le hub détecte que la lampe a disparu du réseau puis est revenue, on peut en partie imiter par logiciel un état par défaut utile
Je suis en train de réduire ce niveau d’automatisation à la maison
Au maximum, j’envisage seulement une sorte de panneau connecté pour allumer, éteindre et faire varier l’intensité de simples ampoules LED non connectées dans toute la pièce de vie principale
Aujourd’hui, j’ai 14 ampoules GU10 LIFX qui étaient chères à l’époque, mais elles sont devenues difficiles à trouver, et depuis que la configuration Wi‑Fi a changé, elles ne fonctionnent plus vraiment correctement autrement qu’en les allumant et les éteignant avec l’interrupteur mural. Parce que je n’avais pas envie de réinitialiser manuellement les ampoules, de les démonter, puis de les réenregistrer lentement et péniblement sur le Wi‑Fi. Une bonne partie de cette souffrance est de ma faute : j’aurais dû utiliser dès le départ un SSID dédié et immuable pour cette infrastructure
Pendant que les ampoules connectées sont devenues des ampoules idiotes, je n’ai presque jamais eu besoin de baisser la luminosité, de changer la couleur ou d’utiliser les fonctions connectées. Au final, cela semble être une bonne idée, mais je crois avoir trop intellectualisé une tâche aussi simple que « allumer la lumière »
Par exemple, les ampoules connectées sont stupides parce qu’elles cassent le moyen de contrôle le plus évident et le plus correct dans une maison : l’interrupteur. Les interrupteurs connectés sont une bien meilleure idée, car ils reconnaissent la réalité : dans la plupart des pièces, le meilleur moment pour allumer la lumière est quand on entre et qu’on appuie sur l’interrupteur
La supervision peut être vraiment utile, et les programmations discrètes aussi, mais les gens vont beaucoup trop loin, de façon absurde
Je ne veux pas de conditions
else, et je ne veux pas non plus que la lumière s’allume quand je fais x ou y. Les capteurs sont bon marché et abondants sur AliExpress, et il suffit de quelque chose comme un esp32-s3La maison connectée devrait prédire dynamiquement mes besoins au lieu de fonctionner selon des conditions prédéfinies, et elle devrait être autre chose que « mets le salon en rouge »
L’ancien 2,4 GHz serait alors devenu celui de l’IoT
C’est dommage que tant d’appareils « connectés » exigent de communiquer avec un serveur chinois, ou avec un serveur quelconque hors de mon LAN, juste pour allumer une lumière
Le matériel à 99 $ de Home Assistant fonctionne très bien
Certains appareils sont bavards, mais deux lignes de configuration au démarrage permettent de filtrer la plupart de ce bruit sans perdre de fonctionnalités utiles
Il serait surprenant que les données générées dans un salon suffisent à submerger SQLite sur eMMC
Home Assistant est l’un des rares produits récents dont la configuration m’a procuré du plaisir. Le nombre d’appareils étranges qu’il a découverts sur le réseau était impressionnant, et le nombre de ceux qui ont ensuite disparu quand plusieurs fournisseurs cloud ont commencé à verrouiller leurs services l’était encore plus. Cela a clairement influencé mes futurs choix d’achat et m’a poussé à simplifier
Je me demande si SQLite ne tient vraiment pas le coup. Le problème semble plutôt venir de la configuration ou du code que de la base de données elle-même
Même un vieux Raspberry devrait pouvoir gérer plusieurs milliers d’écritures par seconde
Pour cet usage, il serait probablement possible de créer une file d’écriture propre à chaque type de capteur et de faire des insertions par lots
J’ai du mal à imaginer qu’un seul foyer puisse submerger SQLite[0]. Sauf s’il y a des milliers d’appareils essayant d’écrire en même temps et qu’ils ne peuvent pas attendre leur tour dans une file, cela me paraît peu probable
[0] https://sqlite.org/whentouse.html
À l’époque, c’était sur un Pi 3 ; aujourd’hui ce serait peut-être mieux, et je sais qu’il y a eu des améliorations de performances de SQLite. Mais dans mon cas, déplacer les données de séries temporelles vers Influx et la base de données vers MySQL a réglé le problème
Et même la meilleure carte SD finit par lâcher avec autant d’écritures
Peut-être que le problème était que la base de données se trouvait sur une carte microSD très lente
Même si Home Assistant est excellent et s’améliore sans cesse, on finit par gérer 10, 20, 50 appareils ou plus, connectés au réseau et susceptibles de recevoir des mises à jour.
Qu’il s’agisse de Wi‑Fi ou de Zigbee, chacun a ses propres problèmes, ils peuvent interférer entre eux ou tout simplement tomber en panne.
J’aime les possibilités offertes, c’est souvent rassurant et ça en jette en démo, mais comme toute infrastructure personnelle, avec les coûts irrécupérables, la nausée et les regrets finissent par augmenter.
WebAssembly semble être une possibilité assez raisonnable pour créer des plugins qui ne nécessitent pas de maintenance continue.
HA m’intéresse, mais pour l’instant j’utilise HomeKit et Homebridge, et je n’y touche presque pas entre deux ajouts ou reconfigurations d’appareils.
J’ai suivi à peu près le même chemin que l’auteur original il y a quelques années, et c’est agréable de voir qu’il est arrivé à la même conclusion.
Au lieu d’une VM, j’ai acheté du matériel dédié, car je voulais le garder totalement indépendant de mon serveur domestique qui exécute des tâches non critiques. J’ai acheté un mini PC Minisforum ; pour HA, il est largement surdimensionné en performances, RAM et stockage, mais c’est ce que j’ai choisi.
Avec plus de 100 appareils, je suis passé à MariaDB et Influx, et j’ai aussi réglé le chauffage il y a quelques années. Dans chaque pièce de la maison, j’ai un capteur de température BLE Switchbot Meter Plus, et chaque radiateur est équipé d’un TRV Z-Wave. Je regroupe les valeurs par étage, haut et bas, selon jour/nuit, avec une exception pour le bureau à domicile, puis je calcule une sorte de température moyenne.
Avec un script qui crée une hystérésis, si la température moyenne est inférieure à la consigne -0,2 °C, tout le chauffage s’allume ; si elle est supérieure à la consigne +0,3 °C, il s’éteint. Chaque pièce a sa propre température de consigne, et si la température de la pièce dépasse cette valeur, le TRV se ferme ; si elle redescend, il se rouvre. Il y a aussi une légère hystérésis à ce niveau.
Il existe aussi des automatisations de modes jour/nuit/absence qui appliquent différentes températures de consigne et activations/désactivations par pièce selon la situation.
Pour l’éclairage, j’utilise Circadian Lighting, qui prend en charge les groupes de lampes : il suffit d’indiquer le groupe dans le yaml pour qu’il gère tout le groupe. Certaines fonctions du plugin Adaptive Lighting peuvent manquer, mais je n’ai pas eu à me soucier des différences de types d’ampoules ; c’est 80 % de Hue, avec un mélange d’ampoules blanches et couleur IKEA.
Je ne sais pas pourquoi et, honnêtement, je n’y ai pas passé beaucoup de temps. L’idée pour le chauffage a l’air bonne, je vais y jeter un œil.
Je voulais utiliser HA uniquement pour m’affranchir d’applications de maison connectée limitées ou mauvaises, mais après l’avoir utilisé pour quelques usages à la maison pendant environ six mois, j’en suis très satisfait.
Cette année, je pense passer à une vraie extension avec des interrupteurs, capteurs, etc.
Le projet dans lequel je vais aller le plus loin consiste à câbler des ventilateurs PWM sensibles à la température dans un meuble IKEA qui contient du matériel technique — consoles de jeu, convertisseurs de tension, modem, routeur, machine HA, imprimante laser, etc. — afin d’éviter la surchauffe. J’ai hâte de m’y mettre.
À côté de ça, j’ai aussi des plans comme des capteurs sans fil d’arrosage des plantes, la gestion des stores et rideaux, et la gestion de la ventilation basée sur les particules fines, les COV et le CO2.
Les serrures connectées, caméras de sonnette et caméras classiques m’attirent beaucoup moins. C’est un peu flippant, même si j’en comprends l’attrait.
J’ai configuré la caméra de sonnette pour qu’elle annonce par TTS combien de personnes s’approchent avant même qu’elles arrivent près de la porte et appuient sur la sonnette. C’est utile pour les livreurs qui déposent un colis devant la porte sans sonner, et aussi pour la sécurité en général.