Home Assistant (HA) : installation

Free new modern condominium living

Introduction

La domotique est un phénomène qui existe depuis très longtemps : on en parlait déjà dans les années 80 avec l’automatisation de l’éclairage, puis avec l’arrivée dans les années 90/2000 d’Internet, il devenait plus facile de piloter sa domotique et ce qui la composait, mais ce n’est que dans les années 2010/2020 qu’un réel essor est apparu avec plusieurs solutions commerciales, mais également OpenSource de qualité. Pour ne citer que quelques produit, on notera DomoticZ, Domogik, Yana, Jeedom… et Home Assistant.

Home Assistant (aka « HA ») est une des meilleurs solution domotique actuelle… j’ai d’ailleurs migré ma solution DomoticZ que j’utilisais depuis plus de 10 ans vers cette solution plus performante et ayant surtout la capacité de pouvoir gérer beaucoup plus de périphérique « simplement » que d’autres via un large système de plugin.

Beaucoup de choses ont déjà été dites sur HA, mais beaucoup de choses, notamment sur l’installation et la configuration de HA ne sont décrites qu’en anglais ou partiellement en français.

Je vous propose donc plusieurs articles qui seront donc en français et détaillés de façon à ce que tout novice en informatique (surtout sous Linux) puissent réussir son installation… La distribution choisie pour réaliser notre installation est une Débian version 12, mais n’importe quelle distribution Linux pourra faire l’affaire : les versions Ubuntu ou Mint font parti de la lignée Debian alors que des Fedora ou CentOS font parti du monde RedHat, il suffira alors de remplacer la commande « apt » par « yum » (ou « dnf ») si vous êtes sur l’une de ces distributions.

Cet article commence par évoquer l’installation de ZigBee2MQTT qui est un élément essentiel pour piloter les nouveaux périphériques/détecteurs, puis l’installation de HA qui abordera alors les sujets suivant :

  1. Premier lancement et premières configurations
  2. Installer et définir un thème de l’interface
  3. Les modules intégrés et les découvertes
  4. Installer et paramétrer un module

[tds_warning]ATTENTION Toutes les commandes système sous Linux seront exécutées en étant root; si vous êtes connecté sur votre serveur avec un USER normal depuis votre terminal, vous devez commencer par exécuter la commande « sudo -i » qui devrait vous passer « root » sur votre machine. Des commandes « chown » viendront régulariser certains droits sur une partie de la configuration.[/tds_warning]

Installation de ZigBee2mqtt

[tds_council] ZibBee : kesako ? Zigbee est un protocole de haut niveau permettant la communication d’équipements personnels ou domestiques équipés de petits émetteurs radios à faible consommation ; il est basé sur la norme IEEE 802.15.4 pour les réseaux à dimension personnelle (Wireless Personal Area Networks : WPAN) (Source: Wikipedia) Voyez en « Zigbee », le nouveau « wifi » pour les objets connectés, ayant la capacité de pouvoir fonctionner avec une pile pendant plusieurs mois, voir, des années, ce que ne sait pas faire le Wifi (quelque soit sa version). [/tds_council]

ZigBee2MQTT est un programme OpenSource développé en JavaScript et exécuté sur un moteur NodeJS; ses sources peuvent être trouvées sur https://github.com/zigbee2mqtt/hassio-zigbee2mqtt

[tds_note]Pourquoi utiliser des produits ZigBee ? ZigBee est une sorte de « wifi » comme vous l’aurez compris… mais l’une de ses grandes forces est de pouvoir proposer une connexion sans fils pendant des mois, voir des années. Imaginez vous installer un détecteur (d’ouverture de porte ou fenêtre, d’inondation sous votre meuble de SdB encastré, etc…) dont la pile n’aurait que 5 jours d’autonomie ? moi pas…[/tds_note]

ZigBe2MQTT est en réalité une passerelle entre les objets/périphériques ZigBee et le reste du monde…

Pour dialoguer facilement avec le reste du monde, il existe en domotique un protocole qui s’appelle « MQTT » développé par un employé d’IBM il y a plus de 20 ans (en 1999) pour lui permettre de récupérer facilement des données… d’un oléoduc  !!!

Il est en général associé à un serveur MQTT (Ex: mosquitto) qui centralisera les informations envoyées par les clients MQTT et pour les mettre à disposition des autres clients qui souhaitent traiter ces informations (Ex: Home Assistant, DomoticZ, OpenHAB, etc…).

Nous allons donc réaliser 2 étapes :

  1. Installer Mosquitto sur notre machine fonctionnant sous Linux
  2. Installer ZigBee2MQTT toujours sur la même machine Linux

Installation de Mosquitto

L’installation du serveur MQTT « Mosquitto » est ce qu’il y a de plus facile : en étant connecté « root » avec un terminal sur votre machine Linux, exécutez la commande suivante :

apt install mosquitto

Voilà !!!

Votre premier serveur est installé et fonctionnel… Facile

Bien sur on aurait pu compliquer les choses, notamment en rajoutant dans le fichier de configuration un USER et son mot de passe, un certificat, etc… mais nous sommes dans notre réseau local et il y a peu de chance que quelqu’un vienne « à l’intérieur », pirater votre installation. De plus cet article est là pour vous mettre rapidement en selle sur une solution que vous perfectionnerez par la suite…

Installation de ZigBee2MQTT

Sous Unix, l’un des principe est que tout binaire doit être exécuté avec un USER autre que root; dans le cas de ZigBee2MQTT on va créer un USER spécifique pour cela et qui s’appellera « zigbee » :

adduser zigbee

La commande va demander plusieurs choses, je vous propose de passer ces éléments en tapant plusieurs fois que la touche « Enter » de votre clavier – compris pour la définition du mot de passe :

HomeAssistant:/# adduser zigbee
Ajout de l'utilisateur « zigbee » ...
Ajout du nouveau groupe « zigbee » (1001) ...
Ajout du nouvel utilisateur « zigbee » (1001) avec le groupe « zigbee » (1001) ...
Création du répertoire personnel « /home/zigbee » ...
Copie des fichiers depuis « /etc/skel » ...
Nouveau mot de passe : 
Retapez le nouveau mot de passe : 
Aucun mot de passe n’a été fourni.
Nouveau mot de passe : 
Retapez le nouveau mot de passe : 
Aucun mot de passe n’a été fourni.
Nouveau mot de passe : 
Retapez le nouveau mot de passe : 
Aucun mot de passe n’a été fourni.
Mot de passe : Erreur de manipulation du jeton d’authentification
passwd : mot de passe inchangé
Essayer à nouveau ? [o/N]
Modifier les informations associées à un utilisateur pour zigbee
Entrer la nouvelle valeur, ou appuyer sur ENTER pour la valeur par défaut
    NOM []: 
    Numéro de chambre []: 
    Téléphone professionnel []: 
    Téléphone personnel []: 
    Autre []: 
Cette information est-elle correcte ? [O/n]
Ajout du nouvel utilisateur « zigbee » aux groupes supplémentaires « users » ...
Ajout de l'utilisateur « zigbee » au groupe « users » ...

L’installation de ZigBee2MQTT va se faire ensuite dans le dossier /opt de votre serveur : il convient donc de posséder ce type de répertoire… Dans le cas contraire, ajustez les FileSystem de votre Linux pour qu’il présente un répertoire à la racine du serveur.

[tds_note]En cas d’absence de /opt, plusieurs options s’offrent à vous :

  • créer un dossier /opt à la racine de votre machine si cette racine possède un grand espace de stockage (mini 5 Go – solution que j’ai adopté sur ma machine embarquée)
  • Créer un vrai FileSystem qui, si il sature, ne viendra pas saturer votre machine. Pour cela, il faut se référer à la solution proposée dans cet article.

Vous pouvez facilement voir si /opt est un FileSystem à part en tapant simplement la commande « df -h » dans votre terminal; si une ligne apparaît avec « /opt », c’est que votre système possède bien un FileSystem à part… Dans le cas contraire, vous n’êtes pas à l’abri d’un problème de saturation si la rotation de LOG venait à faillir par exemple et pourrait empêcher l’accès à votre serveur. [/tds_note]

Commencez par vous rendre dans /opt :

cd /opt

Pour pouvoir installer les sources de ZigBee2MQTT depuis GitHub, il faut que votre serveur possède la commande « git » : pour l’installer, rien de plus facile :

apt install git -y

Une fois arrivé dans /opt et installé la commande « git », nous allons télécharger les fichiers d’installation de ZigBee2MQTT depuis GitHub :

HomeAssistant:/opt# git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /opt/zigbee2mqtt
Clonage dans 'zigbee2mqtt'...
remote: Enumerating objects: 2409, done.
remote: Counting objects: 100% (588/588), done.
remote: Compressing objects: 100% (129/129), done.
remote: Total 2409 (delta 529), reused 466 (delta 459), pack-reused 1821
Réception d'objets: 100% (2409/2409), 464.93 Kio | 1.28 Mio/s, fait.
Résolution des deltas: 100% (1485/1485), fait.

Les sources sont maintenant installées… mais pas avec les bon droits sur les fichiers : on verra plus bas pour leur mettre les bons droits, une fois tout installé et compilé.

Mais pour l’instant, le logiciel n’est pas encore fonctionnel : pour cela il faut encore 3 choses :

  1. Installer le moteur d’exécution « NodeJS »
  2. Lancer la compilation & configuration du code
  3. Installer le service de démarrage automatique de ZigBee2MQTT

Installation de NodeJS

Debian 12 intègre nativement dans son REPO une version de « NodeJS » : à cette date, 2 versions 18.x « mineur » sont disponible (à voir via la commande « apt info nodejs -a« ) et si on lance l’installation sans indiquer la version sélectionnée, ce sera la version la plus à jour qui sera installée.

[su_highlight background= »#DDFF99″ color= »#000000″]Actuellement ZigBee2MQTT demande une version 18 minimum de NodeJS : si vous voulez être absolument sur la version la plus à jour sur ce moteur d’exécution, vous pouvez vous inspirer de ce qui est indiqué sur cette page : https://github.com/nodesource/distributions#deb-supported-versions[/su_highlight]

L’installation de NodeJS va donc se faire en lançant la commande « curl -fsSL https://deb.nodesource.com/setup_20.x | bash -« ; la commande « curl » n’étant pas installée par défaut tout comme « sudo », vous devez lancer la commande « apt install curl sudo -y » avant de lancer la commande précédente dont le résultat devrait ressembler à cela :

HomeAssistant:/opt# curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
2024-01-15 00:18:48 - Installing pre-requisites
Atteint :1 http://ftp.fr.debian.org/debian bookworm InRelease
Réception de :2 http://ftp.fr.debian.org/debian bookworm-updates InRelease [52,1 kB]
Réception de :3 http://security.debian.org/debian-security bookworm-security InRelease [48,0 kB]
Réception de :4 http://security.debian.org/debian-security bookworm-security/main Sources [72,9 kB]
Réception de :5 http://security.debian.org/debian-security bookworm-security/main amd64 Packages [134 kB]
Réception de :6 http://security.debian.org/debian-security bookworm-security/main Translation-en [80,0 kB]
387 ko réceptionnés en 0s (1 308 ko/s)                           
Lecture des listes de paquets... Fait
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
ca-certificates est déjà la version la plus récente (20230311).
curl est déjà la version la plus récente (7.88.1-10+deb12u5).
Les paquets supplémentaires suivants seront installés : 
  dirmngr gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm libassuan0 libksba8 libnpth0 pinentry-curses
Paquets suggérés :
  pinentry-gnome3 tor parcimonie xloadimage scdaemon pinentry-doc
Les NOUVEAUX paquets suivants seront installés :
  apt-transport-https dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm libassuan0 libksba8 libnpth0 pinentry-curses
0 mis à jour, 15 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 7 906 ko dans les archives.
Après cette opération, 16,0 Mo d'espace disque supplémentaires seront utilisés.
Réception de :1 http://ftp.fr.debian.org/debian bookworm/main amd64 apt-transport-https all 2.6.1 [25,2 kB]
...
Paramétrage de libksba8:amd64 (1.6.3-2) ...
Paramétrage de apt-transport-https (2.6.1) ...
Paramétrage de libnpth0:amd64 (1.6-3) ...
Paramétrage de libassuan0:amd64 (2.5.5-5) ...
Paramétrage de gnupg-l10n (2.2.40-1.1) ...
Paramétrage de gpgconf (2.2.40-1.1) ...
Paramétrage de gpg (2.2.40-1.1) ...
Paramétrage de gnupg-utils (2.2.40-1.1) ...
Paramétrage de pinentry-curses (1.2.1-1) ...
Paramétrage de gpg-agent (2.2.40-1.1) ...
Created symlink /etc/systemd/user/sockets.target.wants/gpg-agent-browser.socket → /usr/lib/systemd/user/gpg-agent-browser.socket.
Created symlink /etc/systemd/user/sockets.target.wants/gpg-agent-extra.socket → /usr/lib/systemd/user/gpg-agent-extra.socket.
Created symlink /etc/systemd/user/sockets.target.wants/gpg-agent-ssh.socket → /usr/lib/systemd/user/gpg-agent-ssh.socket.
Created symlink /etc/systemd/user/sockets.target.wants/gpg-agent.socket → /usr/lib/systemd/user/gpg-agent.socket.
Paramétrage de gpgsm (2.2.40-1.1) ...
Paramétrage de dirmngr (2.2.40-1.1) ...
Created symlink /etc/systemd/user/sockets.target.wants/dirmngr.socket → /usr/lib/systemd/user/dirmngr.socket.
Paramétrage de gpg-wks-server (2.2.40-1.1) ...
Paramétrage de gpg-wks-client (2.2.40-1.1) ...
Paramétrage de gnupg (2.2.40-1.1) ...
Traitement des actions différées (« triggers ») pour man-db (2.11.2-2) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.36-9+deb12u3) ...
Atteint :1 http://ftp.fr.debian.org/debian bookworm InRelease
Atteint :2 http://ftp.fr.debian.org/debian bookworm-updates InRelease                                      
Atteint :3 http://security.debian.org/debian-security bookworm-security InRelease                          
Réception de :4 https://deb.nodesource.com/node_20.x nodistro InRelease [12,1 kB]   
Réception de :5 https://deb.nodesource.com/node_20.x nodistro/main amd64 Packages [4 836 B]
17,0 ko réceptionnés en 0s (61,9 ko/s)    
Lecture des listes de paquets... Fait
2024-01-15 00:18:53 - Repository configured successfully. To install Node.js, run: apt-get install nodejs -y

A la fin, on nous indique de lancer la commande « apt-get install nodejs -y« , mais nous allons la compléter en installant également GCC et Make :

HomeAssistant:/opt# apt-get install -y nodejs make g++ gcc
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait
Les paquets supplémentaires suivants seront installés : 
  binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-12 fontconfig-config fonts-dejavu-core g++-12 gcc-12 libabsl20220623 libaom3 libasan8 libatomic1 libavif15 libbinutils libc-dev-bin libc-devtools
  libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libdav1d6 libde265-0 libdeflate0 libfontconfig1 libgav1-1 libgcc-12-dev libgd3 libgomp1 libgprofng0 libheif1 libisl23 libitm1 libjbig0 libjpeg62-turbo
  liblerc4 liblsan0 libmpc3 libmpfr6 libnsl-dev libnuma1 libquadmath0 librav1e0 libstdc++-12-dev libsvtav1enc1 libtiff6 libtirpc-dev libtsan2 libubsan1 libwebp7 libx265-199 libxpm4 libyuv0 linux-libc-dev
  manpages-dev rpcsvc-proto
Paquets suggérés :
  binutils-doc cpp-doc gcc-12-locales cpp-12-doc g++-multilib g++-12-multilib gcc-12-doc gcc-multilib autoconf automake libtool flex bison gdb gcc-doc gcc-12-multilib glibc-doc libgd-tools libstdc++-12-doc
  make-doc
Les NOUVEAUX paquets suivants seront installés :
  binutils binutils-common binutils-x86-64-linux-gnu cpp cpp-12 fontconfig-config fonts-dejavu-core g++ g++-12 gcc gcc-12 libabsl20220623 libaom3 libasan8 libatomic1 libavif15 libbinutils libc-dev-bin
  libc-devtools libc6-dev libcc1-0 libcrypt-dev libctf-nobfd0 libctf0 libdav1d6 libde265-0 libdeflate0 libfontconfig1 libgav1-1 libgcc-12-dev libgd3 libgomp1 libgprofng0 libheif1 libisl23 libitm1 libjbig0
  libjpeg62-turbo liblerc4 liblsan0 libmpc3 libmpfr6 libnsl-dev libnuma1 libquadmath0 librav1e0 libstdc++-12-dev libsvtav1enc1 libtiff6 libtirpc-dev libtsan2 libubsan1 libwebp7 libx265-199 libxpm4 libyuv0
  linux-libc-dev make manpages-dev nodejs rpcsvc-proto
0 mis à jour, 61 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 102 Mo dans les archives.
Après cette opération, 472 Mo d'espace disque supplémentaires seront utilisés.
Réception de :1 http://ftp.fr.debian.org/debian bookworm/main amd64 binutils-common amd64 2.40-2 [2 487 kB]
...
Paramétrage de g++-12 (12.2.0-14) ...
Paramétrage de gcc (4:12.2.0-3) ...
Paramétrage de g++ (4:12.2.0-3) ...
update-alternatives: utilisation de « /usr/bin/g++ » pour fournir « /usr/bin/c++ » (c++) en mode automatique
Traitement des actions différées (« triggers ») pour man-db (2.11.2-2) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.36-9+deb12u3) ...

 

On peut vérifier que NodeJS est correctement installé en lançant les commandes suivantes :

HomeAssistant:/opt# node --version     # devrait être V18.x, V20.x, V21.X
v20.11.0
HomeAssistant:/opt# npm --version      # devrait être 9.X or 10.X
10.2.4

Pour plus d’informations, vous pouvez lire la page du projet à ce sujet : https://www.zigbee2mqtt.io/guide/installation/01_linux.html

On peut maintenant compiler le code précédemment téléchargé de GitHub :

cd /opt/zigbee2mqtt

# Installation des dépendances (en tant qu'utilisateur "zigbee")
sudo -u zigbee npm ci      # Si cette commande échoue et retourne une erreur "ERR_SOCKET_TIMEOUT", lancez plutôt cette commande : sudo -u zigbee npm ci --maxsockets 1

# Compilation
sudo -u zigbee npm run build

Configuration ZigBee2MQTT

Pour configurer ZigBee2MQTT, vous devez déjà avoir branché votre dongle zigbee sur l’un de vos ports USB de la machine (NB: dans le cas d’une machine virtuelle, vous allez devoir associer le port USB de la machine hôte à un port de la machine virtuelle). Une fois fait, vous allez devoir repérer le port logique que Linux a donné à votre dongle. Pour cela, il faut se rendre dans le dossier « /dev/serial/by-id » et lister les périphériques connectés et découvert par Linux :

root@HomeAssistant:~# cd /dev/serial/by-id
root@HomeAssistant:/dev/serial/by-id# ls -l
total 0
lrwxrwxrwx 1 root root 13 Jan 10 18:17 usb-0658_0200-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Jan 10 18:17 usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_1809f672e1c3ec118cdf7e480af30733-if00-port0 -> ../../ttyUSB0

On trouve ici deux périphériques connecté : celui qui va nous intéresser est celui dont le nom contient « Silicon_Labs » et qui est mappé vers « ttyUSB0 » (disponible dans /dev).
Ici l’emplacement de notre dongle sera donc :
/dev/serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_1809f672e1c3ec118cdf7e480af30733-if00-port0

On garde le chemin de ce fichier (qui représente notre dongle ZigBee) et on va le mettre dans le fichier de configuration un peu plus bas. On commence avant tout par installer un fichier de configuration par défaut :

cp /opt/zigbee2mqtt/data/configuration.example.yaml /opt/zigbee2mqtt/data/configuration.yaml
nano /opt/zigbee2mqtt/data/configuration.yaml

 

Installation de HA

Pour installer un serveur HA il vous faut bien sur serveur Linux : celui-ci peut physique ou virtuel… Mais HA est également disponible via une image Docker pratique à installer sur certains NAS (Ex: Synology DS42x ou 92x) : une explication est disponible ici ou .

Si l’installation de HA peut être réalisé de différente manière, chaque méthode ne permet pas l’accès ) toutes les options dont on peut vous parler dans les articles que l’on trouve sur Internet. Le schéma suivant permet d’y voir plus clair :

La version « HA OS » est initialement prévu pour les carte ARM (Raspbery PI, Orange PI, etc…) : c’est un OS Linux que l’on installe sur une carte SD et cet OS contient une installation de HA.

La version « Container » est une version stockée dans un environnement Docker : c’est ce type d’installation que l’on réalise en général sur un NAS.

LA version « Core » est une version que l’on installe depuis les sources : pas à la porté de tout le monde !

La version « Supervised » est une version que l’on installe via Docker et qui a pour avantage comme pour la version « HA OS », de proposer tout un tas d’Add-ons qui vous permettrons de réaliser plein de chose supplémentaire et accessible directement depuis HA. C’est en général ces composants (Addon-ons) dont on parle partout mais qui ne pourra pas être disponible dans uns installation Docker par exemple (c’était mon cas… avant !).

Je vais donc décrire une installation de type « Supervised » qui intègre les Add-ons (NB : autre que les Add-ons « HAC » que l’on verra plus bas).

Votre pré-requis est d’avoir une machine fonctionnant sous Linux DEBIAN : vous trouverez dans cet article, comment faire cela. La version DEBIAN que je vais utiliser ici est la version 12 qui est la dernière à la date ou j’écris cet article.

Première chose : connectez vous sur votre machine LINUX depuis PuTTY ou une fenêtre DOS / PowerShell si vous êtes sous Windows, un terminal si vous êtes sous MacOS ou Linux.
Si vous connaissez l’adresse IP de votre machine (sinon, voir cet article), il vous suffira de taper la commande « ssh <USER>@<Adresse IP> » dans votre terminal ou simplement l’IP sur PuTTY.

Une fois connecté sur le SHELL de votre ordinateur sous Linux DEBIAN, il vous suffira de taper les commandes suivantes :

 

apt update && apt upgrade -y

apt --fix-broken install

apt autoremove -y

apt install -y apparmor jq wget curl udisks2 libglib2.0-bin network-manager dbus lsb-release systemd-journal-remote systemd-resolved nano sudo htop needrestart elinks bluez cifs-utils nfs-common 

curl -fsSL get.docker.com | sh

ATTENTION: il est possible que le système réponde qu’il n’arrive pas à accéder à « get.docker.com » : bizarrement, la résolution DNS peut ne plus fonctionner car le service qui gère le DNS est reparamétré : ce problème peut intervenir à différent moment de l’installation, gardez donc à l’esprit cette astuce :

nano /etc/systemd/resolved.conf

« nano » est l’éditeur de texte que je préfère car flexible et surtout facilement accessible à ceux qui ont du mal avec la ligne de commande : si vous préférez utiliser l’éditeur standard dans le monde UNIX, vous pouvez alors remplacer « nano » par « vi » ou « vim »…

Bref… Dans l’édition du fichier, ajoutez les 2 lignes suivantes :

DNS=1.1.1.1

FallbackDNS=1.1.1.1 8.8.8.8 1.0.0.1 8.8.4.4 2606:4700:4700::1111 2001:4860:4860::8888 2606:4700:4700::1001 2001:4860:4860::8844

Une fois le fichier édité, relancez le service « systemd-resolved » avec la commande suivante :

systemctl restart systemd-resolved.service

Avant de continuer, on va donner quelques droits root temporaire à ce USER :

nano /etc/sudoers.d/assistant

# on colle la ligne suivante, on sauvegarde et on quitte : assistant ALL=(ALL) NOPASSWD: ALL

# Sortie de l’éditeur par les touches Ctlr+o puis Ctlr+x

Pour installer la configuration de Home Assistant dans un dossier spécifique, il est possible de passer quelques commandes supplémentaires; en tant que « root« , on commence par créer un dossier « /ha » qui sera le dossier ou toute la configuration Home Assistant sera installée :

mkdir /ha

Puis on exporte la variable DATA_SHARE dans le fichier .bashrc du USER « root » :

nano ~/.bashrc

# Ajouter la ligne suivante en fin de fichier :

export DATA_SHARE= »/ha »

On n’oublie pas de « sourcer » le fichier pour prendre en considération la nouvelle variable :

source ~/.bashrc

On peut maintenant débuter l’installation de Home Assistant.

On télécharge et installons les deux principaux fichiers :

wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_x86_64.deb

wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb

dpkg -i os-agent_1.6.0_linux_x86_64.deb

dpkg --force-confdef --force-confold -i homeassistant-supervised.deb


…puis on redémarre l’ordinateur :

reboot

 

Note : il est possible que des message d’erreur apparaissent (NB : je suis sur Debian 12.9), indiquant que la commande APT à rencontré des problèmes

« dpkg: erreur de traitement du paquet homeassistant-supervised (–install)« 

Utilisez alors la commande suivante qui règlera le problème normalement :

« apt –fix-broken install« 

 

Une fois le reboot de la machine effectué, on se rend à l’adresse qui avait été indiqué à la fin de l’installation du paquet « homeassistant-supervised.deb » : http://<votre @IP>:8123

[info] Within a few minutes you will be able to reach Home Assistant at:
[info] http://homeassistant.local:8123 or using the IP address of your
[info] machine: http://192.168.0.35:8123
[warn] A reboot is required to apply changes to grub.

La suite se passe maintenant dans un autre article : initialisation de Home Assistant

Comments

No comments yet. Why don’t you start the discussion?

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.