✅ Installer Home Assistant sur RPi (ou autres SBC), Debian (Méthode Docker & Supervisor)

licence

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.

:warning: 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

Préparation du Raspberry Pi

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

  1. Procédez à toutes les étapes de ce tutoriel avec une connexion Ethernet.

  2. Assurez vous que Home Assistant fonctionne en l’affichant dans votre navigateur préféré

  3. Connectez vous en SSH au RPi

  4. Tapez la commande suivante :

    sudo nano /etc/NetworkManager/NetworkManager.conf
    
  5. Ajoutez la partie concernant la désactivation de l’attribution aléatoire :

    [device]
    wifi.scan-rand-mac-address=no
    
  6. 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
    
  7. Enregistrez le fichier en tapant la commande suivante CTRL + X puis Touche O pour Oui (ou la touche Y si vous êtes en anglais)

  8. Redémarrez votre Raspberry en tapant la commande suivante :

    sudo reboot
    
  9. Débrancher votre câble Ethernet

  10. En redémarrant, Network Manager vient d’assigner pour la dernière fois une adresse MAC à votre carte Wifi (celle de fabrication)

  11. Allez récupérer, et profitez en pour la fixer, l’adresse IP du RPi connecté en Wifi

  12. Accéder à Home Assistant en tapant dans votre navigateur préféré @IP_du_RPi:8123@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

Besoin d'aide ? Cliquez ici !

Annexes

Vos sources

Suivi des modifications

  • 27/06/2022: Mise à jour, avec la procedure de @asetGem ici
  • 01/02/2021 : Passage en article officiel (:hacf_tuto: ) @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
8 « J'aime »

88 messages ont été scindés en un nouveau sujet : Commentaire Article Installation HA Supervised