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.
Quezako?
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
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 :
Si tout s’est bien déroulé au bout de 20 – 30 minutes, vous devriez pouvoir accéder à votre système.
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.
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
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.
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.
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.
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.
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.
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.
Bonjour,
Je n’utilise pas mon installation via mon wifi donc je n’ai pas personnellement testé ces manipulations.
Cependant d’après https://docs.resin.io/deployment/network/2.0.0/#setting-a-static-ip il semble nécessaire de modifier aussi la conf de eth0.
Autre problème qui pourrait arriver c’est un conflit d’ip si l’adresse fixée est dans la plage dhcp de votre box ou routeur.
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.
Bonjour,
Pouvez-vous nous en dire plus sur le problème rencontré? Notamment le message d’erreur que vous avez rencontrez et/ou le comportement anormal que vous avez identifiez.
Bonne journée.
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
Vous ne semblez pas être le seul dans cette situation. J’ai trouvé ce post sur reddit qui semble donner la solution:
https://www.reddit.com/r/homeassistant/comments/6t0olb/problems_installing_hassio_on_debian/
Il semble qu’il n’y a plus de problème en éxécutant la commande en deux temps:
J’espère que cela réglera votre problème, tenez moi au courant 😉
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.
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
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.
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!
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 🙂
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
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 ?
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,
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 ???