Le Raspberry Pi 4 est une belle machine puissante mais l’installation de Home Assistant via HassOS condamne votre SBC (Single Bord Computer) au seul usage de Home Assistant.
Nous allons voir dans cet article, comment installer Home Assistant avec le supervisor sur votre Raspberry Pi.
Cette méthode est applicable à d’autres matériels dont voici la liste en image et disponible sur le GitHub. Par contre les dépendances installés dans la première partie peuvent différer.
Cette technique est aussi utilisable pour l’installation de Home Assistant sur Raspberry depuis un SSD non compatible avec HassOS.
L’installation de Home Assistant Supervised doit se faire avec une connexion Ethernet et non Wifi. Si toutefois vous souhaitez utiliser votre RPi en Wifi, je vous invite à suivre l’explication dans Trucs & Astuces (en bas de l’article) Merci à @Clemalex .
Niveau requis
- Débutant / Intermédiaire / Avancé
Matériels nécessaires / Matériels utilisés / Prérequis
- Avoir installé Raspberry Pi OS (Raspbian) sur votre Raspberry (Version Lite suffisante).
- carte SD de 16Go min
- 1 ordinateur pour flasher la carte SD**
Préparation du Raspberry Pi
- Connectez vous en SSH (voir Connexion SSH Windows, Linux, Mac).
- Taper les commandes de mise a jour (Voir pré-requis).
- Changer le password de connexion.
Installation des mises a jour et suppression des paquets orphelins
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
Cette étape peut prendre du temps en fonction de votre connexion internet.5/10 minutes.
Installation des packages nécessaires pour HA supervized :
# Supprimer les packages inutilisés
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
# Installer les dependences
sudo apt install \
python3-pip \
jq \
wget \
uidmap \
curl \
udisks2 \
libglib2.0-bin \
network-manager \
apparmor-utils \
apt-transport-https \
software-properties-common \
avahi-daemon \
ca-certificates \
dbus -y
Ça défile mais je ne vais pas tous mettre.
Arrêt du paquet ModemManager
sudo systemctl disable ModemManager
sudo systemctl stop ModemManager
Installer et configurer docker :
curl -fsSL get.docker.com | sh
# autoriser docker à se connecter sans être root. Remplacez <login> par le vôtre. Par défaut, c'est 'pi'.
dockerd-rootless-setuptool.sh install
sudo usermod -aG docker <login> # le login utilisé pour se connecter en ssh au RPi
sudo systemctl enable docker
sudo systemctl start docker
Installer os-agent.
Les différentes versions disponibles sont ici : Releases · home-assistant/os-agent · GitHub. Choisir :
- RPi 3 : version
armv7
- RPi4 : version
aarch64
- Si l’installation se faisait sur un PC ou une VM : version
x86_64
Téléchargement et installation (en adaptant la version au matériel) :
wget https://github.com/home-assistant/os-agent/releases/download/1.2.2/os-agent_1.2.2_linux_aarch64.deb
sudo dpkg -i os-agent_1.2.2_linux_aarch64.deb
Installation de HA supervized
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
sudo dpkg -i homeassistant-supervised.deb
sudo reboot
HA devrait être installé et, au bout de quelques minutes, devrait être accessible à l’adresse http://homeassistant.local:8123 ou http://[IP du RPi]:8123
Il va falloir patienter le temps que tous les containers se télécharge, vous pouvez suivre l’avancement avec la commande sudo docker ps
, une fois tout installé vous devriez avoir autant de container que l’image ci-dessous.
Vous avez Home Assistant d’installé accessible à l’adresse indiqué (http://192.168.10.2:8123).
Pour la première configuration, je vous conseille de suivre le tutoriel Home Assistant première configuration
Conclusion
Vous avez maintenant une installation de Home Assistant toute fraîche. Vous pouvez maintenant installer quelques extensions importantes comme File Editor, Samba ou créer votre premier sensor.
Trucs & Astuces
Changement d’IP, problème avec NetworkManger
Même si vous ne comptez pas utiliser le Wi-Fi de suite, il est préférable de faire la manipulation, cela ne sera que bénéfique.
Cliquez pour afficher l'explication
Lors des étapes de préparation et d’exécution du script d’installation, un paquet du nom de Network Manager
est installé et redémarré plusieurs fois.
Ce paquet, par défaut, attribut à chaque démarrage de la machine (ou du service) une nouvelle adresse MAC à la carte Wifi du RPi.
Ce changement d’adresse MAC, entraîne une déconnexion du RPi avec la box et celle-ci lui assigne une nouvelle adresse IP.
C’est cette déconnexion de la box qui entraîne plus loin une erreur lors de la récupération des binaires faite par le script d’installation.
Si toutefois, à terme, vous souhaitez utiliser votre RPi en Wifi :
Pré-requis : Avoir procédé à la configuration WIfi de votre RPi
-
Procédez à toutes les étapes de ce tutoriel avec une connexion Ethernet.
-
Assurez vous que Home Assistant fonctionne en l’affichant dans votre navigateur préféré
-
Connectez vous en SSH au RPi
-
Tapez la commande suivante :
sudo nano /etc/NetworkManager/NetworkManager.conf
-
Ajoutez la partie concernant la désactivation de l’attribution aléatoire :
[device] wifi.scan-rand-mac-address=no
-
Vous devriez avoir ce contenu :
[main] dns=default plugins=keyfile autoconnect-retries-default=0 rc-manager=file [keyfile] unmanaged-devices=type:bridge;type:tun;type:veth [logging] backend=journal [device] wifi.scan-rand-mac-address=no
-
Enregistrez le fichier en tapant la commande suivante
CTRL
+X
puis ToucheO
pour Oui (ou la toucheY
si vous êtes en anglais) -
Redémarrez votre Raspberry en tapant la commande suivante :
sudo reboot
-
Débrancher votre câble Ethernet
-
En redémarrant,
Network Manager
vient d’assigner pour la dernière fois une adresse MAC à votre carte Wifi (celle de fabrication) -
Allez récupérer, et profitez en pour la fixer, l’adresse IP du RPi connecté en Wifi
-
Accéder à Home Assistant en tapant dans votre navigateur préféré
@IP_du_RPi:8123
où@IP_du_RPi
correspond à l’adresse ip récupérée à l’étape précédente.
Lister, stopper, supprimer des containers
Voici quelques commandes vous permettant de suivre vos containers.
ATTENTION : Faites bien une sauvegarde complète de votre Home Assistant avant.
Connectez vous en SSH.
Listes les container installés :
sudo docker container ls
ou sudo docker ps
Stopper les containers installés :
docker stop my_container
ou docker stop $(docker ps -a -q)
pour tous les arrêter.
Supprimer les containers installés :
docker rm my_container
ou docker rm$(docker ps -a -q)
pour tous les supprimer (container arrêtés seulement).
Revenir en arrière
Dans les articles, il est rarement indiquer comment revenir en arrière, voici donc quelques commandes qui vous permettront de revenir en arrière pour, par exemple, passer d’une installation 32bits à 64bits.
Dans cette installation, les commandes citées ci-dessus ne permettent pas de supprimer vos containers, car ils sont relancés automatiquement.
Voici la méthode pour revenir en arrière sans devoir réinstaller votre Raspbian. Nous allons donc supprimer docker et les fichiers associés.
sudo apt-get remove --purge docker* -y && sudo apt autoremove docker-ce* -y && sudo apt autoremove docker-ce-cli* -y && sudo rm -rf /var/lib/docker && sudo rm -rf /etc/docker && sudo rm -rf /usr/share/hassio && sudo apt-get autoremove && sudo apt-get autoclean
Pour finir un redémarrage.
sudo reboot
Il vous suffit maintenant de suivre de nouveau l’article.
Une question, un problème
Annexes
Vos sources
- Installing Home Assistant Supervised on Debian 10
- Install Home Assistant Supervised
- Démarrer son Raspberry Pi 4 sur SSD
- Docker
- Home Assistant première configuration
- File Editor
- créer votre premier sensor
- Désinstaller Docker proprement
Suivi des modifications
- 27/06/2022: Mise à jour, avec la procedure de @asetGem ici
- 01/02/2021 : Passage en article officiel ( ) @Sylvain_G
- 14/11/2020 : Remise dans le bon ordre des commandes et ajout d’un dépôt annexe (Problème Network Manager)
- 13/11/2020 : Ajout des commande pour supprimer les containers
- 06/11/2020 : V2 @Clemalex @McFly
- 15/10/2020 : V1 @McFly