Installer, configurer et utiliser Hass.io

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, simplification 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.

Quezako?

Pour faire très simple, Hass.io est un système d’exploitation (OS) qui embarque tout ce qu’il faut pour mettre en place Home Assistant. Ainsi, il y a une synergie plus importante entre les différents éléments nécessaires au bon fonctionnement de votre installation ce qui la rend 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 Hass.io, 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 ? Je ne vois pas trop ce que ça peut m’apporter…

Cette solution permet d’avoir un système complet, adapté à Home Assistant. Il sera ainsi plus simple de l’installer, de le mettre à jour, de le sauvegarder, de le déplacer, etc. De plus, il permet de simplifier l’installation et la maintenance de services annexes (MQTT, Nginx, Google Assistant, etc.) en les intégrants à l’interface d’Home Assistant. Si vous disposez d’une installation fonctionnelle l’intérêt de tout réinstaller est peut-être limité mais peut vous apporter de nombreuses simplifications.

Pour ma part, je me suis intéressé à cette solution suite à un petit incident. Après quelques manipulations maladroites sur mon raspberry, je me suis retrouvé avec un système tellement détraqué qu’il serait plus long à réparer qu’à réinstaller.

Même si l’ancienne méthode d’installation me va parfaitement, c’était l’occasion d’installer Hass.io et de vous faire profiter de cette expérience. De plus, grâce au snapshot, la prochaine fois que je ferai une bêtise de ce genre je mettrais moins de temps à remettre en route mon 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és-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: Hass.io est supporté par toutes les versions. Cependant, je vous conseille de prendre un raspberry pi 3. Pour info, Hass.io est aussi supporté par les Intel NUC. Je ne connais pas ces machines, mais si vous en avez une cela peut vous intéresser.
  • 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 Etcher, que vous pouvez télécharger ici https://etcher.io/.

 

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

 

Etcher interface

 

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://hassio.local:8123 vous devriez avoir la page suivante :

Hass.io installation

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

Hass.io welcome

Hass.io welcome

Installation d’add-ons

Auparavant, Home Assistant gérait ses composants mais vous deviez être autonomes quant à l’installation et à la gestion des autres services. Aujourd’hui, Hass.io introduit une notion d’add-on qui permet d’avoir une installation clés en main, centralisée et simplifiée qui gère 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 installer un add-on, rendez-vous sur le store d’add-on. Pour ce faire, cliquez sur Hass.io dans le menu de gauche.

Menu Hass.io

Menu Hass.io

Et ensuite sur l’icône du store en haut à gauche 

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. Ensuite, rendez-vous dans le menu configuration. Vous devriez avoir un écran comme ci-dessous.

 

Ecran de configuration

Ecran de configuration

 

Cliquez sur configuration.yaml. Vous y trouverez toutes les options nécessaires afin de prendre en compte vos modifications. Je vous conseille dans un premier temps de vérifier qu’il n’y a pas d’erreurs.

 

check config

check config

 

Une fois que vous êtes sûr, il ne vous reste qu’à redémarrer le serveur ou à recharger la partie que vous venez de modifier.

 

Reload config

Reload config

 

 

Conclusion

Vous l’aurez remarqué, l’installation et la maintenance sont beaucoup plus simple. Ainsi, Hass.io 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. Même le système de mise à jour et devenu transparent et simplissime.

 

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 😉

 

Cadre en informatique dans une multinationale je suis un touche-à-tout passionné de nouvelles technologies.
Tu aimes cet article ? Alors partage le Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestShare on RedditShare on Tumblr

2 réponses

  1. 11 septembre 2017

    […] Source link […]

  2. 12 septembre 2017

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

Laisser un commentaire