Home Assistant en 20 questions-réponses

La réponse à vos questions (FAQ) pour un bon aperçu de ce qu’est la solution domotique Home Assistant, ses usages, ses possibilités et son fonctionnement.
Home Assistant en 20 questions-réponses

1. C'est quoi Home Assistant ?

Home Assistant est une plateforme open-source de domotique développée en Python qui permet de contrôler et d'automatiser différents appareils et services dans une maison intelligente.

Voici quelques éléments différenciateurs clés :

  1. Contrôle centralisé : Home Assistant vous permet de contrôler tous vos appareils connectés à partir d'une seule interface utilisateur. Cela inclut les lumières, les thermostats, les serrures de porte, les caméras, les capteurs, et bien plus encore.
  2. Interface utilisateur : ultra-personnalisable et très riche. La qualité de l'interface est probablement ce qui séduit le plus les adeptes de la solution.
  3. Automatisation : Vous pouvez créer des automatisations pour que vos appareils réagissent à certaines conditions. Par exemple, vous pouvez configurer vos lumières pour qu'elles s'allument automatiquement au coucher du soleil, ou que votre thermostat ajuste la température lorsque vous quittez la maison.
  4. Intégration : véritable "couteau suisse", Home Assistant prend en charge une gamme juste énorme d'appareils et de services de différentes marques. Cela signifie que vous pouvez intégrer des appareils qui ne fonctionneraient normalement pas ensemble.
  5. Pérennité : Home Assistant est la plateforme la plus utilisée au monde, supportée par un éditeur en forte croissance (Nabu Casa) et, grâce à son modèle open source, est adossée à une grosse communauté de développeurs.
  6. Sécurité et confidentialité : Comme Home Assistant peut être auto-hébergé, vos données peuvent rester sur votre réseau local, offrant ainsi une plus grande sécurité et confidentialité par rapport aux solutions basées sur le cloud. Vous pourrez également choisir la méthode d'accès qui vous semblera la plus appropriée. Home Assistant permet également de créer plusieurs profils utilisateurs et définir des droits.

2. Et la domotique, ça sert à quoi ?

La domotique est l'ensemble des technologies de l'information et de la communication utilisées dans les domiciles pour améliorer le confort, la sécurité, la gestion de l'énergie et la communication.

En général, on classe les usages en 5 rubriques :

  1. Confort : automatisation et contrôle à distance de divers équipements de la maison, comme l'éclairage, le chauffage, la climatisation, les volets roulants, les systèmes de son et de divertissement, etc. Cela permet de créer des scénarios personnalisés en fonction des habitudes et des préférences des habitants.
  2. Sécurité : intégration de dispositifs de sécurité tels que des caméras de surveillance, des détecteurs de mouvement, des serrures connectées, des détecteurs de fumée et de monoxyde de carbone, etc. Ces dispositifs peuvent être contrôlés à distance et peuvent envoyer des alertes en cas d'incident.
  3. Energie et ressources : gestion plus efficace de la consommation d'énergie de la maison, mais aussi de l'eau. Par exemple, elle peut ajuster automatiquement le chauffage et la climatisation en fonction de la présence des habitants, ou éteindre les lumières et les appareils électroniques lorsqu'ils ne sont pas utilisés.
  4. Assistance aux personnes âgées ou handicapées : Aide aux personnes âgées ou handicapées à vivre de manière plus autonome en automatisant certaines tâches et en fournissant des fonctionnalités d'assistance, comme la détection de chutes ou l'envoi de rappels de médicaments.
  5. Communication : permet aux différents appareils et systèmes de la maison de communiquer entre eux et avec les habitants, ce qui facilite la gestion et le contrôle de la maison.

En résumé, la domotique vise à améliorer la qualité de vie à la maison en rendant les maisons plus confortables, plus sûres, plus efficaces sur le plan énergétique et plus faciles à gérer.

3. Qui développe Home Assistant ?

Home Assistant est développé par une communauté mondiale de bénévoles passionnés, ainsi que par une équipe centrale de développeurs de la société américaine Nabu Casa.

Le projet a été initialement créé par Paulus Schoutsen et Balloob en 2013. Depuis lors, il a évolué pour devenir l'un des projets de domotique open-source le plus populaire et le plus actif au monde.

La communauté Home Assistant joue un rôle clé dans son développement, contribuant à la fois au code et aux idées pour de nouvelles fonctionnalités et améliorations.

La philosophie de Home Assistant est d'être un projet open-source, ce qui signifie que tout le monde est libre de contribuer au code, corriger des failles, de suggérer de nouvelles fonctionnalités et de participer à la communauté.

4. Est ce que Home Assistant est gratuit ?

Oui, Home Assistant est totalement gratuit et sans publicités : vous pouvez télécharger l'application pour construire votre serveur domotique et l'installer sur un grand nombre de plateformes. Il existe également une application mobile gratuite pour mobile et tablette, disponible gratuitement sur les magasins Android et iOS.

Cependant, vous pouvez prendre une souscription optionnelle de l'ordre de 75 euros auprès de la société Nabu Casa. Cette souscription offre une solution clé en main et sécurisée d'accès distant, mais aussi d'autres fonctions comme l'intégration plus facile des assistants vocaux.

5. Quel matériel est supporté ?

Le serveur Home Assistant est conçu pour être compatible avec une large gamme de matériel, ce qui le rend très polyvalent :

  1. Mini ordinateurs Nabu Casa : machines pré-configurées comme Home Assistant Green, HA Yellow et HA Blue
  2. Raspberry Pi : la plateforme historique de prédiction
  3. Autres ordinateurs monocarte : ODROID N2+, ASUS Tinker Board, Khadas VIM4...
  4. Mini-ordinateurs : typiquement les NUC de Intel
  5. Ordinateurs de bureau et portables : PC windows, Mac ou appareil Linux.
  6. NAS (Network Attached Storage) : typiquement Synology et QNAP.
  7. Boxs d'opérateur : typiquement les Freebox Delta.
  8. Odroid TV : l'usage de certaines box TV comme les X96 mini ou X96 Max+ faisant tourner Linux peut être détourné.

6. Existe t'il une application mobile ?

Oui, il existe une application très conviviale pour Android et iOS appelée "Home Assistant Companion". Elle affiche l'interface utilisateur (tableau de bord) que vous aurez personnalisée dans l'interface web de votre système, mais vous donnera aussi accès à toutes les fonctionnalités de votre système.

Elle permet de remonter dans Home Assistant des informations liées au mobile telle que le niveau de charge, la localisation de l'utilisateur, etc. Elle permet enfin une connexion locale ou distante en fonction de où se trouve l'utilisateur.

7. Où sont stockées mes données ?

Les données de Home Assistant sont stockées en local. La base donnée de Home Assistant et les fichiers médias sont stockés par défaut sur votre box Home Assistant, mais vous pouvez choisir de connecter des disques externes, et connecter un NAS pour y stocker vos fichiers multi-medias.

Des intégrations existent cependant pour sauvegarder automatiquement vos données sur le cloud (sur Google Drive par exemple).

8. Quels sont les protocoles supportés ?

Home Assistant prend en charge une très large gamme de protocoles de domotique pour communiquer avec différents appareils et systèmes. Citons les principaux :

  1. Ethernet (Wi-Fi ou cable) avec un protocole local plus haut niveau (https, mqtt, modbus, HomeKit... ).
    À noter qu'un certain nombre d'objets connectés se connectent directement au réseau Wi-Fi domestique et Home Assistant communiquent avec eux soit en local, soit via le cloud du fabricant.
  2. Zigbee : Protocole sans fil dit "maillé" et à faible consommation d'énergie. Ce protocole est actuellement le plus populaire et il existe de très nombreux devices à prix très attractifs (prises connectées, lumières, thermomètres, etc).
  3. Z-Wave : Un autre protocole sans fil à faible consommation d'énergie comme zigbee. Ce protocole était très populaire en domotique mais est en perte de vitesse à cause du prix des objets connectés un peu plus élevés que ceux en zigbee.
  4. Matter : le protocole montant, qui regroupe le support de Zigbee, mais aussi d'un nouveau protocole, Thread. Ce protocole va tendre à se généraliser dans le futur, et est en cours d'adoption par de nombreuses marques.
  5. Bluetooth : Utilisé pour la communication à courte portée entre les appareils.
  6. RFXCom: il regroupe différents protocoles en 433Mhz. Il permet de communiquer avec des appareils des marques Somfy (RTS), Oregon Scientific, Chacon IO, pour ne citer qu'eux. Protocole non maillé et ne permettant pas de confirmer qu'une commande est bien reçue. Certains contrôleurs supportent aussi le 868Mhz, mais avec de fortes limitations.
  7. Somfy IO : le nouveau protocole de Somfy qui remplace progressivement RTS.
  8. KNX : Un protocole généralement filaire utilisé pour l'automatisation des bâtiments, en particulier dans les installations commerciales et industrielles.
  9. EnOcean : protocole permettant de concevoir des objets indépendants de toute source d'énergie (batterie ou secteur). Ce protocole est de moins en moins courant.

La plupart de ces protocoles nécessitent un "contrôleur" : il se présente en général sous forme d'un "clé" à brancher sur la prise USB de la box.

9. Puis-je personnaliser l'interface graphique ?

Oui totalement, et c'est LE point fort de Home Assistant. Vous créez un ou plusieurs tableaux de bords (dashboards appelés aussi autrefois "Lovelace"). Chaque tableau de bord est structuré en plusieurs pages appelée "vues".

On insère ensuite des cartes qui permettent d'afficher des informations de capteurs, boutons, listes d'éléments, images ou vidéo, la météo, des gauges, graphiques et bien d'autres choses. L'ordonnancement des cartes par section est spécialement judicieux.

Il est également possible de télécharger un nombre considérable de magnifiques "cartes" sur le magasin officiel de Home assistant, ou celui de la communauté de développeurs, HACS (Home Assistant Community Store").

L'interface graphique est dite "responsive", c'est-à-dire qu'elle s'adapte à la résolution de votre écran, que ce soit un PC ou un mobile.

Home Assistant permet même de créer une vision en 3D de sa maison et d'y coller des fonctionnalités (Floor plan).

10. Comment accéder mon serveur depuis l'extérieur ?

Que ce soit depuis l'application sur votre mobile ou une interface web, vous devez pouvoir rendre accessible votre système domotique depuis l'extérieur.

Pour cela, le plus simple reste de prendre une souscription Nabu Casa, et donc confier l'accès à leur système spécialement sécurisé.

Autrement, vous pouvez mettre en place vous-même un accès. Il existe 3 grandes méthodes pour faire cela :

  • Accès direct en ouvrant un port sur sa box et en cryptant la communication en https (DuckDNS, ...). Nécessite quelques connaissances en sécurité pour limiter les intrusions.
  • Via un proxy tier (Cloudflare, ...): vous vous connectez au proxy, et le proxy établit une connexion sécurisée entre lui et votre box. Cette méthode est la plus conseillée.
  • Via un VPN (ZeroTier, Tailscale, ...) : vous mettez en réseau votre box et votre machine distante.

11. Comment sont représentés mes objets sous HA

Les objets connectés sont en général représentés sous forme d'appareils.

Chaque appareil expose des informations qui se retrouvent dans HA sous forme d'entités. Une entité correspond à une information principale de l'appareil (une température par exemple). Une entité peut avoir des attributs, qui sont des informations secondaires (heure de la dernière mise à jour par exemple).

Enfin, il est possible de demander à un appareil d'exécuter des actions. La encore des entités sont mises à disposition pour cela (par exemple de type "cover" pour les ouvrants, "switch" pour les prises...).

L'utilisation de ces entités dans l'interface graphique permet d'y afficher les informations, ou permet de piloter l'objet (ouvrir un volet par exemple).

Vous l'aurez compris, les entités sont au cœur de Home Assistant. Il existe beaucoup d'entités de type différent, et certaines ne sont pas reliées à des appareils.

Pour le pilotage d'actions, Home Assistant met également à disposition des services auxquels on pourra passer différents paramètres (une entité, un message, etc).

Plus d'information sur Architecture et concepts Home Assistant.

12. Puis-je rajouter des modules complémentaires ?

Un module complémentaire ("add-ons" en anglais) est un programme tiers qui vient enrichir les fonctionnalités de base de Home Assistant. Ils ne sont pas forcément développés pour Home Assistant, et beaucoup sont très populaires dans bien d'autres environnements.

Citons-en quelques-uns très populaires :

  • File Editor : édition des fichiers, en particulier de configuration
  • Visual Studio : alternative à File Editor, pour ceux qui en veulent plus
  • Terminal : terminal ssh
  • HACS : le store de la communauté de développeurs Home Assistant.
  • MQTT (Mosquitto) : un populaire gestionnaire de messages utilisé dans le monde des objets connectés.
  • Zigbee2MQTT : bien que Home Assistant intègre par défaut ZHA pour la communication en Zigbee, beaucoup lui préfère ce module pour son interface et la compatibilité avec un grand nombre de composants.
  • Node-Red : permet de créer des automatisations complexes, en complément des capacités d'automatisation de home Assistant
  • ESPHome : permet de faire ses propres objets connectés (Do It Yourself)

Mais il en existe bien entendu beaucoup d'autres.

13. Comment rajouter des fonctionnalités ?

De nouvelles fonctionnalités peuvent être rajoutées grâce à des intégrations. À ne pas confondre avec les modules complémentaires : les intégrations sont des librairies qui complètent celles par défaut de Home Assistant.

Une intégration spécifique permettra par exemple de communiquer avec une marque d'appareil donné. Exemple : des lampes Philips Hue, une caméra Eufy ou Netatmo, un ampli Denon, une tondeuse Landroid, un aspirateur Dream, des volets Somfy, etc, etc

On utilisera les intégrations pour rajouter des protocoles : zigbee, zwave, RFX... ainsi que pour faire le lien avec les modules complémentaires.

Mais il existe aussi des intégrations pour rajouter une fonction évoluée ( planification, tableur, backup, monitoring du système...) ou des services cloud (Spotify, Météo France...)

Home Assistant permet donne accès à un grand nombre d'intégrations sur le magasin officiel de Home assistant. Mais vous en trouverez encore sur celui de la communauté de développeurs : HACS (Home Assistant Community Store").

14. Comment créer des automatisations ?

Home Assistant fournit un éditeur graphique pour créer et modifier ses automatisations. Le principe est de créer 3 grands blocs :

  • Quand : quand doit se déclencher l'automatisation (à telle heure, au levé du soleil, si on appuie sur un bouton, si un capteur prend telle valeur). On peut combiner ces "triggers" avec des ET et des OU.
  • Et si : condition(s) à vérifier pour que l'action soit exécutée (une porte bien fermée, un seuil de température, etc)
  • Alors faire : une liste d'actions à exécuter.

L'intégration avec les composants de HA (appareils, entités, services, etc) est parfaite. Des listes de choix contextuelles facilitent les choix. Home Assistant fournit un outil de trace permettant de vérifier ce qui s'est passé, et un debugger.

À tout moment, il est également possible de voir le code de l'automatisation (langage YAML), ce qui facilite le partage et permet aux utilisateurs avancés de programmer plus rapidement.

Home Assistant permet l'utilisation d'automatisation toutes faites appelées BluePrint. Il suffit alors de ne rentrer que les paramètres.

L'alternative aux automatisations Home Assistant est le mode complémentaire Node-Red. C'est un excellent complément pour certaines choses complexes (gestion de flux http par exemple). Cependant, il n'est pas (ou plutôt plus) conseillé de développer toutes ses automatisations avec ce module.

15. Puis-je connecter des caméras

Oui, l'intégration de caméras est assez simple, et Home Assistant supporte un grand nombre de caméras.

Une majorité de caméras sont accessibles en local par une URL (protocole RSTP, RMTP ou HTTP) pour fournir un flux FFMPEG ou JPEG. Une intégration Camera permet de paramétrer la caméra en indiquant l'URL et le nom d'utilisateur / mot de passe. Il suffit alors d'ajouter une carte dédiée (picture-entity) dans l'interface pour visualiser le flux vidéo de la caméra. Vous pouvez retrouver les url d'une caméra (ou vérifier sa compatibilité) sur le site iSpyConnect.

Un certain nombre de caméras sont compatibles ONVIF qui permet une découverte automatique des paramètres de la caméra : il n'est pas la peine de connaitre l'URL d'accès et il suffira d'entrer dans l'intégration ONVIF l'adresse IP de la caméra et le login.

Enfin, d'autres caméras comme Netatmo ou Eufy ont un accès propriétaire via le cloud. En général, il existe une intégration spécifique à la marque permettant l'intégration.

Bien entendu, Home Assistant support les caméras rotatives avec des fonctions dites PTZ (panoramique, inclinaison et zoom), et permet de gérer des positions prédéfinies ("presets").

Enfin notez que visualiser des images des caméras est bien, mais pouvoir faire de la détection de personnes, animaux ou autres voitures est mieux. Vous n'enregistrerez que les séquences avec des mouvements pertinents. Home Assistant permet l'intégration de modules complémentaires comme Frigate, fonctionnant avec de l'IA et permettant de faire de la détection. Vous créez alors un vrai NVR (Network Video Recorder) dans Home Assistant.

16. Est-ce que HA garde l'historique des données ?

Oui, Home Assistant a un mode de conservation des données, mais à 2 niveaux :

  • Sauvegarde des états : toutes les données des entités sont sauvegardées pendant 10 jours ( valeur par défaut).
  • Statistiques : ensuite les données (si l'entité est d'un certain type) sont traités pour être conservées indéfiniment, mais à raison d'une seule valeur par 5mn (statistique court terme) puis par heure (statistique long terme). Le traitement consiste à calculer le min, max, moyenne ou la somme.

Home Assistant fournit des cartes graphiques permettant d'afficher les historiques et statistiques. Et bien entendu, il existe de nombreuses solutions tiers sur le store de la communauté HACS (Apex Charts cards, mini-graph cards, History Explorer Card ....).

Certains ne se satisfont pas de ce système historique d'états-statistiques assez limitatif au final, et préfèrent maîtriser leurs historiques. Ils préfèreront rajouter à Home Assistant via un module complémentaire une base de données spécifique : base relationnelle (MariaDB, MySQL, PostgreSQL ou SQLite), mais surtout InfluxDB qui se couple à Grafana.

17. C'est quoi le langage YAML ?

YAML (Yet Another Markup Language) est un langage standard de paramétrage et échange de données très utilisé en informatique. Il est sans balise, hiérarchique et se veut facilement lisible.

C'est la syntaxe qu'utilise Home Assistant pour une majorité de paramétrages (YAML pour Home Assistant).

Rassurez-vous, il est aujourd'hui possible de paramétrer une majorité de choses graphiquement sans recourir à YAML. Cependant, il existe encore quelques composants qui requièrent d'être définis en YAML, en particulier dans le fichier de configuration principal configuration.yaml de Home Assistant.

YAML est une force : beaucoup de composants (cartes dans l'interface, automatisations, scripts...) peuvent être définis graphiquement et autorisent aussi d'être visualisés/modifiés en YAML. C'est très pratique pour les échanges, le copier-coller ou juste une lecture / édition rapide.

18. C'est quoi un modèle et le langage Jinja2 ?

Jinja2 est l'autre langage utilisé par Home Assistant, à ne pas confondre avec YAML. Jinja2 est à l'origine un moteur standard de templating rapide, expressif et extensible pour Python.

Jinja2 est utilisé dans Home Assistant pour créer des expressions (appelées modèles) qui permettent de combiner les valeurs d'entités : faire des calculs, réaliser des expressions logiques avec des conditions ou des boucles, créer des messages personnalisés...

On utilisera un modèle Jinja2 chaque fois que l'on a besoin de faire une telle expression : dans les automatisations, les scripts, l'interface utilisateur ou pour créer de nouvelles entités.

Home Assistant fournit un outil (outils de développement) qui permet de tester ses propres modèles Jinja2.

19. Et si je veux dialoguer avec ma maison ?

Oui c'est tout à fait possible. Il y a 3 options pour cela :

  • Assist : le système maison de Home Assistant. Home Assistant intègre un système de reconnaissance de phases et générateur TTS (Text To Speech). Il existe de nombreux projets permettant de créer son propre assistant vocal.
  • Amazon Alexa : via une intégration du même nom. Permet d'utiliser les appareils Echos.
  • Google Assistant : également via une intégration. Permet d'utiliser les appareils Google type Nest.

À noter que l'intégration de Amazon Alexa et Google Assistant est largement facilité si une souscription Nabu Casa est payée. Autrement, la configuration sera plus laborieuse et manuelle.

20. Puis-je faire mes propres objets connectés ?

Oui, vous pouvez créer vos propres objets à base de petits contrôleurs produits par la société Expressif (ESP32 ou ESP8266) sur lesquels on peut rajouter un nombre considérable de capteurs.

Home assistant propose l'installation d'un module appelé ESPHome, qui permet de facilement :

  • Programmer vos ESP (flasher le code dans le microcontrôleur)
  • Générer les entités dans Home Assistant
  • Assurer la couche de connexion entre l'ESP et Home Assistant.

N'hésitez pas à parcourir la liste des composants supportés par ESPHome. Impressionnant, non ?

Il ne vous restera ensuite qu'à concevoir et imprimer en 3D vos boitiers.

Si l'univers de la domotique avec Home Assistant est passionnant, le monde du DIY (Do It Yourself) l'est encore plus...

Pour aller plus loin, consulter les autres articles HACF pour bien débuter.

Débuter avec Home Assistant
Les tutos pour bien débuter avec la solution domotique Home Assistant : comment installer et sur quelle plateforme, comprendre les concepts, jouer avec l’outils.

Et consulter la documentation de Home Assistant, très bien faite, mais en anglais.

Documentation
Documentation for Home Assistant