Home Assistant : Introduction

Qu’est-ce que Home Assistant ?

Home Assistant est une plateforme d’automatisation domestique qui permet de contrôler et de gérer divers objets et services connectés dans un foyer. Il offre une interface centralisée pour la configuration, le contrôle et l’automatisation des différents équipements (lumières, thermostats, capteurs, caméras de sécurité, enceintes connectées, …). Home Assistant vise à créer une expérience homogène en regroupant des dispositifs de différentes marques et technologies (Zigbee, Z-Wave, EnOcean, RF433, WiFi, Bluetooth, MQTT, …) sous une seule interface. Home Assistant est open-source, gratuit, entièrement hébergé en local et se couple parfaitement à un Raspberry Pi. Ses principaux concurrents sont openHAB, Domoticz ou Jeedom.

Pourquoi Home Assistant ?

J’ai fait le choix il y a 10 ans d’affranchir l’intelligence de ma domotique de toute box. Concrètement, l’intelligence de ma domotique, baptisée Eloise, est implémentée en Lua, encapsulée dans un serveur web WSAPI-Xavante et déployée sur un Raspberry Pi. Actuellement, j’utilise deux passerelles pour les modules Z-Wave : une Vera Lite et une Vera Plus. Cependant, ces box ne sont plus maintenues et restent capricieuses dans la gestion des périphériques Z-Wave. Il est temps de les remplacer. Il y a quelque temps, j’avais testé Domoticz puis Jeedom sans avoir été convaincu. Mais une solution s’impose actuellement assez clairement tant pour ses possibilités que pour son interface, sa stabilité, son nombre d’utilisateurs et sa force de développement : Home Assistant ! Point essentiel pour moi, Home Assistant propose une API qui permet de l’utiliser comme une passerelle vers la technologie Z-Wave, mais aussi vers de nombreuses autres technologies supportées par ce contrôleur.

Pourquoi ce billet ?

Les capacités d’Home Assistant sont assez phénoménales, tentaculaires, mais quand on se penche sur cet echo système, on est confronté à un nombre important de terminologies et de concepts nouveaux, et il est très vite difficile de s’y retrouver. Le but de ce billet est de dégrossir tout cela pour un néophyte de Home Assistant (comme je le suis).

Home Assistant / Home Assistant Supervisor

Home Assistant Supervisor est une partie spécifique de Home Assistant qui gère l’installation, la mise à jour et la supervision des conteneurs et des add-ons. Les add-ons sont des modules complémentaires (des applications tierces) qui étendent les fonctionnalités de Home Assistant. Le Supervisor fournit une interface utilisateur pour gérer ces add-ons, surveiller l’état du système, et effectuer des opérations de maintenance. Il n’est pas indispensable car tous ces modules peuvent être installés indépendamment de Home Assistant. S’ils sont installés par le Supervisor, ils ne pourront être utilisés que par le biais de l’interface de Home Assistant. Dans la terminologie Home Assistant, il ne faut pas confondre un add-on et une intégration

Add-ons / Intégration

Dans Home Assistant, un add-on est un module complémentaire qui peut être installé pour ajouter des fonctionnalités supplémentaires. Les add-ons sont généralement des applications tierces ou des services distincts qui s’exécutent dans des conteneurs Docker. Les add-ons sont gérés via le Home Assistant Supervisor, qui fournit une interface pour les installer, les configurer et les mettre à jour. Un add-on seul n’apporte rien à Home Assistant sans son intégration associée.

Dans Home Assistant, une intégration est une extension logicielle qui permet à Home Assistant d’interagir avec une application tierce installée indépendamment ou sous la forme d’un add-on.

Prenons l’exemple de la prise en charge du protocole Z-Wave par Home Assistant. Cette prise en charge n’est pas native. Il faut donc installer une application tierce (Z-Wave JS) soit indépendamment de Home Assistant, soit sous la forme d’un add-on grâce au Supervisor. Il faut ensuite ajouter et paramétrer une intégration Z-Wave dans Home Assistant pour qu’il puisse communiquer avec l’application, ou le add-on, Z-Wave JS. Notons que lors de l’installation d’un add-on, le supervisor peut ajouter et paramétrer l’intégration associée.

Z-Wave JS / Z-Wave JS UI / Z-WaveJS2MQTT

Z-Wave est un protocole de communication sans fil spécialement conçu pour la domotique. Il permet aux appareils compatibles Z-Wave de communiquer entre eux et avec un contrôleur central (ex : Stick USB). Z-Wave JS est l’implémentation open-source du protocole Z-Wave qui permet à Home Assistant de communiquer avec des périphériques Z-Wave. Z-Wave JS ne fait pas partie de Home Assistant. Il doit être installé indépendamment de Home Assistant, ou par Home Assistant sous la forme d’un add-on. Une fois installé (indépendamment ou add-on), il doit être intégré à Home Assistant grâce à une intégration pour que Home Assistant puisse gérer le contrôleur associé à Z-Wave JS et les périphériques associés au contrôleur.

Z-Wave JS fournit une interface en ligne de commande pour gérer les appareils Z-Wave, configurer le réseau, et exécuter diverses opérations. Z-Wave JS UI possède une interface utilisateur graphique (UI) web qui permet de visualiser et de gérer les appareils, de configurer les paramètres, de surveiller le réseau Z-Wave, et plus encore. Attention, il ne faut pas installer les deux car Z-Wave JS UI contient déjà Z-Wave JS. Z-WaveJS2MQTT n’est rien d’autre que l’ancien nom de Z-Wave JS UI.

Les procédures d’installation de Home Assistant

Il existe 4 façons bien différentes d’installer Home Assistant.

Home Assistant Operating System :
C’est une image minimale d’un système d’exploitation configuré et optimisé pour Home Assistant. Elle inclut le Supervisor pour gérer les add-ons. C’est une méthode très simple (copie de l’image) recommandée pour une installation sur un Raspberry Pi dédié. Par contre, pour utiliser cette procédure sur une machine disposant déjà d’un système d’exploitation, il faut passer par un mécanisme de machine virtuelle, ce qui complique et alourdit les choses.

Home Assistant Container :
Elle consiste simplement à installer un conteneur Docker. C’est l’installation la plus simple pour une machine non dédiée. Mais il faut se passer du Supervisor et donc des add-ons.

Home Assistant Core :
C’est une installation manuelle de toutes les dépendances nécessaires à Home Assistant, puis de Home Assistant. Cette procédure est plutôt réservée à des utilisateurs avancés. Elle ne nécessite pas de machine dédiée et ne donne pas accès au Supervisor et donc aux add-ons.

Home Assistant Supervised :
Dans la même philosophie que l’installation Home Assistant Core mais avec une procédure plus longue et complexe pour pouvoir mettre en oeuvre le Supervisor et donc les add-ons (ex : github.com/home-assistant/supervised-installer).

Cette entrée a été publiée dans Domotique, Contrôleurs and taguée . Placez un signet sur le permalien.

One Response to Home Assistant : Introduction

  1. Pingback : Home Assistant : Installation (Conteneur) » josDBlog

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *