Home Assistant est un logiciel domotique open-source permettant de superviser tous vos objets connectés avec une seule et même application. Lorsque nous débutons, nous avons tendance à choisir la solution de facilité, installer le serveur HA (Home Assistant) sur raspberry Pi avec une carte micro SD. Bien que cette solution soit facile, rapide et peu chère nous rencontrons rapidement des soucis avec la carte micro SD. En effet, celle-ci atteint très rapidement son nombre de cycle lecture/écriture maximal et devient inutilisable. Aujourd’hui nous allons voir ensemble comment installer Home Assistant OS et le supervisor sur un SSD ou autre stockage booté en USB.
Home Assistant : Matériel nécessaire pour l’installation
- Un Raspberry Pi 4 (4Go de RAM suffisent)
- Une carte micro SD (Nous l’utiliserons que pour le premier démarrage)
- Un boitier pour SSD en USB 3
- Un disque SSD

Maintenant que nous avons le matériel nécessaire, nous allons installer Home Assistant en mode supervisé dans Docker. Cela vous permettra également d’utiliser votre Raspberry Pi pour d’autres projets (owncloud, plex, serveur web, etc…)
Home Assistant : Configuration du Raspberry Pi
A l’aide de la carte micro SD, nous allons configurer votre Raspberry Pi 4 afin de lancer le démarrage sur le disque SSD. Lorsque le boot sera configuré pour l’USB, la carte micro SD ne sera plus utile.
Home Assistant : Flash de la carte MicroSD
Nous allons installer Raspberry Pi OS Lite dans sa version lite (sans interface graphique) afin qu’il occupe le moins de place possible.

Une fois le téléchargement terminé, nous allons utiliser le logiciel BalenaEtcher afin de flasher l’OS sur la carte MicroSD.

- Select image : Sélectionnez Raspberry Pi OS Lite sur votre ordinateur.
- Select target : Sélectionnez votre carte MicroSD.
- Flash! Démarrez le flash de l’OS sur la carte micro SD, cela peut prendre plusieurs minutes.
Home Assistant : Configuration de Raspberry Pi OS Lite
Le flash étant terminé, nous allons maintenant ajouter un fichier SSH afin de contrôler votre Raspberry Pi à distance.
Ce fichier est vide et sans extension. Il sera supprimé automatiquement lors du premier démarrage.

La préparation est terminée, vous pouvez insérer votre carte MicroSD dans la Raspberry Pi, brancher le câble Ethernet et l’alimentation. Votre système démarre !
La suite de ce tutoriel sera réalisée à distance, en ligne de commande sur le terminal de votre ordinateur. Toutes les étapes seront détaillées.
Home Assistant : Configuration pour booter sur USB/SSD
Accéder en SSH au Raspberry Pi
Pour configurer le démarrage par défaut sur USB et donc sur votre SSD nous allons utiliser le terminal de votre ordinateur. Voici comment procéder :
- Sur Windows, recherchez CMD ou invite de commandes. Une fenêtre comme celle-ci devrait apparaitre :

- Sur MacOS, recherchez terminal. Une fenêtre comme celle-ci devrait apparaitre :

Nous allons maintenant nous connecter en SSH sur le Raspberry Pi en écrivant la commande suivante dans votre terminal :
ssh pi@IP-Raspberry-Pi
Remplacez IP-Raspberry-Pi par l’adresse IP de votre Raspberry. (Pour le bon fonctionnement au quotidien, fixez l’adresse IP de votre Raspberry Pi dans les paramètres de votre modem FAI ou routeur).

Insérez le mot de passe du compte pi qui est tout simplement raspberry. Attention, le mot de passe ne s’affichera pas, il faudra ensuite cliquer sur la touche entrée pour vous connectez.
Vous serez alors connecté en tant que pi@raspberrypi comme ci-dessous :
Vous êtes connectés au raspberry pi ! 😎
Mise à jour du Raspberry Pi et du chipset
Pour partir depuis une bonne base, nous allons mettre à jour avec les commandes suivantes :sudo apt update sudo apt full-upgradePuis rebootez votre raspberry :
sudo reboot
Attendez quelques secondes, votre raspberry pi redémarre. Connectez vous à nouveau avec la commande :ssh pi@IP-Raspberry-Pi
Votre Raspberry Pi est à jour, nous allons maintenant mettre à jour le chipset permettant de booter sur un port USB 3 sans carte MicroSD. En effet, il semble que le chipset n’implémente pas correctement le protocole UAS et provoque des erreurs pouvant aller jusqu’à empêcher le Raspberry de booter.
Pour télécharger le firmware, insérez cette commande dans votre terminal :wget https://wiki.odroid.com/_media/odroid-xu4/software/jms578fwupdater.tgzIl faudra ensuite décompresser l’archive avec la commande suivante :
tar xzf jms578fwupdater
Accédez au dossier :cd JMS578FwUpdater/
Afin de poursuivre, branchez votre disque SSD sur un port USB 2 (les ports USB 2 sont noirs, les ports USB 3 sont bleus)
Nous allons maintenant identifier le chemin du disque SSD :
lsblk
Dans mon cas, le chemin de mon disque SSD est /dev/sda 
sudo ./JMS578FwUpdate -d /dev/sda -f ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin -b ./backup.binN’oubliez pas de remplacer sda si celui-ci n’est pas le chemin vers votre disque SSD. Puis redémarrez votre Raspberry :
sudo reboot
Une fois reconnecté à votre raspberry pi en ssh (ssh pi@IP-Raspberry-Pi), vous pouvez vérifier si la version du firmware est à jour :
./JMS578FwUpdate -d /dev/sda -v Bridge Firmware Version: v173.1.0.2Le firmware étant à jour, nous allons maintenant dire à notre Raspberry que nous souhaitons booter (démarrer) sur le SSD. Mettez à jour la dernière version du bootloader avec la commande suivante :
sudo rpi-eeprom-update -aPuis redémarrez et reconnectez-vous à nouveau :
sudo reboot ssh pi@IP-Raspberry-Pi
Démarrage par défaut sur USB/SSD
La mise à jour est effectuée, nous allons maintenant définir le boot par défaut sur l’USB :sudo raspi-config
A l’aide des flèches de votre clavier, sélectionnez Advanced Options puis cliquez sur entrer : 



Votre Raspberry Pi démarre maintenant depuis ses ports USB ! 😎
Cloner votre environnement sur le disque SSD
Votre disque SSD est maintenant utilisé lors du boot, cependant celui-ci est vide. En effet, nous travaillons depuis le début dans les paramètres de Raspberry Pi OS Lite se situant sur la carte MicroSD. Nous allons maintenant cloner tout cela vers le disque SSD afin de garder le même environnement pour l’installation de Docker et de Home Assistant Supervised.
Pour cela c’est très simple, insérez les lignes suivante une par une dans votre terminal :git clone https://github.com/billw2/rpi-clone.git cd rpi-clone sudo cp rpi-clone rpi-clone-setup /usr/local/sbinLe script étant installé, nous allons maintenant lancer le clonage :
sudo rpi-clone sda -fComme précédemment, n’oubliez pas de modifier sda si celui-ci n’est pas le chemin vers votre SSD. Le script vous posera certainement deux questions :
- Répondez yes à la première question puis faites entrée.
- La deuxième question est facultative, vous pouvez ne pas répondre et cliquer sur entrée pour démarrer le clonage.
Le moment le plus délicat est arrivé, nous allons vérifier si tout est bien configuré comme prévu. Eteignez le Raspberry, retirez la carte microSD puis branchez le SSD sur un port USB 3.
Pour éteindre votre Raspberry Pi proprement il suffit de lancer cette commande :sudo shutdown -h now
- Raspberry éteinte
- Disque SSD branché sur un port USB 3
- Carte MicroSD retirée
sudo ssh@IP-Raspberry-PiSi la connexion s’effectue, cela veut dire que votre Raspberry Pi démarre bien sur votre SSD ! Félicitations ! 😎
Home Assistant : Installation de Docker
Le plus dur est terminé ! Nous pouvons maintenant passer à l’installation de Docker.» Docker est un outil qui peut empaqueter une application et ses dépendances dans un conteneur isolé, qui pourra être exécuté sur n’importe quel serveur. » WikipédiaInstallez Docker avec la commande suivante :
sudo curl -sSL https://get.docker.com | sh
Puis ajoutez des droits pour le bon fonctionnement :sudo usermod -aG docker pi
Rebootez afin de prendre en compte les nouveaux droits affectés :sudo reboot ssh pi@IP-Raspberry-Pi
Installation de Home Assistant Supervised
Docker est maintenant installé, il ne reste plus qu’à déployer les conteneurs d’Home Assistant ! Les prochaines étapes doivent être effectuées en tant que root, pour cela, lancer la commande suivante :sudo su
Home Assistant demande également l’installation de quelques prérequis ainsi que l’arrêt du ModemManager afin d’éviter des conflits (lancez ces commandes une par une) :apt-get install -y software-properties-common apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager
systemctl disable ModemManager
systemctl stop ModemManager
Pour finir, il suffit d’installer les conteneurs Home Assistant Supervised avec cette commande :curl -sL https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh | bash -s -- -m raspiberrypi4Si vous êtes sur un autre modèle de Raspberry Pi, il suffit de modifier le paramètre raspiberrypi4 par :
- raspberrypi
- raspberrypi2
- raspberrypi3
- raspberrypi4
- raspberrypi3-64
- raspberrypi4-64 (Pour le modèle 8Go de RAM)
Home Assistant est en train de s’installer ! Cela peut prendre environ 20 minutes, soyez patient ! 😎
Il ne reste plus qu’à vérifier si les 7 containers sont correctement installés et lancés. Utilisez cette commande :docker ps

Home Assistant est correctement installé, vous pouvez accéder à l’interface web depuis un navigateur en tapant l’adresse suivante : http://IP-Raspberry-Pi:8123

Vous pouvez profiter pleinement de Home Assistant et de ses nombreux add-ons et plugins. N’oubliez pas d’installer File Editor et Samba Share, deux plugins indispensables pour commencer l’aventure ! Et si vous souhaitez customiser votre dashboard, suivez le tutoriel pour installer HACS le store mettant à disposition des centaines de plugins créés par la communauté !
Des difficultés ? Des questions ? N’hésitez pas à laisser un commentaire ou à rejoindre le groupe Facebook, la communauté francophone vous répondra avec plaisir ! 🙂
super tuto mais je bloque
j’ai gardé mon adresse ip fixe de mon rasp 4. mais quand je tape ssh pi@192.168.1.113 il me dit port 22 connection refused. je dois router le port 22 (habituellement j’accédai via le port 8113
oubliez mon premier post erreur idiote de ma. part fichier ssd au lieu de ssh
je pense que sur mac il faut installer Xcode avant de commencer
une erreur pour les nuls comme moi je pense
Il faudra ensuite décompresser l’archive avec la commande suivante :
tar xzf 3cdrAod. –> tar xzf jms578fwupdater.tgz
Bravo pour ce tuto qui est très clair et agréable à lire 🙂
Juste un petit point avant de lancer la commande git, il faut l’installer « sudo apt install git-all »
Merci pour ce tuto
Après l’install, je ne vois que 6 containers HA (il manque le premier)
Une idée pour avancer ?
Merci
Bonjour,
Me voilà bloqué, que dois-je faire ?
D’avance merci
pi@raspberrypi:~ $ wget https://wiki.odroid.com/_media/odroid-xu4/software/jms578fwupdater.tgz
–2021-02-07 08:26:20– https://wiki.odroid.com/_media/odroid-xu4/software/jms578fwupdater.tgz
Resolving wiki.odroid.com (wiki.odroid.com)… 211.233.81.212
Connecting to wiki.odroid.com (wiki.odroid.com)|211.233.81.212|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 2089194 (2.0M) [application/octet-stream]
Saving to: ‘jms578fwupdater.tgz’
jms578fwupdater.tgz 100%[=================================================>] 1.99M 504KB/s in 4.0s
2021-02-07 08:26:26 (504 KB/s) – ‘jms578fwupdater.tgz’ saved [2089194/2089194]
pi@raspberrypi:~ $ tar xzf jms578fwupdater
tar (child): jms578fwupdater: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
Il faut rajouter l’extension du fichier à décompresser.
tar xzf jms578fwupdater.tgz
Hello, je suis bloqué sur l’étape suivante
pi@raspberrypi:~/JMS578FwUpdater $ sudo ./JMS578FwUpdate -d /dev/sda -f ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin -b ./backup.bin
Update Firmware file name: ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin
Backup Firmware file name: ./backup.bin
CAUTION: Internal Code does NOT support backup.
Programming Fail!!
pi@raspberrypi:~/JMS578FwUpdater $ ./JMS578FwUpdate -d /dev/sda -v
ERR : open device fail
Get Bridge version FAIL!
salut
Super tuto
Moi aussi à la fin de l’install je n’ai que 6 containers : il manque le container hommeassistant
une idée du problème
merci
Bonjour
Super Tuto.
je suis également bloqué sur cette commande (pour information j’ai un Pi3 B+)
ci joint le nom de mon disque dur plus les messages,
J’utilise Bitvise pour le ssh et dans le dossier « JMS578FwUpdater »
il y a 5 fichiers si cela peu t’aider à trouver le problème ?:
JMS578-Hardkenel-Release-v173.01.00.02-20190306..bin
JMS578-v0.1.0.5.bin
JMS578_Hardkernel_v173.01.00.01.bin
JMS578FwUpdate
JMS578FwUpdate.v1.00
——————————————————————-
pi@raspberrypi:~ $ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 29.3G 0 disk
├─sda1 8:1 0 32M 0 part
├─sda2 8:2 0 24M 0 part
├─sda3 8:3 0 256M 0 part
├─sda4 8:4 0 24M 0 part
├─sda5 8:5 0 256M 0 part
├─sda6 8:6 0 8M 0 part
├─sda7 8:7 0 96M 0 part
└─sda8 8:8 0 1G 0 part
mmcblk0 179:0 0 29.7G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot
└─mmcblk0p2 179:2 0 29.5G 0 part /
————————————————————————
pi@raspberrypi:~/JMS578FwUpdater $ sudo ./JMS578FwUpdate -d /dev/sda -f ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin -b ./backup.bin
Update Firmware file name: ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin
Backup Firmware file name: ./backup.bin
Read Back to Backup Error!!
——————————————-
aurais tu une solution ?
Merci
Bonjour, le Raspberry Pi 3B+ n’a pas de probleme avec le boot usb vous pouvez directement brancher votre SSD dessus et booter sans parametrage. Les informations concernant la modification du chipset est destiné au Raspberry Pi 4
Bonjour,
Merci pour ce tutoriel.
Je suis bloqué lors de la mise à jour dur firmware.
J’ai bien identifié le bon chemin vers le dd sud, c’est SDA comme sur le tutoriel.
La réponse de la commande est : sudo ./JMS578FwUpdate -d /dev/sda -f ./JMS578-Hardkenel-Release-v173.01.00.02-20190306.bin -b ./backup.bin
sudo: ./JMS578FwUpdate: command not found