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 lĂ .

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.