Formation PUB420 : Système domotique DIY, 2020 Home Assistant

5.1 Installation de Home Assistant et premier accès


Home Assistant est un excellent logiciel domotique à code source ouvert qui peut être installé entre autres sur un Raspberry Pi.

Dans les faits, il peut :

  • tourner par-dessus le système d'exploitation de votre choix (on parlera de Home Assistant Core)
  • tourner par-desssus un système Linux de votre choix, par exemple Raspberry Pi OS (on parlera alors de Home Assistant Supervised)
  • selon la technique recommandée, tourner par-dessus le système d'exploitation Home Assistant Operating System, aussi appelé HassOS (ce type d'installation était autrefois appelé Hass.io). Ce système d'exploitation est basé sur resinOS.

Nous travaillerons ici avec la version installée sur HassOS.

Pour installer Home Assistant selon cette technique, il faut d'abord télécharger une image de HassOS puis installer cette image sur la carte micro SD.

Une fois le Pi démarré, HassOS téléchargera puis installera automatiquement la toute dernière version de Home Assistant.

Notez que la procédure d'installation de Home Assistant est dite headless, c'est-à-dire que vous n'avez pas besoin de brancher écran ni clavier au Raspberry Pi. La seule utilité d'un écran serait de voir l'état d'avancement de l'installation, mais ce n'est pas nécessaire.

Installation Home Assistant

▼Publicité Le texte se poursuit plus bas

Préparer le Raspberry Pi

Commencez par prendre connaissance de la fiche suivante afin d'acquérir les bonnes composantes de base : Un Raspberry Pi comme unité centrale.

Préparer la carte micro SD

Pour installer le système d'exploitation HassOS sur votre Rapsberry Pi :

  • D'abord, vérifiez quel est le modèle exact de votre Raspberry Pi.
  • Téléchargez l'image qui correspond à votre modèle de Raspberry Pi selon les URL fournies ici : https://www.home-assistant.io/installation/raspberrypi.

    Remarquez que même si vous avez un Raspberry Pi avec une architecture 32 bits, vous pouvez tourner la version 64 bits de HassOS.

  • Décompressez le contenu du fichier zip sur votre ordinateur. Vous obtiendrez un fichier .img.
  • Insérez la carte micro SD dans votre ordinateur.
  • Il faut maintenant copier l'image sur la carte micro SD. On dira « flasher » l'image sur la carte.
    • Sous Mac ou Linux, l'image peut être flashée à l'aide de la commande dd sans avoir à faire d'installation supplémentaire. Les instructions détaillées sur cette commande sont données ici : Copie intégrale d'un disque avec la commande dd.

      Les commandes pour copier l'image sur la carte sont les suivantes (version Mac).

      Prenez soin de remplacer le N par le chiffre qui correspond au point de montage (pour connaître le point de montage sous Mac : diskutil list).

      Ajustez le nom du fichier de l'image selon la version que vous avez téléchargée.

      Terminal

      diskutil unmountDisk /dev/diskN

      sudo dd bs=1m if=chemin/haos_rpi4-64-6.4.img of=/dev/rdiskN conv=sync

      Note : sous Mac, pour copier facilement le chemin du fichier .img, vous pouvez utiliser cette technique : Copier le chemin d'un fichier.

      Patientez, cette opération peut prendre de longues minutes. Une fois l'opération terminée, vous verrez cecià l'écran :

      Résultat à l'écran

      2048+0 records in
      2048+0 records out
      2147483648 bytes transferred in 88.923942 secs (24149668 bytes/sec)

    • Il est également possible de flasher l'image sur la carte à l'aide d'un utilitaire graphique, par exemple Etcher. Cet utilitaire peut être utilisé sous Mac, Linux ou Windows.
  • Une fois l'image en place sur la carte micro SD, vous pourriez avoir à l'écran un message du genre « Le disque que vous avez attaché n’est pas lisible par cet ordinateur. » ou, en anglais « The disk you connected cannot be read on this computer ».

    Ceci est normal, cliquez sur Ignorer.

    Le disque que vous avez inséré n’est pas lisible par cet ordinateur. Le disque que vous avez inséré n’est pas lisible par cet ordinateur.

Configurations initiales

Puisque la carte micro SD n'est pas lisible sur certains ordinateurs, une technique a été prévue pour effectuer les configurations initiales, par exemple le réseau sans fil, le serveur DNS et l'adresse IP statique.

Il s'agit de placer les fichiers de configuration sur une clé USB qui répond à des règles précises :

  • La clé doit être vierge et être formatée en FAT32 (sous Mac, choisissez MS-DOS (FAT) dans l'utilitaire de disque).
  • La clé doit posséder un volume nommé CONFIG (en majuscules).
  • Important : les fichiers de configuration doivent comporter des sauts de ligne correctement encodés pour Linux (LF).

Les configurations du réseau sans fil sont détaillées sur cette fiche.

Voici un exemple de base :

Fichier network/my-network

[connection]
id=my-network
uuid=votre-uuid-ici
type=802-11-wireless

[802-11-wireless]
mode=infrastructure
ssid=NOM-DU-RESEAU
# Uncomment below if your SSID is not broadcasted
#hidden=true

[802-11-wireless-security]
auth-alg=open
key-mgmt=wpa-psk
psk=MOT-DE-PASSE-DU-RESEAU

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

Remarquez que le réseau sans fil et l'adresse IP statique peuvent aussi être configurés via l'interface Web de Home Assistant une fois que l'installation est terminée. Puisque l'accès à l'interface Web nécessite un accès réseau, vous devrez d'abord brancher le Pi à un réseau câblé puisque c'est le seul qui peut être actif sans configuration.

Serveur DNS

Sur certains réseaux, l'accès avec un câble RJ-45 nécessite tout de même la configuration d'un serveur DNS spécifique.

Vous pouvez effectuer cette configuration comme suit :

Fichier network/my-network

[connection]
id=my-network
uuid=votre-uuid-ici
type=802-3-ethernet

[ipv4]
method=auto
dns=xxx.xxx.xxx.xxx;8.8.8.8;8.8.4.4;

Adresse IP statique

L'adresse IP statique permet un fonctionnement optimal du système domotique.

Dans le fichier my-network, remplacez la section [ipv4] par celle présentée plus bas.

Dans cette section, remplacez 192.168.1.145 par l'adresse que vous désirez donner au Pi. Assurez-vous de choisir une adresse qui n'est pas déjà asssignée dans votre réseau.

Au besoin, ajustez le masque de sous-réseau, qui suit sur la même ligne (dans l'exemple : /24 qui signifie que les 3 premiers octets sont le masque de sous-réseau).

Selon les configurations de votre réseau, vous pourriez avoir à ajuster l'adresse IP locale du routeur (dans l'exemple : 192.168.1.1).

Vous pouvez également ajouter une adresse de serveur DNS devant 8.8.8.8 si requis.

Fichier network/my-network

[ipv4]
method=manual
address=192.168.1.145/24;192.168.1.1
dns=xxx.xxx.xxx.xxx;8.8.8.8;8.8.4.4;

Activation du SSH

Je vous propose d'effectuer immédiatement les manipulations pour activer SSH. Notez qu'il est possible d'effectuer les configurations SSH après coup à l'aide d'un module complémentaire ajouté à Home Assistant mais cette technique offre moins de possibilités. Il est donc préférable de le faire dès maintenant.

Pour pouvoir vous connecter au Raspberry Pi via SSH, vous devez générer sur votre ordinateur la paire de clés publique et privée puis copier la clé publique dans un fichier nommmé authorized_keys à la racine du volume CONFIG.

Mac ou Linux

Sous Mac ou Linux, travaillez directement dans une fenêtre Terminal.

Pour vérifier si les clés SSH ont déjà été générées, entrez cette commande sur votre ordinateur :

Terminal sur l'ordinateur

ls ~/.ssh

La clé publique est stockée dans le fichier id_rsa.pub et la clé privée, dans le fichier id_rsa.

Si les clés n'existent pas, vous devez les générer les clés à l'aide de cette commande :

Terminal sur l'ordinateur

ssh-keygen -t rsa -C 'moncourriel@mondomaine.com'

Acceptez l'emplacement par défaut puis entrez un mot de passe sécuritaire.

Il faut maintenant copier la clé publique dans un fichier à la racine du volume CONFIG.

Le fichier sera créé et rempli par cette commande :

Terminal sur l'ordinateur

cat /Users/monnom/.ssh/id_rsa.pub > /Volumes/CONFIG/authorized_keys

Windows

Sous Windows, pour effectuer ces manipulations, vous devrez installer la console Git Bash (https://git-scm.com/downloads) qui vous permettra de lancer des commandes « à la Linux ».

Vérifiez si les clés SSH ont déjà été générées à l'aide de cette commande sur votre ordinateur :

Terminal sur l'ordinateur

dir "/users/monnom/.ssh"

La clé publique est stockée dans le fichier id_rsa.pub et la clé privée, dans le fichier id_rsa.

Si les clés n'existent pas, vous devez les générer les clés comme suit :

Terminal sur l'ordinateur

ssh-keygen -t rsa -C 'moncourriel@mondomaine.com'

Acceptez l'emplacement par défaut puis entrez un mot de passe sécuritaire.

Céez le fichier avec un éditeur comme Geany. Le fichier doit s'appeler authorized_keys (aucune extension) et être placé à la racine du volume CONFIG.

Ce fichier doit utiliser l'encodage ANSI (et non UTF-8). Pour choisir le bon encodage dans Geany, allez dans le menu Document / Définir l'encodage / Sans encodage. Vous verrez, dans le bas de l'écran, codage: None.

Pour copier dans ce fichier la clé publique qui vient d'être générée, faites un copier-coller à partir du contenu du fichier C:\Users\MonNom\.ssh\id_rsa.pub.

Démarrer le Raspberry Pi

Le système d'exploitation est maintenant intallé et les configurations de bases sont réalisées.

Passons maintenant à l'installation de Home Assistant.

  • Coupez l'alimentation du Raspberry Pi si ce n'est pas déjà fait.
  • Retirez la carte micro SD de l'ordinateur de façon sécuritaire puis insérez-la dans le Raspberry Pi.
  • Si requis, insérez également dans le Pi la clé USB qui contient vos configurations d'adresse IP et/ou de réseau sans fil.
  • Si vous souhaitez utiliser des clés USB Z-Wave ou Zigbee dans votre système domotique, branchez-les immédiatement au Pi.
  • Mettez le Pi sous tension.
  • HassOS téléchargera puis installera la dernière version de Home Assistant. Soyez patient, cette opération peut prendre aux alentours de 20 minutes.
  • Une fois l'installation complétée, vous pouvez retirer la clé USB qui contient les configurations.

Note : si vous branchez un écran au Raspberry Pi, vous saurez que le processus de démarrage du système d'exploitation est complété quand vous voyez la ligne « starting eudev-X.X.X » ou encore lorsque vous obtiendrez l'invite de HassOS (ha >).

Résultat à l'écran

Waiting for the HOme Assistant CLI to be ready...
 _    _                                         _     _              _
| |  | |                          /\           (_)   | |            | |
| |__| | ___  _ __ ___   ___     /  \   ___ ___ _ ___| |_ __ _ _ __ | |_
|  __  |/ _ \| '_ ` _ \ / _ \   / /\ \ / __/ __| / __| __/ _` | '_ \| __|
| |  | | (_) | | | | | |  __/  / ____ \\__ \__ \ \__ \ || (_| | | | | |_
|_|  |_|\___/|_| |_| |_|\___| /_/    \_\___/___/_|___/\__\__,_|_| |_|\__|

Welcome on Home Assistant command line.

Waiting for Supervisor to startup...
System Information
   IPv4 addresses for eth0:
   IPv4 addresses for wlan0: 192.168.1.145/24
   IPv6 addresses for wlan0: fd80::d6ba:cec7:a60b:cc25/64

   OS Version:                Home Assistant OS 6.4
   Home Assistant Core:       landingpage

   Home Assistant URL:        http://homeassistant.local:8123
   Observer URL:              http://homeassistant.local:4357
ha >

Sans écran, vous saurez que le travail est terminé lorsque la DEL verte aura cessé de clignoter depuis au moins une minute.

C'est peu après ce moment qu'il sera possible d'accéder à Home Assistant.

Accéder à Home Assistant

L'accès se fait via un navigateur sur votre ordinateur ou via l'application Home Assistant sur votre téléphone.

Dans votre navigateur ou dans l'application Home Assistant, entrez l'un des URL suivants :

  • http://homeassistant.local:8123
  • http://homeassistant:8123
  • http://192.168.1.145:8123 (remplacez 192.168.1.145 par l'adresse IP du Pi)

Notez que si vous travaillez dans un environnement qui comprend plusieurs installations de Home Assistant, par exemple une salle de classe, seule la version avec l'adresse IP fonctionnera.

Pendant que HassOS installe Home Assistant, vous obtiendrez un message à cet effet :

Preparing Home Assistant

Pendant l'installation, vous pouvez cliquer sur le point bleu afin d'avoir un log des opérations en cours.

Une fois l'installation complétée, vous serez invité à créer un premier compte utilisateur.

Création compte utilisateur

Suivez ensuite les étapes pour finaliser la configuration initiale de Home Assistant. 

Pour plus d'information

« Network ». Github - home-assistant/operating-system. https://github.com/home-assistant/operating-system/blob/dev/Documentation/network.md

« Debugging the Home Assistant Operating System ». Home Assistant. https://developers.home-assistant.io/docs/operating-system/debugging/

« FAQ ». Home Assistant. https://www.home-assistant.io/faq

« Why does Home Assistant have so many names? ». Home Assistant Guide. https://home-assistant-guide.com/2020/09/22/why-does-home-assistant-have-so-many-names/

« Guide: Connecting Pi with Home Assistant OS to wifi (or other networking changes) ». Home Assistant. https://community.home-assistant.io/t/guide-connecting-pi-with-home-assistant-os-to-wifi-or-other-networking-changes/98768

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Par Christiane Lagacé
Dernière révision le 27 novembre 2021
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre