Installer, configurer et utiliser Home Assistant OS [update]

Je pensais avoir terminé cette série consacrée à la mise en place d’une installation Home assistant basique. Cependant, il s’avère qu’il y a encore quelques petits points intéressants à voir, ou plutôt à revoir.

En effet, les choses avancent vite du côté des solutions d’Home automation et notre fidèle compagnon n’échappe pas à ce rythme. En plus des fonctionnalités apportées avec les dernières mises à jour (support de nouveaux produits, simplifications diverses, améliorations des performances, etc.) il y a eu, ces derniers temps, beaucoup d’efforts autour de la manière d’intégrer, d’installer et de déployer Home Assistant.

C’est dans ce cadre qu’est sortie officiellement le 25 juillet dernier Hass.io que je vous propose d’installer aujourd’hui.

Mise à jour 28/12/2020 Depuis la parution initiale de cet article en 2017 beaucoup de choses ont changé. Le billet a donc été mis à jour en conséquence.

Quezako?

Logo Home Assistant
Logo Home Assistant

Pour faire très simple, Home assistant OS est un système d’exploitation (OS) clés en main. Ainsi, il y a une synergie plus importante entre les différents éléments permettant le bon fonctionnement de votre installation la rendant plus facile d’installation et de maintenance.

Toute une partie de la solution s’appuie sur des conteneurs Docker. Sans aller dans les détails, ceci permet une grande flexibilité et portabilité. Si vous souhaitez en savoir plus sur cette technologie, rendez-vous ici.

Dans le cas Home assistant OS, cette souplesse donne la possibilité de créer des « snapshots » permettant de sauvegarder, de restaurer ou de migrer votre installation très simplement.

De plus,  cet OS est accompagné de nombreux add-ons qui vous faciliteront l’intégration et la mise en place de certains éléments (Google Assistant, Let’s Encrypt, MQTT, etc.).

Mais pourquoi ?

Cette solution permet d’avoir un système complet, adapté à Home Assistant. Il sera plus simple de l’installer, de le mettre à jour, de le sauvegarder, de le déplacer, etc. De plus, il permet d’encadrer l’installation et la maintenance de services annexes (MQTT, Nginx, Google Assistant, etc.) en les intégrants à l’interface d’Home Assistant.

Même si l’ancienne méthode d’installation reste valide elle n’est plus recommandé et s’avère plus complexe. De plus, grâce au snapshot, en cas de bêtises vous mettrez moins de temps à remettre en route votre installation.

Installation

Fini le blabla, passons à l’action. Si vous souhaitez migrer une solution existante je vous conseille de commencer par faire une copie de tout vos fichiers de configurations. Par sécurité, vous pouvez conserver tous vos dossiers d’installation mais normalement vous n’aurez besoin que des fichiers .yaml que vous avez modifié ou créé jusqu’ici. De plus, si vous avez installé des proxy nginx, des certificats, etc. n’oubliez pas de sauvegarder toutes vos configurations et/ou clés.

Prérequis

Boitier Lego
boîtier Lego

Comme d’habitude, quelques petites choses sont nécessaires pour vous lancer dans l’aventure. À commencer par du matériel :

  • Un raspberry pi: Les dernière version de Home assistant OS sont supporté à partir de du raspberry pi 3. Cependant il est aussi compatible avec d’autre solutions comme les Intel NUC par exemple.
  • Une alimentation
  • Une carte micro SD
  • Un boîtier (ou des Lego 😉 )

Concernant l’applicatif vous devez seulement télécharger l’image Hass.io disponible ici (attention à bien prendre la version de l’image adaptée a votre matériel).

Préparation de la carte SD

Dans cet article nous avions vu les différentes étapes afin de préparer un carte SD. Elles sont toujours valables et il est bien de savoir le faire de manière « manuelle » mais aujourd’hui je vous propose d’utiliser un petit outil qui simplifie grandement la tâche. Il s’agit de BalenaEtcher, que vous pouvez télécharger ici https://www.balena.io/etcher/.

Comme vous pouvez le voir ci-dessous, il est très simple d’utilisation je ne m’attarderai donc pas sur le sujet.

Premier démarrage

Une fois la carte SD prête il ne vous reste plus qu’à l’insérer dans votre raspberry et à allumer celui-ci. Le premier démarrage peut être un peu long (+- 20 minutes selon votre connexion et votre version de raspberry) qui correspond au temps nécessaire afin de télécharger et d’installer la dernière version d’Home Assistant.

Au départ de l’installation il n’y a, à ma connaissance, pas de moyen de vérifier que tout se passe bien. Cependant, au bout de 2-3 minutes en allant sur la page http://homeassistant.local:8123 vous devriez avoir la page suivante :

Home assistant OS installation

Si tout s’est bien déroulé au bout de 20 – 30 minutes, vous devriez pouvoir accéder à votre système.

Installation Home assistant OS

Installation d’add-ons

Auparavant, Home Assistant gérait ses composants mais vous étiez livré à vous même quant à l’installation et à la gestion des autres services. Aujourd’hui, Home assistant OS vous permet de gérer des add-ons qui permettent d’avoir une installation clés en main, centralisée et simplifiée gérant tout ces services.

Nous allons maintenant installer les quelques add-ons indispensables afin de pouvoir couvrir tout ce que nous avions vu dans les précédents articles de cette série.

Pour ce faire , rendez-vous sur le store d’add-on. Cliquez sur supervisor dans le menu de gauche.

Le superviseur Home assistant

Et ensuite cliquez sur l’onglet Add-on store.

Découvrons en quelques-uns ensemble.

Facilité la configuration

Tout comme dans un système Home Assistant traditionnel, il y a un certain nombre de fichiers de configuration pour paramétrer votre installation. Pour les modifier simplement, deux add-ons sont disponibles :

  • Samba share : Le plus simple d’utilisation, il permet de mettre en place un dossier partagé via le réseau.
  • SSH Server : Plus compliqué mais plus complet il vous permettra de vous connecter via un terminal afin d’effectuer toutes les commandes (non root) que vous souhaitez.
Configuration Samba share

Dans le store cliquez sur Samba share, puis sur install. Une fois installé, vous trouverez Samba share dans la liste de vos add-ons installés dans le menu Hass.io. Cliquez dessus afin de le paramétrer.

Dans la partie options vous pouvez configurer entièrement votre add-on.

Il est difficile de vous donnez des instructions précises pour cette partie. Cela dépend de vous, pour ma part voici ma configuration :

{
  "workgroup": "WORKGROUP",
  "name": "hassio",
  "guest": false,
  "map": {
    "config": true,
    "addons": true,
    "ssl": false,
    "share": true,
    "backup": true
  },
  "username": "Mon_username",
  "password": "Mon_password",
  "interface": ""
}

Elle est très simple, elle me permet d’avoir un accès sécurisé par mot de passe. Cliquez sur save et lancez le service en cliquant sur start. Quelques secondes plus tard vous devriez voir apparaître un dossier partagé hassio sur votre réseau

Exemple dossier partagé sur Mac
Exemple dossier partagé sur Mac
Configuration du ssh

Pour le ssh c’est un peu plus compliqué. En effet, vous devez tout d’abord générer des clés privées et publiques sur chaque périphérique qui pourra se connecter en ssh à votre installation (voir ici pour windows et ici pour les autres platformes).

Dans mon cas (MacOs Sierra) voici les commandes à exécuter :

ssh-keygen -t rsa -b 4096 -C "email"

Ensuite sur sierra il y a quelques paramétrages à faire au niveau de la configuration ssh

vi ~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa

Enfin on ajoute la clé

ssh-add -K ~/.ssh/id_rsa

Copiez la clé contenu de ~/.ssh/id_rsa.pub car vous en aurez besoin pour la configuration de l’add-on.

Installez ssh server grâce au store d’add-on. Renseignez la partie option en vous inspirant de l’exemple ci-dessous. N’oubliez pas de remplacer ssh-rsa AKDJD3839…== my-key par la clé que vous avez copié tout à l’heure.

{
  "authorized_keys": [
    "ssh-rsa AKDJD3839...== my-key"
  ],
  "password": ""
}

un petit start et le tour est joué vous pouvez vous connecter en ssh.

Sécuriser vos échanges avec Let’s encrypt

Dans le deuxième article de cette série nous avions très rapidement vu comment utiliser Home Assistant via internet et sécuriser un minimum notre application. Pour ce faire, nous étions passé par toute une série d’étapes afin de mettre en place un certificat Let’s Encrypt. Ici, un add-on est là pour nous assister.

Dans un premier temps, installez Let’s Encrypt via le store d’add-ons.

Ensuite, la configuration est très simple, il suffit d’indiquer votre mail et nom de domaine dans la partie option. Vous devriez ainsi avoir quelque chose ressemblant à l’exemple ci-dessous.

{
  "challenge": "https",
  "email": "mon_email",
  "domains": [
    "www.monadresse.com"
  ],
  "certfile": "fullchain.pem", 
  "keyfile": "privkey.pem"
}

Ensuite, ajoutez les lignes suivantes dans votre fichier configuration.yaml (grâce à votre dossier partagé samba ou via ssh).

http:
  base_url: www.monadresse.com
  api_password: mon_pass
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

Ainsi, après redémarrage, votre installation devrait être accessible via l’adresse https://www.monadresse.com.

Pour plus d’informations concernant la mise en place de nom de domaine et l’ouverture sur l’extérieur je vous invite à parcourir l’article Installez Home-assistant.
Toutes les informations nécessaires pour savoir comment redémarrer et prendre en compte les configurations du fichier configuration.yaml sont disponibles dans le chapitre Reprise de configuration plus bas dans l’article.

MQTT avec Mosquito

Installons Mosquitto broker via le store. Ce sera le dernier add-on pour aujourd’hui.

Il permet d’installer un broker MQTT de manière simple. Nous avions déjà abordé ce sujet et les possibilités offertes par cette technologie dans les articles Les bases d’Home-assistant et MQTT sur votre raspberry pi.

Une fois l’installation achevée, configurez l’add-on. Pour ma part voici ce que j’ai renseigné dans le cadre options :

{
  "plain": true,
  "ssl": false,
  "anonymous": false,
  "logins": [{"username": "username", "password": "password"}],
  "customize": {
    "active": false,
    "folder": "mosquitto"
  }
}

Et j’ai ajouté ceci dans configuration.yaml :

mqtt:
  broker: 172.17.0.1
  client_id: home-assistant
  keepalive: 60
  username: username
  password: password

Reprise de configuration

Si cette installation est votre première vous avez fini 🙂 Sinon vous pouvez très aisément reprendre votre ancienne configuration.

Pour ce faire, il suffit d’ajouter ou de modifier les différents éléments présents dans vos divers fichiers .yaml grâce à samba ou ssh en fonction de ce que vous aviez sauvegardé et de ce qui est déjà présent par défaut.

Depuis quelques versions déjà Home assistant permet une configuration simplifier sans utilisé le fameux configuration.yaml.

Si vous touchez au fichier de configuration il est nécessaire de toujours vérifier que tout est en ordre. Rendez-vous dans le menu configuration et cliquez sur Contrôle du serveur. Vous devriez avoir un écran comme ci-dessous.

Ecran de configuration

Vous pourrez y vérifier votre configuration et recharger les différents module afin de prendre en compte vos modifications. et de vérifier votre configuration.

Conclusion

Vous l’aurez remarqué, l’installation et la maintenance sont beaucoup plus simple. Ainsi, Home assistant OS est facilement utilisable par des personnes débrouillardes mais sans réelles connaissances techniques.

Seule la configuration reste encore légèrement technique mais le projet s’ouvre de plus en plus aux non initiés et les efforts de simplifications et d’accompagnements sont de plus en plus nombreux.

Update Hass.io

Le revers à payer est qu’il est peut-être moins évident de bricoler, cela nécessite tout du moins une approche différente.

J’espère que ce nouveau billet vous aura plu. N’hésitez pas à poser vos questions, à partager vos expériences via les commentaires ou réseaux sociaux ! Bonne journée et à bientôt 😉

21 réponses

  1. brard dit :

    Belle présentation! Mais j’ai un problème pour le faire fonctionner en wifi et avec une adresse fixe.j’ai modifier le fichier resin-sample puis renommé en resin-wifi : cela ne change rien! Ou ai-je loupé quelque chose ? Un billet sur ce sujet serait le bienvenu.

  2. BabyfacePi dit :

    Bonjour

    Merci pour cette article.
    J’ai une question
    J’ai possede deja mon homeassistant installé sur raspberrypi3 avec l’option Install AIO.
    J’ai tenté en vain d’installer hass.io sur sur mon installation existante mais impossible, est-ce que que quelqu’un aurait une idée de comment faire? je suivi ces instruction mais je ne suis pas parvenu à l’installer : https://github.com/home-assistant/hassio-build/tree/master/install#install-hassio.

    Est-ce quelqu’un peut m’aider svp.

  3. BabyfacePi dit :

    J’essai d’installer Hass.io avec la commande suivante : curl -sL https://raw.githubusercontent.com/home-assistant/hassio-build/master/install/hassio_install | bash -s

    J’obtenait ça au depart : [ERROR] Please install docker first
    Une fois tous les fichier installé j’obtien ça : [ERROR] Please set machine for armv7l

  4. Etienne dit :

    Bonsoir,

    Après plusieurs jours de galère j’ai enfin réussi a paramétrer les 3/4 d’HOME ASSISTANT. il ne reste plus qu’a mettre en service Let’s encrypt.
    J’ai rempli en respectant vos recommandation mais lorsque je démarre l’add-on il se stop tout de suite et j’ai ca comme log :

    – The following errors were reported by the server:
    Domain: ****** (j’ai remplacé le nom de mon adresse…)
    Type: connection
    Detail: Fetching
    *****/.well-known/acme-challenge/bVC9yBO3dLtvg-xh4nq74K_nFcOLm5XMSjqxWUAFI04:
    Timeout
    To fix these errors, please make sure that your domain name was
    entered correctly and the DNS A/AAAA record(s) for that domain
    contain(s) the right IP address. Additionally, please check that
    your computer has a publicly routable IP address and that no
    firewalls are preventing the server from communicating with the
    client. If you’re using the webroot plugin, you should also verify
    that you are serving files from the webroot path you provided.

    Pouvez vous m’aider svp? En sachant que mon domaine fonctionne puisque j’y accède en http je pense qu’il y a juste un problème avec l’add-on mais je ne trouve pas la solution. Est ce que le fait d’avoir un domaine no-ip gratuit peut bloquer quelque chose?

    Merci par avance.

    • Bonjour,

      Les certificats type let’s encrypt on besoin de valider un challenge pour être valide. Ces challenges passe par le port 80 par défaut. La plupart du temps le type de problème que vous remonté viens du fait que ce port est bloqué (ou qu’il ne redirige pas sur la bonne machine). Le mieux est donc de vérifier que vos règles de Nat au niveau de votre routeur laisse bien passer des requêtes sur le port 80 vers votre installation.

      J’espère que ces informations pourront vous dépanner… Le paramétrage des certificats n’est pas forcément trivial selon l’installation.

      Bonne soirée.

  5. Etienne dit :

    Bonsoir,
    Excusez moi pour ce retour un peu tardif, j’ai essayé votre méthode mais j’ai du louper un truc. Je vais réessayer depuis le début dès que j’aurais un peu de temps.
    En tout cas merci bcp pour votre réponse rapide.
    Je ne manquerai pas de mettre un post dès que mon installation sera fonctionnelle.
    Bonne soirée

  6. alfaten dit :

    Bonsoir,
    Je n’arrive pas à me connecter via ssh en utilisant putty en suivant les intructions détaillées ci-dessous. Je dois rater quelque chose. Normal, je suis loin d’être un expert…
    J’installe HassIO /OK
    Je me connecte via webserver sur la plateforme HA /OK
    J’ouvre Putty pour me connecter en ssh, entre l’adresse IP de mon serveur HassIO, clique sur open et là le message « Network error »: Connection refused apparait.
    Je pense que je dois rentre un pwd quelque part mais je vois pas où ni comment.
    Merci d’avance pour le coups de pouce.

  7. alfaten dit :

    ho le boulet… bon j’ai compris. Je dois généré des clés pour chacun des devices à partir duquel je vais vouloir me connecter en ssh. Pour ça je vais tuiliser digital Ocean. Ensuite je configure l’addon sur l’interface web, renseigne la clé et le mot de passe attendu côté HA. Et puis c’est partit, connection au travers du ssh possible. Merci pour le tuto!

  8. iPapy dit :

    Bonjour,
    Belle présentation, sur un produit que je ne connaissait que de nom, j’ai personnellement déjà un serveur domotique Jeedom sur un RPi3 et je test régulièrement d’autre solution sur un RPi3 de test pour comparer et je doit avouer que par rapport à d’autre solutions concurrente, Home Assistant est très bien fait car d’une part il a reconnu sans aucun problème un certain nombre de mes périphériques du premier coup, que l’ajout de ma Google Home et de mon pont Philips Hue c’est faite sans problème par rapport à d’autre solution mais car il y a un mais même si cette version Hass.io automatise beaucoup de choses cela ne reste pas a la porté de simple débutant, même moi qui est un peu l’habitude j’ai eu quelque petites difficultés mais dans les solutions Do-It-Yourself je reconnais que cette solution est bien mieux faite à mes yeux que Domoticz ou autres que j’ai pu tester.
    Malheureusement il manque une documentation en Français ainsi qu’un forum utilisateur dans la même langue 😉 et encore trop peu de chose compatible ou facile à faire fonctionner.
    En exemple, je n’ai pas réussi à détecter mon Logitech Pop, mes multiprises Brodlink MP1, mon Broadlink MP Pro, mes diffuseurs de parfum Alfawise, tout comme même si mon Gateway Xiaomi était détecté ainsi qu’une partie de mes périphériques Xiaomi je ne suis pas arrivé a les faire fonctionné mais je reste sur un point positif vis à vis de cette solution et j’attends de voir les évolutions.
    En tout cas beau travail pour ce tuto et ceux que tu as fait.

    • Merci pour vos encouragements c’est toujours plaisant de voir que nos articles sont utiles 🙂 Globalement je suis assez d’accord avec vous Home Assistant est très bien mais nécessite encore une bonne appétence avec la technique. Cependant, depuis quelques versions déjà il semble que l’accessibilité et la simplification sont les priorités de la communauté. Il faut donc s’attendre à avoir un système de plus en plus simple à mettre en place. Bonne continuation et n’hésitez pas à nous faire part de vos expériences, astuces et/ou découvertes 🙂

  9. Ludovic Guyot dit :

    Pour ceux que ça intéresse, récemment j’ai tenté de réinstaller home assistant sur un raspeberry pi 2 (j’avais réussi à le faire fonctionner dans mon ancien appart) mais j’ai eu un problème avec l’addon Lets Encrypt.

    Dans les logs d’Home Assistant, j’avais l’erreur suivante:
    2018-07-20 12:56:26 ERROR (MainThread) [homeassistant.core] Error doing job: SSL handshake failed
    Traceback (most recent call last):
    File « uvloop/sslproto.pyx », line 593, in uvloop.loop.SSLProtocol._on_handshake_complete
    File « uvloop/sslproto.pyx », line 171, in uvloop.loop._SSLPipe.feed_ssldata
    File « /usr/local/lib/python3.6/ssl.py », line 689, in do_handshake
    self._sslobj.do_handshake()
    ssl.SSLError: [SSL: UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:841)

    Si vous avez le même problème, la solution est ici:
    https://github.com/home-assistant/home-assistant/issues/16033

  10. brard dit :

    Bonjour
    je viens de flasher une SD ,j’ai accés par 192.168.1.80 ,après 20 mn il me demande de créer un compte: et là impossible ; j’ai un message « NetworkError attemting to fetch recource ». Quel peut etre le problème ?

  11. Vincent dit :

    Merci pour ce tuto qui permet de débuter facilement avec HA.
    Je viens de Domoticz (quelques semaines), puis Jeedom depuis 2 ans.
    Satisfait de Jeedom (car en francais), mais je reste un peu sur ma faim.
    Du coup, ma résolution de 2021, je saute le pas vers HomeAssistant.
    Merci,

  12. Perrio dit :

    Bonjour
    J’ai bien mon programme sur la clé, je l’ai connecté à un NUC, mais je ne peux pas retirer la clé de mon NUC, il perd le programme… Y a t il une solutions ???

  1. 11 septembre 2017

    […] Source link […]

  2. 12 septembre 2017

    […] Lire l’article complet sur le site original […]

  3. 22 septembre 2017

    […] Installer, configurer et utiliser Hass.io […]

  4. 31 mars 2021

    […] Installer, configurer et utiliser Home Assistant OS [update] […]

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.