Installer Home Assistant sur SSD avec Raspberry Pi

Tutoriel de migration d'une carte micro SD à un SSD sur Raspberry 3 ou 4

Nous sommes nombreux désormais à nous intéresser à la domotique DIY, le parcours classique du débutant consistant bien souvent à se procurer en premier lieu un Raspberry Pi avec une carte microSD, généralement incluse dans un pack, puis à procéder à l'installation de Home Assistant OS sur cette dernière. C’est parfait pour débuter et découvrir la solution domotique, mais après plusieurs mois ou années, vous risquez d'être confronté à des sauvegardes qui coincent d’une base de données trop lourde (2 Go max sur micro-SD), à des restaurations de snapshots en échec, etc…  Par ailleurs, la durée de vie d’une carte micro SD n’est en rien comparable à celle d'un disque SSD, c'est pour nous avons choisi de vous expliquer aujourd'hui comment migrer Home Assistant sur un SSD avec Raspberry Pi.

Prenez votre temps, installez-vous confortablement, lisez bien et suivez les étapes une à une… Et vous pourrez très rapidement profiter pleinement de votre instance Home Assistant sur SSD ! Allez, suivez le guide !

Migration de Home Assistant depuis une microSD vers un SSD

Les pré-requis

Avant tout chose, il va nous falloir un peu de matériel, notamment un SSD et un câble USB, voire tout simplement un boitier pour disque 3.5″ ce qui est encore plus simple. Mais, avant toute chose, nous vous invitons à effectuer une sauvegarde de Home Assistant OS (récupérer le fichier snapshot). C'est important, pour ne pas dire indispensable, afin que vous ne perdiez pas tout le travail déjà effectué sur votre serveur domotique.

Le matériel nécessaire :

  • 1x carte micro SD vierge
  • 1 x SSD
  • 1 x boitier 3.5″ avec câble USB ou un adaptateur SATA vers USB
  • Vous utilisez un Raspberry 3? Quelle chance ! Vous pouvez vous rendre directement au paragraphe « Télécharger Home Assistant OS » et sauter toutes ces longues autant que pénibles étapes.
  • Vous tournez avec un Raspberry 4? Désolé, il vous faut suivre scrupuleusement les indications ci-dessous. Rassurez-vous, c'est juste un peu de temps, il n'y a aucune difficulté pour autant.

Les manipulations sur les serveurs domotiques font souvent peur. A juste titre car nous sommes vite perdus. Mais, grâce aux communautés françaises telles que HACF sur Facebook ou à des tutoriels Home Assistant en français, vous ne devriez pas rencontrer la moindre difficulté ! Rassurez-vous, si vous suivez à la lettre ce qui suit, tout ira bien, et nous pouvons vous le garantir pour réalisé les captures au fur et à mesure de notre migration personnelle !

Le Raspberry 4 a quelques soucis pour démarrer sur un SSD de façon native. En effet, son micrologiciel EEPROM ne fonctionne pas avec tous les adaptateurs USB vers SATA disponibles sur le marché, mais bien heureusement, cette situation peut être facilement rétablie et tout fonctionnera ensuite correctement.

Le problème Raspberry Pi 4

Le Raspberry Pi 4 a une mémoire morte EEPROM (c'est une mémoire qui ne s’efface pas lorsque l’appareil n’est plus alimenté) qui lui permet de démarrer. Nous allons la mettre à jour avec une version récente (2020-12-11 ou supérieur), ce qui nous permettra ainsi de démarrer depuis notre tout nouveau support SSD branché en USB.

Pour mettre à jour cette EEPROM, vous devez temporairement installer Raspberry OS sur une carte MicroSD (de préférence vierge / formatée, c'est mieux). Nous vous conseillons de conserver l’actuelle qui comporte votre système. En cas de soucis, il suffira de tout simplement la remettre dans le Raspberry Pi. Mieux vaut toujours prendre ses précautions !

Tutoriel : installer Home Assistant sur un SSD

1. Flasher Raspberry OS

Nous allons commencer par télécharger l’image Raspberry Pi OS Lite puis de flasher sur la Micro SD (vierge de préférence !). Cette procédure devrait vous sembler assez familière puisqu'elle utilise les mêmes logiciels que ceux que nous utilisons classiquement pour l'installation de Home Assistant.

  1. Télécharger l’image Raspberry Pi OS Lite
  2. Formatez votre carte SD (un formatage rapide suffit) avec SD Card Formater par exemple,
  3. Ouvrez Balena Etcher et suivez les instructions : sélection de l’image précédemment téléchargée et sélection de votre carte SD formatée,
  4. Lancez la procédure en cliquant sur « Flash !».
La procédure est généralement rapide et votre carte prête en quelques secondes.

2. Accès SSH

Pour accéder de façon sécurisée à votre Raspberry Pi, nous allons utiliser SSG. C'est très simple car il suffit d’ajouter un fichier vierge à la racine de la partition de démarrage. Nous le nous nommerons « ssh » (retirez l'éventuelle extension de fichier, par exemple “.txt” )

Exemple : dans un éditeur de texte, créez un fiche vide, sans rien dedans, et nommez le « ssh ». Ensuite, supprimez l’extension comme « .txt ». Ouvrez votre explorateur de fichiers sur votre PC, cherchez votre carte SD, et placer simplement votre fichier « ssh » comme ceci :

  1. Éteignez électriquement votre Raspberry,
  2. Retirez la carte SD que vous aviez,
  3. Insérez celle nouvellement flashée,
  4. Rallumez et attendez quelques minutes.
La suite se passe sur votre PC, ou votre Mac, en utilisant un terminal.

* Sur Windows, recherchez CMD (invite de commandes).

* Sur Mac, recherchez Terminal.

Afin de communiquer en SSH avec votre Raspberry Pi 4, copiez et collez cette commande :

ssh [email protected]
Attention, il vous faut absolument remplacer « IP-de-votre-Raspberry-Pi » par l'adresse IP de votre Raspberry Pi, qui doit être quelque chose du genre 192.168.1.50.

Dans cet exemple, nous écrirons donc :

ssh [email protected]
C’est fait ? Appuyez sur Entrée.

Maintenant, saisissez le mot de passe par défaut qui n'est autre que : raspberry

Vous ne le voyez pas et c’est normal, appuyez sur “Entrée” pour continuer.

Vous avez normalement une fenêtre comme celle-ci :

Puisque le petit fichier « ssh » que vous avez créez s’effacera au premier démarrage, les manipulations suivantes vont permettre de conserver l’accès SSH.

Toujours dans Terminal, jusqu’à la fin d’ailleurs, copiez cette commande :

sudo raspi-config

Naviguez avec les flèches de votre clavier, et faites “Entrée” sur « Interface Options » puis sélectionnez « SSH » :

Sélectionnez « Yes » :

Validez avec « OK » :

Terminez en vous rendant sur « Finish » tout en bas :

3. Mettre à jour EEPROM

Voilà, nous pouvons passer à la mise à jour de la mémoire morte EEPROM du Rpi 4 comme nous vous l’expliquions au début de ce tutoriel. L'idée est de dire au système d’utiliser la dernière version STABLE.

Copiez cette commande dans votre Terminal :

sudo nano /etc/default/rpi-eeprom-update

Remplacez « critical » à la place de « stable ». Faîtes-le juste après FIRMWARE_RELEASE_STATUTS= comme ceci :

Pour que cette modification soit prise en compte, cliquez sur les touches Ctrl + X puis sur la touche Y.

Nous allons maintenant mettre à jour le système :

sudo apt update
sudo apt full-upgrade
sudo reboot
Attendez quelques instants, le système redémarre. L’EEPROM sera mis à jour automatiquement pendant le processus de démarrage.

Afin de vérifier que tout s’est correctement passé, connectez-vous de nouveau avec (remplacez bien avec votre IP, sinon ça ne fonctionnera évidemment pas) :

ssh [email protected]

Une fois connecté, il vous suffit de copier cette commande :

sudo rpi-eeprom-update

Vous devriez avoir une fenêtre comme celle-ci, avec une date aux alentours du 03/09/2020 :

Tout va bien ? A priori oui, puisque vous êtes sage et discipliné. Il est maintenant temps de dire à notre système que nous souhaitons démarrer (booter) sur un SSD… En même temps, a-t-il bien le choix?

Toujours depuis le Terminal, copiez ceci :

sudo raspi-config

Dans Advanced Options, sélectionnez la 5e ligne :

Puis Bootloader Version, c'est bien (et c'est ce qu'il faut faire) :

Maintenant, utilisez vos petits doigts et sélectionnez la ligne Latest Use the latest version boot ROM software (ça veut dire qu'il faut utiliser la dernière version de la ROM, si jamais tu es aussi nul en anglais que certains webmasters ! ) :

ATTENTION : Sélectionnez <No> puis validez avec la touche Entrée.

Validez avec <Ok> (une expression abrégée de l'anglais américain qui désigne l'approbation) :

Allez sur Boot Order puis USB BOOT  :

Choisissez <Ok> (vous acceptez donc) :

Sélectionnez <Finish> (ça, ça veut dire que c'est la fin…) :

Terminez par <Yes> (on s'en serait douté, n'est-ce pas?) :

Votre très cher Raspberry Pi 4 redémarre. Patientez un peu, il se met à jour ! Ne le brusquez surtout pas, il est susceptible lui-aussi…

4. Télécharger Home Assistant OS

A partir du GitHub officiel, il vous faut maintenant télécharger la dernière version de Home Assistant.

Recherchez une version stable, cela va de soi. A ce jour, il s'agissait de la « Version 5 build X (stable) ». Téléchargez la (même sans la fibre, c'est rapide 😀 ).

ATTENTION :
* Choisissez bien la version pour Raspberry pi 4 (hassos_rpi4-64-5.X.img.gz)
* Si votre Raspberry pi 4 à 8 Go de RAM, choisissez la version 64 Bits (la version 32 Bits ne fonctionne pas pour ce modèle) (hassos_rpi4-64-5.X.img.gz)

5. Home Assistant OS sur SSD

Nous allons ressortir le même logiciel qu’à nos débuts, le fameux autant que pratique Balena Etcher, et une fois de plus flasher l’image de Home Assistant OS téléchargée précédemment sur le SSD pour Home Assistant.

Ceci fait :

  1. Débranchez votre Raspberry (inter ou pas, coupez-lui le jus),
  2. Retirez absolument la carte SD qui a servi à la mise à jour^(ben oui, sinon ça ne va pas le faire),
  3. Brancher votre SSD sur un port USB3 (le bleu bien sûr).
  4. Allumer votre Raspberry… Évidemment, il faut patienter un peu, mais ensuite vous pourrez vous connecter à votre interface comme à l'accoutumée !
Gardez bien à l'esprit, même s'il est étriqué comme celui d'AB, que vous partez sur une nouvelle configuration. Fort heureusement, vous pouvez très facilement récupérer une sauvegarde de votre système, et l’injecter tout aussi rapidement.

Vous pouvez maintenant créer un nouveau compte Home Assistant, ou via le menu demander la restauration de votre sauvegarde grâce au fichier que nous vous avions conseillé de récupérer… Pas folle la guêpe, hein? Nous ne sommes pas nés de la dernière pluis ! 😉

Pour récupérer votre backup, allez dans le menu Supervisor > Instantanés, et vous n’aurez plus qu’à l’exécuter. Ça sera plus ou moins long, mais ça vaut le coup d’attendre un peu !

6. Avertissements

Avec un SSD sur USB3, des interférences peuvent malheureusement poser quelques soucis, jusqu'à mettre KO votre clé ConBee II ou votre RaspBee II. De la même façon, votre Bluetooth risque d’être très mauvais, voire carrément inutilisable.

Il vous faut donc absolument installer des rallonges USB, ceci afin d'éloigner le SSD et la passerelle ZigBee le plus possible du SSD. Nous avons fait le choix d’acheter un dongle Bluetooth assez puissant, mais nous ne pouvons pas vous faire encore de retour puisqu’il n’a pas encore été reçu.

Sachez, tout de même, qu’il est possible de basculer le SSD sur un des ports en USB2 (noir), ce qui résoudra les soucis d’interférences, mais vous ne profiterez pas de l’USB3 ce qui peut être problématique et créer des latences notamment lors du démarrage, l'écriture de la base de données pouvant être compromise, l’enregistrement d’une vidéo ou lire le flux vidéo qui passe par le swap pouvant aussi poser problème. En attendant de recevoir le dongle BT, nous sommes branché sur l’USB2, et en effet, le démarrage est assez long, mais tout fonctionne !

À LIRE :
Home Assistant : installation sur Raspberry Pi
Passionné de technologie, j'ai découvert l'univers de la Smart Home avec Xiaomi, puis Alexa et Les Alexiens m'ont mené à me passionner pour Home Assistant que je maîtrise chaque jour mieux !