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 !
[toc]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érieure), 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.
- Télécharger l’image Raspberry Pi OS Lite
- Formatez votre carte SD (un formatage rapide suffit) avec SD Card Formater par exemple,
- 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,
- Lancez la procédure en cliquant sur « Flash !».
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 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 :
- Éteignez électriquement votre Raspberry,
- Retirez la carte SD que vous aviez,
- Insérez celle nouvellement flashée,
- Rallumez et attendez quelques minutes.
* 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 pi@IP-de-votre-Raspberry-Pi
Dans cet exemple, nous écrirons donc :
ssh [email protected]
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 Raspberry pi 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 » par « 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
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 pi@IP-de-votre-Raspberry-Pi
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 :
4. Booter sur SSD
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 !
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?) :
5. 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 ! 😀 ).
* 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)
6. 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 :
- Débranchez votre Raspberry (inter ou pas, coupez-lui le jus),
- Retirez absolument la carte SD qui a servi à la mise à jour^(ben oui, sinon ça ne va pas le faire),
- Brancher votre SSD sur un port USB3 (le bleu bien sûr).
- Allumer votre Raspberry… Évidemment, il faut patienter un peu, mais ensuite vous pourrez vous connecter à votre interface comme à l’accoutumée !
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 pluie ! 😉
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 !
7. Avertissements
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 !
bonjour
Pour le passage de la carte SD au disque dur SSD je rencontre une difficulté que je n’arrive pas à résoudre :
dans l’invité de commande lorsque je tape : ssh pi@ »adresse ip de mon rp4″ j’ai un message qui me dit port 22 : connexion refused.
Pourriez vous m’indiquer comment je peux corriger ceci ?
Cordialement
Bonjour,
Utilisez-vous Home Assistant OS ? Si oui, quelle version ?
Un énorme merci pour cette procédure !
Et un énorme merci pour le retour, ça fait vraiment plaisir ! 😊
Bonjour,
Tout d’abord merci pour cet excellent article. Tout s’est bien passé jusqu’à 5 car mon ssd n’était pas formaté et je n’arrive pas à le formater. En attendant de régler ce pb, comment remettre mon raspberry dans la configuration d’origine.
Quel format pour le ssd efat ou ntfs ou….
Merci
Bonjour,
Qu’entendez-vous par « remettre dans la configuration d’origine » ? Si vous fonctionnez avec une carte SD, il vous suffit de la remettre et de booter dessus.
Quant au partitionnement du SSD, il se fait automatiquement à l’installation de Home Assistant OS, vous pouvez donc vous contentez de créer une partition en FAT.
Bonne soirée 🙂
Bonjour et merci pour ce super article.
Tout s’est bien passé jusqu’à la partie 5 car mon ssd n’était pas formaté…. Et je n’arrive pas à le formater. En attendant de régler ce pb, comment revenir au raspberry d’origine cad annuler les parties 3 et 4.
Quel formatage pour le ssd efat au ntfs ou….?
Merci…
Merci pour ce tuto mon raspberry est planté maintenant
Bonjour,
Désolé de l’apprendre. Malheureusement, des problèmes d’interface chaise-clavier peuvent survenir.
Bon dimanche 🙂
Ca ne fonctionne pas en usb 3 mais seulement en usb2
Il y a effectivement parfois des soucis d’interférences en USB3, comme précisé dans l’article, mais nous avons bien fait l’installation ainsi avec succès…
Ok j’ai trouvé la solution. C’est pas en stable qu’il faut se mettre mais en »default »
Pourquoi pas ? Mais là aussi, pour l’avoir fait à deux reprises avec ce tuto, je n’ai pas rencontré de problème avec la version stable. 🙂
Peut-être faudrait-il changer votre formulation de : Remplacez « critical » à la place de « stable ».
Effectivement, c’est fait ! 😉
Bonjour et merci pour ta réponse.
Je boot de 2 manières :
1 – Sans carte SD mais avec le SSD flashé avec « haos_rpi4-64-8.4.img.xz » par balenaEtcher. Il ne se passe rien et la diode du boitier ne clignote pas.
2 – Sur carte SD avec HA et le SSD sur port USB2 (formaté en FAT ou NTFS) en mémoire de stockage. Dans ce cas la diode clignote mais je n’arrive pas à déplacer le disque de données sur le SSD.
Mon PI est un 3B et dans le tuto la mise à jour de l’EEPROM est pour une version 4.
Si je suis la même procédure pour une version3B, est-ce que cela va fonctionner ?
Eric
Ah, voilà le souci, ce tutoriel est fait pour Rpi 4 et non 3B ou 3B+. Pour le flash, il faut donc utiliser une version pour Rpi 3, celle que nous donnons étant faite pour Rpi 4. La méthode BalenaEtecher, quoi que toujours fonctionnelle, est un peu obsolète aujourd’hui car il en existe une autre bien plus simple : Raspberry Pi Imager. C’est un programme créé par la Raspberry Pi Foundation. 😉 Il suffit de choisir la bonne image.
Néanmoins, il est possible que cela ne fonctionne pas malgré tout. En effet, les Rpi 3 ne possèdent pas de port USB 3.0 et l’alimentation manque souvent de puissance pour alimenter un disque externe. Un SSD a beau être frugal, il se pourrait que ça bloque. 😕
Bonne soirée
Bonjour
J’ai récupéré un Pi3 avec 4 ports USB. Il n’y a pas pas de port USB3 dessus.
Donc je ne peux pas installer HA sur un ssd et booter dessus.
C’est bien cela.
Bonjour,
Sur le papier, rien ne l’empêche, mais je n’ai personnellement jamais essayé avec un Pi 3. Ça peut valoir le coup d’essayer.
Bon week-end 🙂
Bonjour RV,
Mon Raspberry est un PI 3B, version 1.2
J’ai téléchargé « haos_rpi4-64-8.4.img.xz » sur GitHub et installé sur le SSD avec balenaEtcher
Au démarrage, sans carte SD, il ne se passe rien et la LED du boitier ne clignote pas.
SSD non reconnu ?
Si je formate le SSD en FAT et que je le raccorde sur un port USB du PI, avec ma carte SSD sur laquelle HA tourne, la diode est allumée.
Voila l’état de mon installation.
Eric
Bonjour,
Attention, il ne faut pas booter avec les deux supports et bien effectuer la mise à jour EEPROM (étape 3) puis changer de boot order pour démarrer sur le SSD (étape 4).
Si vous suivez chaque étape, normalement ça se passe sans problème.
Bonne journée et bon courage 🙂
Bonjour,
Je souhaite migrer HA sur un SSD Crucial MX500 de 250 Go.
J’ai suivi pas à pas ton tuto mais cela ne fonctionne pas. Le SSD installé dans le boitier ORICO ne semble pas reconnu.
Merci de m’orienter.
Cordialement.
Eric
Bonjour Eric,
Pour l’avoir réalisée plusieurs fois, je peux vous assurer que cette procédure fonctionne.
A quel moment êtes-vous bloqué ?
Si vous utilisez Facebook, je vous invite à rejoindre notre communauté Home Assistant où vous pourrez partager vos images et recevoir une aide personnalisée plus facilement.
Bon week-end