{"id":28740,"date":"2024-05-08T23:26:01","date_gmt":"2024-05-08T21:26:01","guid":{"rendered":"https:\/\/www.domorizon.eu\/blog\/?p=28740"},"modified":"2025-03-05T12:51:24","modified_gmt":"2025-03-05T10:51:24","slug":"home-assistant-ha-installation","status":"publish","type":"post","link":"https:\/\/www.domorizon.eu\/blog\/home-assistant-ha-installation\/","title":{"rendered":"Home Assistant (HA) : installation"},"content":{"rendered":"\r\n<h2 class=\"wp-block-heading\">Introduction<\/h2>\r\n\r\n\r\n\r\n<p id=\"Introduction\">La domotique est un ph\u00e9nom\u00e8ne qui existe depuis tr\u00e8s longtemps : on en parlait d\u00e9j\u00e0 dans les ann\u00e9es 80 avec l\u2019automatisation de l&rsquo;\u00e9clairage, puis avec l&rsquo;arriv\u00e9e dans les ann\u00e9es 90\/2000 d&rsquo;Internet, il devenait plus facile de piloter sa domotique et ce qui la composait, mais ce n&rsquo;est que dans les ann\u00e9es 2010\/2020 qu&rsquo;un r\u00e9el essor est apparu avec plusieurs solutions commerciales, mais \u00e9galement OpenSource de qualit\u00e9. Pour ne citer que quelques produit, on notera DomoticZ, Domogik, Yana, Jeedom&#8230; et Home Assistant.<\/p>\r\n\r\n\r\n\r\n<p>Home Assistant (aka \u00ab\u00a0HA\u00a0\u00bb) est une des meilleurs solution domotique actuelle&#8230; j&rsquo;ai d&rsquo;ailleurs migr\u00e9 ma solution DomoticZ que j&rsquo;utilisais depuis plus de 10 ans vers cette solution plus performante et ayant surtout la capacit\u00e9 de pouvoir g\u00e9rer beaucoup plus de p\u00e9riph\u00e9rique \u00ab\u00a0simplement\u00a0\u00bb que d&rsquo;autres via un large syst\u00e8me de plugin.<\/p>\r\n\r\n\r\n\r\n<p>Beaucoup de choses ont d\u00e9j\u00e0 \u00e9t\u00e9 dites sur HA, mais beaucoup de choses, notamment sur l&rsquo;installation et la configuration de HA ne sont d\u00e9crites qu&rsquo;en anglais ou partiellement en fran\u00e7ais.<\/p>\r\n\r\n\r\n\r\n<p>Je vous propose donc plusieurs articles qui seront donc en fran\u00e7ais et d\u00e9taill\u00e9s de fa\u00e7on \u00e0 ce que tout novice en informatique (surtout sous Linux) puissent r\u00e9ussir son installation&#8230; La distribution choisie pour r\u00e9aliser notre installation est une D\u00e9bian version 12, mais n&rsquo;importe quelle distribution Linux pourra faire l&rsquo;affaire : les versions Ubuntu ou Mint font parti de la lign\u00e9e Debian alors que des Fedora ou CentOS font parti du monde RedHat, il suffira alors de remplacer la commande \u00ab\u00a0apt\u00a0\u00bb par \u00ab\u00a0yum\u00a0\u00bb (ou \u00ab\u00a0dnf\u00a0\u00bb) si vous \u00eates sur l&rsquo;une de ces distributions.<\/p>\r\n\r\n\r\n\r\n<p>Cet article commence par \u00e9voquer l&rsquo;installation de <a href=\"https:\/\/www.zigbee2mqtt.io\/\" target=\"_blank\" rel=\"noopener\">ZigBee2MQTT<\/a> qui est un \u00e9l\u00e9ment essentiel pour piloter les nouveaux p\u00e9riph\u00e9riques\/d\u00e9tecteurs, puis l&rsquo;installation de HA qui abordera alors les sujets suivant :<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li>Premier lancement et premi\u00e8res configurations<\/li>\r\n\r\n\r\n\r\n<li>Installer et d\u00e9finir un th\u00e8me de l&rsquo;interface<\/li>\r\n\r\n\r\n\r\n<li>Les modules int\u00e9gr\u00e9s et les d\u00e9couvertes<\/li>\r\n\r\n\r\n\r\n<li>Installer et param\u00e9trer un module<\/li>\r\n<\/ol>\r\n\r\n\r\n<p>[tds_warning]<span style=\"color: #800000;\"><em>ATTENTION <\/em><\/span> Toutes les commandes syst\u00e8me sous Linux seront ex\u00e9cut\u00e9es en \u00e9tant <em>root<\/em>; si vous \u00eates connect\u00e9 sur votre serveur avec un USER normal depuis votre terminal, vous devez commencer par ex\u00e9cuter la commande \u00ab\u00a0<em>sudo -i<\/em>\u00a0\u00bb qui devrait vous passer \u00ab\u00a0<em>root<\/em>\u00a0\u00bb sur votre machine. Des commandes \u00ab\u00a0<em>chown<\/em>\u00a0\u00bb viendront r\u00e9gulariser certains droits sur une partie de la configuration.[\/tds_warning]<\/p>\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Installation de ZigBee2mqtt<\/h2>\r\n\r\n\r\n<p>[tds_council] <span style=\"color: #000000;\"><em><span style=\"color: #800000;\">ZibBee : kesako<\/span> ? <\/em><\/span> Zigbee est un protocole de haut niveau permettant la communication d&rsquo;\u00e9quipements personnels ou domestiques \u00e9quip\u00e9s de petits \u00e9metteurs radios \u00e0 faible consommation ; il est bas\u00e9 sur la norme IEEE 802.15.4 pour les r\u00e9seaux \u00e0 dimension personnelle (Wireless Personal Area Networks : WPAN) (Source: <a href=\"https:\/\/fr.wikipedia.org\/wiki\/ZigBee\" target=\"_blank\" rel=\"noopener\">Wikipedia<\/a>) Voyez en \u00ab\u00a0Zigbee\u00a0\u00bb, le nouveau \u00ab\u00a0wifi\u00a0\u00bb pour les objets connect\u00e9s, ayant la capacit\u00e9 de pouvoir fonctionner avec une pile pendant plusieurs mois, voir, des ann\u00e9es, ce que ne sait pas faire le Wifi (quelque soit sa version). [\/tds_council]<\/p>\n\r\n\r\n\r\n<p>ZigBee2MQTT est un programme OpenSource d\u00e9velopp\u00e9 en JavaScript et ex\u00e9cut\u00e9 sur un moteur NodeJS; ses sources peuvent \u00eatre trouv\u00e9es sur <a href=\"https:\/\/github.com\/zigbee2mqtt\/hassio-zigbee2mqtt\">https:\/\/github.com\/zigbee2mqtt\/hassio-zigbee2mqtt<\/a><\/p>\r\n\r\n\r\n<p>[tds_note]<span style=\"color: #800000;\"><em>Pourquoi utiliser des produits ZigBee ?<\/em> <\/span> ZigBee est une sorte de \u00ab\u00a0<em>wifi<\/em>\u00a0\u00bb comme vous l&rsquo;aurez compris&#8230; mais l&rsquo;une de ses grandes forces est de pouvoir proposer une connexion sans fils pendant des mois, voir des ann\u00e9es. Imaginez vous installer un d\u00e9tecteur (d&rsquo;ouverture de porte ou fen\u00eatre, d&rsquo;inondation sous votre meuble de SdB encastr\u00e9, etc&#8230;) dont la pile n&rsquo;aurait que 5 jours d&rsquo;autonomie ? moi pas&#8230;[\/tds_note]<\/p>\n\r\n\r\n\r\n<p>ZigBe2MQTT est en r\u00e9alit\u00e9 une passerelle entre les objets\/p\u00e9riph\u00e9riques ZigBee et le reste du monde&#8230;<\/p>\r\n\r\n\r\n\r\n<p>Pour dialoguer facilement avec le reste du monde, il existe en domotique un protocole qui s&rsquo;appelle \u00ab\u00a0MQTT\u00a0\u00bb d\u00e9velopp\u00e9 par un employ\u00e9 d&rsquo;IBM il y a plus de 20 ans (en 1999) pour lui permettre de r\u00e9cup\u00e9rer facilement des donn\u00e9es&#8230; d&rsquo;un ol\u00e9oduc\u00a0 !!!<\/p>\r\n\r\n\r\n\r\n<p>Il est en g\u00e9n\u00e9ral associ\u00e9 \u00e0 un serveur MQTT (Ex: mosquitto) qui centralisera les informations envoy\u00e9es par les clients MQTT et pour les mettre \u00e0 disposition des autres clients qui souhaitent traiter ces informations (Ex: Home Assistant, DomoticZ, OpenHAB, etc&#8230;).<\/p>\r\n\r\n\r\n\r\n<p>Nous allons donc r\u00e9aliser 2 \u00e9tapes :<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li>Installer Mosquitto sur notre machine fonctionnant sous Linux<\/li>\r\n\r\n\r\n\r\n<li>Installer ZigBee2MQTT toujours sur la m\u00eame machine Linux<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h3 id=\"Install-mosquitto\" class=\"wp-block-heading\">Installation de Mosquitto<\/h3>\r\n\r\n\r\n\r\n<p>L&rsquo;installation du serveur MQTT \u00ab\u00a0Mosquitto\u00a0\u00bb est ce qu&rsquo;il y a de plus facile : en \u00e9tant connect\u00e9 \u00ab\u00a0root\u00a0\u00bb avec un terminal sur votre machine Linux, ex\u00e9cutez la commande suivante :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\napt install mosquitto\r\n<\/pre><\/div>\r\n\r\n\r\n<p>Voil\u00e0 !!!<\/p>\r\n\r\n\r\n\r\n<p>Votre premier serveur est install\u00e9 et fonctionnel&#8230; Facile<\/p>\r\n\r\n\r\n\r\n<p>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&#8230; mais nous sommes dans notre r\u00e9seau local et il y a peu de chance que quelqu&rsquo;un vienne \u00ab\u00a0\u00e0 l\u2019int\u00e9rieur\u00a0\u00bb, pirater votre installation. De plus cet article est l\u00e0 pour vous mettre rapidement en selle sur une solution que vous perfectionnerez par la suite&#8230;<\/p>\r\n\r\n\r\n\r\n<h3 id=\"Install-zigbee2mqtt\" class=\"wp-block-heading\">Installation de ZigBee2MQTT<\/h3>\r\n\r\n\r\n\r\n<p>Sous Unix, l&rsquo;un des principe est que tout binaire doit \u00eatre ex\u00e9cut\u00e9 avec un USER autre que root; dans le cas de ZigBee2MQTT on va cr\u00e9er un USER sp\u00e9cifique pour cela et qui s&rsquo;appellera \u00ab\u00a0zigbee\u00a0\u00bb :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nadduser zigbee\r\n<\/pre><\/div>\r\n\r\n\r\n<p>La commande va demander plusieurs choses, je vous propose de passer ces \u00e9l\u00e9ments en tapant plusieurs fois que la touche \u00ab\u00a0<em>Enter<\/em>\u00a0\u00bb de votre clavier &#8211; compris pour la d\u00e9finition du mot de passe :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nHomeAssistant:\/# adduser zigbee\r\nAjout de l&#039;utilisateur \u00ab\u00a0zigbee\u00a0\u00bb ...\r\nAjout du nouveau groupe \u00ab\u00a0zigbee\u00a0\u00bb (1001) ...\r\nAjout du nouvel utilisateur \u00ab\u00a0zigbee\u00a0\u00bb (1001) avec le groupe \u00ab\u00a0zigbee\u00a0\u00bb (1001) ...\r\nCr\u00e9ation du r\u00e9pertoire personnel \u00ab\u00a0\/home\/zigbee\u00a0\u00bb ...\r\nCopie des fichiers depuis \u00ab\u00a0\/etc\/skel\u00a0\u00bb ...\r\nNouveau mot de passe\u00a0: \r\nRetapez le nouveau mot de passe\u00a0: \r\nAucun mot de passe n\u2019a \u00e9t\u00e9 fourni.\r\nNouveau mot de passe\u00a0: \r\nRetapez le nouveau mot de passe\u00a0: \r\nAucun mot de passe n\u2019a \u00e9t\u00e9 fourni.\r\nNouveau mot de passe\u00a0: \r\nRetapez le nouveau mot de passe\u00a0: \r\nAucun mot de passe n\u2019a \u00e9t\u00e9 fourni.\r\nMot de passe\u00a0: Erreur de manipulation du jeton d\u2019authentification\r\npasswd\u00a0: mot de passe inchang\u00e9\r\nEssayer \u00e0 nouveau\u00a0? &#x5B;o\/N]\r\nModifier les informations associ\u00e9es \u00e0 un utilisateur pour zigbee\r\nEntrer la nouvelle valeur, ou appuyer sur ENTER pour la valeur par d\u00e9faut\r\n    NOM &#x5B;]: \r\n    Num\u00e9ro de chambre &#x5B;]: \r\n    T\u00e9l\u00e9phone professionnel &#x5B;]: \r\n    T\u00e9l\u00e9phone personnel &#x5B;]: \r\n    Autre &#x5B;]: \r\nCette information est-elle correcte\u00a0? &#x5B;O\/n]\r\nAjout du nouvel utilisateur \u00ab\u00a0zigbee\u00a0\u00bb aux groupes suppl\u00e9mentaires \u00ab\u00a0users\u00a0\u00bb ...\r\nAjout de l&#039;utilisateur \u00ab\u00a0zigbee\u00a0\u00bb au groupe \u00ab\u00a0users\u00a0\u00bb ...\r\n<\/pre><\/div>\r\n\r\n\r\n<p>L&rsquo;installation de ZigBee2MQTT va se faire ensuite dans le dossier \/opt de votre serveur : il convient donc de poss\u00e9der ce type de r\u00e9pertoire&#8230; Dans le cas contraire, ajustez les FileSystem de votre Linux pour qu&rsquo;il pr\u00e9sente un r\u00e9pertoire \u00e0 la racine du serveur.<\/p>\r\n\r\n\r\n<p>[tds_note]En cas d&rsquo;absence de \/opt, plusieurs options s&rsquo;offrent \u00e0 vous :<\/p>\n<ul>\n<li>cr\u00e9er un dossier \/opt \u00e0 la racine de votre machine si cette racine poss\u00e8de un grand espace de stockage (mini 5 Go &#8211; solution que j&rsquo;ai adopt\u00e9 sur ma machine embarqu\u00e9e)<\/li>\n<li>Cr\u00e9er un vrai FileSystem qui, si il sature, ne viendra pas saturer votre machine. Pour cela, il faut se r\u00e9f\u00e9rer \u00e0 la solution propos\u00e9e dans cet article.<\/li>\n<\/ul>\n<p>Vous pouvez facilement voir si \/opt est un FileSystem \u00e0 part en tapant simplement la commande \u00ab\u00a0df -h\u00a0\u00bb dans votre terminal; si une ligne appara\u00eet avec \u00ab\u00a0\/opt\u00a0\u00bb, c&rsquo;est que votre syst\u00e8me poss\u00e8de bien un FileSystem \u00e0 part&#8230; Dans le cas contraire, vous n\u2019\u00eates pas \u00e0 l\u2019abri d&rsquo;un probl\u00e8me de saturation si la rotation de LOG venait \u00e0 faillir par exemple et pourrait emp\u00eacher l&rsquo;acc\u00e8s \u00e0 votre serveur. [\/tds_note]<\/p>\n\r\n\r\n\r\n<p>Commencez par vous rendre dans \/opt :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncd \/opt\r\n<\/pre><\/div>\r\n\r\n\r\n<p>Pour pouvoir installer les sources de ZigBee2MQTT depuis GitHub, il faut que votre serveur poss\u00e8de la commande \u00ab\u00a0git\u00a0\u00bb : pour l&rsquo;installer, rien de plus facile :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\napt install git -y\r\n<\/pre><\/div>\r\n\r\n\r\n<p>Une fois arriv\u00e9 dans \/opt et install\u00e9 la commande \u00ab\u00a0git\u00a0\u00bb, nous allons t\u00e9l\u00e9charger les fichiers d&rsquo;installation de ZigBee2MQTT depuis GitHub :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\nHomeAssistant:\/opt# git clone --depth 1 https:\/\/github.com\/Koenkk\/zigbee2mqtt.git \/opt\/zigbee2mqtt\r\nClonage dans &#039;zigbee2mqtt&#039;...\r\nremote: Enumerating objects: 2409, done.\r\nremote: Counting objects: 100% (588\/588), done.\r\nremote: Compressing objects: 100% (129\/129), done.\r\nremote: Total 2409 (delta 529), reused 466 (delta 459), pack-reused 1821\r\nR\u00e9ception d&#039;objets: 100% (2409\/2409), 464.93 Kio | 1.28 Mio\/s, fait.\r\nR\u00e9solution des deltas: 100% (1485\/1485), fait.\r\n<\/pre><\/div>\r\n\r\n\r\n<p>Les sources sont maintenant install\u00e9es&#8230; mais pas avec les bon droits sur les fichiers : on verra plus bas pour leur mettre les bons droits, une fois tout install\u00e9 et compil\u00e9.<\/p>\r\n\r\n\r\n\r\n<p>Mais pour l&rsquo;instant, le logiciel n&rsquo;est pas encore fonctionnel : pour cela il faut encore 3 choses :<\/p>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li>Installer le moteur d&rsquo;ex\u00e9cution \u00ab\u00a0NodeJS\u00a0\u00bb<\/li>\r\n\r\n\r\n\r\n<li>Lancer la compilation &amp; configuration du code<\/li>\r\n\r\n\r\n\r\n<li>Installer le service de d\u00e9marrage automatique de ZigBee2MQTT<\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">Installation de NodeJS<\/h3>\r\n\r\n\r\n\r\n<p>Debian 12 int\u00e8gre nativement dans son REPO une version de \u00ab\u00a0NodeJS\u00a0\u00bb : \u00e0 cette date, 2 versions 18.x \u00ab\u00a0mineur\u00a0\u00bb sont disponible (\u00e0 voir via la commande \u00ab\u00a0<em>apt info nodejs -a<\/em>\u00ab\u00a0) et si on lance l&rsquo;installation sans indiquer la version s\u00e9lectionn\u00e9e, ce sera la version la plus \u00e0 jour qui sera install\u00e9e.<\/p>\r\n\r\n\r\n\r\n<p>[su_highlight background=\u00a0\u00bb#DDFF99&Prime; color=\u00a0\u00bb#000000&Prime;]Actuellement ZigBee2MQTT demande une version 18 minimum de NodeJS : si vous voulez \u00eatre absolument sur la version la plus \u00e0 jour sur ce moteur d&rsquo;ex\u00e9cution, vous pouvez vous inspirer de ce qui est indiqu\u00e9 sur cette page : <a href=\"https:\/\/github.com\/nodesource\/distributions#deb-supported-versions\">https:\/\/github.com\/nodesource\/distributions#deb-supported-versions<\/a>[\/su_highlight]<\/p>\r\n\r\n\r\n\r\n<p>L&rsquo;installation de NodeJS va donc se faire en lan\u00e7ant la commande \u00ab\u00a0curl -fsSL https:\/\/deb.nodesource.com\/setup_20.x | bash -\u00ab\u00a0; la commande \u00ab\u00a0curl\u00a0\u00bb n&rsquo;\u00e9tant pas install\u00e9e par d\u00e9faut tout comme \u00ab\u00a0sudo\u00a0\u00bb, vous devez lancer la commande \u00ab\u00a0<em>apt install curl sudo -y<\/em>\u00a0\u00bb avant de lancer la commande pr\u00e9c\u00e9dente dont le r\u00e9sultat devrait ressembler \u00e0 cela :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nHomeAssistant:\/opt# curl -fsSL https:\/\/deb.nodesource.com\/setup_20.x | bash -\r\n2024-01-15 00:18:48 - Installing pre-requisites\r\nAtteint\u00a0:1 http:\/\/ftp.fr.debian.org\/debian bookworm InRelease\r\nR\u00e9ception de\u00a0:2 http:\/\/ftp.fr.debian.org\/debian bookworm-updates InRelease &#x5B;52,1 kB]\r\nR\u00e9ception de\u00a0:3 http:\/\/security.debian.org\/debian-security bookworm-security InRelease &#x5B;48,0 kB]\r\nR\u00e9ception de\u00a0:4 http:\/\/security.debian.org\/debian-security bookworm-security\/main Sources &#x5B;72,9 kB]\r\nR\u00e9ception de\u00a0:5 http:\/\/security.debian.org\/debian-security bookworm-security\/main amd64 Packages &#x5B;134 kB]\r\nR\u00e9ception de\u00a0:6 http:\/\/security.debian.org\/debian-security bookworm-security\/main Translation-en &#x5B;80,0 kB]\r\n387 ko r\u00e9ceptionn\u00e9s en 0s (1\u202f308 ko\/s)                           \r\nLecture des listes de paquets... Fait\r\nLecture des listes de paquets... Fait\r\nConstruction de l&#039;arbre des d\u00e9pendances... Fait\r\nLecture des informations d&#039;\u00e9tat... Fait      \r\nca-certificates est d\u00e9j\u00e0 la version la plus r\u00e9cente (20230311).\r\ncurl est d\u00e9j\u00e0 la version la plus r\u00e9cente (7.88.1-10+deb12u5).\r\nLes paquets suppl\u00e9mentaires suivants seront install\u00e9s\u00a0: \r\n  dirmngr gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm libassuan0 libksba8 libnpth0 pinentry-curses\r\nPaquets sugg\u00e9r\u00e9s\u00a0:\r\n  pinentry-gnome3 tor parcimonie xloadimage scdaemon pinentry-doc\r\nLes NOUVEAUX paquets suivants seront install\u00e9s\u00a0:\r\n  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\r\n0 mis \u00e0 jour, 15 nouvellement install\u00e9s, 0 \u00e0 enlever et 0 non mis \u00e0 jour.\r\nIl est n\u00e9cessaire de prendre 7\u202f906 ko dans les archives.\r\nApr\u00e8s cette op\u00e9ration, 16,0 Mo d&#039;espace disque suppl\u00e9mentaires seront utilis\u00e9s.\r\nR\u00e9ception de\u00a0:1 http:\/\/ftp.fr.debian.org\/debian bookworm\/main amd64 apt-transport-https all 2.6.1 &#x5B;25,2 kB]\r\n...\r\nParam\u00e9trage de libksba8:amd64 (1.6.3-2) ...\r\nParam\u00e9trage de apt-transport-https (2.6.1) ...\r\nParam\u00e9trage de libnpth0:amd64 (1.6-3) ...\r\nParam\u00e9trage de libassuan0:amd64 (2.5.5-5) ...\r\nParam\u00e9trage de gnupg-l10n (2.2.40-1.1) ...\r\nParam\u00e9trage de gpgconf (2.2.40-1.1) ...\r\nParam\u00e9trage de gpg (2.2.40-1.1) ...\r\nParam\u00e9trage de gnupg-utils (2.2.40-1.1) ...\r\nParam\u00e9trage de pinentry-curses (1.2.1-1) ...\r\nParam\u00e9trage de gpg-agent (2.2.40-1.1) ...\r\nCreated symlink \/etc\/systemd\/user\/sockets.target.wants\/gpg-agent-browser.socket \u2192 \/usr\/lib\/systemd\/user\/gpg-agent-browser.socket.\r\nCreated symlink \/etc\/systemd\/user\/sockets.target.wants\/gpg-agent-extra.socket \u2192 \/usr\/lib\/systemd\/user\/gpg-agent-extra.socket.\r\nCreated symlink \/etc\/systemd\/user\/sockets.target.wants\/gpg-agent-ssh.socket \u2192 \/usr\/lib\/systemd\/user\/gpg-agent-ssh.socket.\r\nCreated symlink \/etc\/systemd\/user\/sockets.target.wants\/gpg-agent.socket \u2192 \/usr\/lib\/systemd\/user\/gpg-agent.socket.\r\nParam\u00e9trage de gpgsm (2.2.40-1.1) ...\r\nParam\u00e9trage de dirmngr (2.2.40-1.1) ...\r\nCreated symlink \/etc\/systemd\/user\/sockets.target.wants\/dirmngr.socket \u2192 \/usr\/lib\/systemd\/user\/dirmngr.socket.\r\nParam\u00e9trage de gpg-wks-server (2.2.40-1.1) ...\r\nParam\u00e9trage de gpg-wks-client (2.2.40-1.1) ...\r\nParam\u00e9trage de gnupg (2.2.40-1.1) ...\r\nTraitement des actions diff\u00e9r\u00e9es (\u00ab\u00a0triggers\u00a0\u00bb) pour man-db (2.11.2-2)\u00a0...\r\nTraitement des actions diff\u00e9r\u00e9es (\u00ab\u00a0triggers\u00a0\u00bb) pour libc-bin (2.36-9+deb12u3)\u00a0...\r\nAtteint\u00a0:1 http:\/\/ftp.fr.debian.org\/debian bookworm InRelease\r\nAtteint\u00a0:2 http:\/\/ftp.fr.debian.org\/debian bookworm-updates InRelease                                      \r\nAtteint\u00a0:3 http:\/\/security.debian.org\/debian-security bookworm-security InRelease                          \r\nR\u00e9ception de\u00a0:4 https:\/\/deb.nodesource.com\/node_20.x nodistro InRelease &#x5B;12,1 kB]   \r\nR\u00e9ception de\u00a0:5 https:\/\/deb.nodesource.com\/node_20.x nodistro\/main amd64 Packages &#x5B;4\u202f836 B]\r\n17,0 ko r\u00e9ceptionn\u00e9s en 0s (61,9 ko\/s)    \r\nLecture des listes de paquets... Fait\r\n2024-01-15 00:18:53 - Repository configured successfully. To install Node.js, run: apt-get install nodejs -y\r\n<\/pre><\/div>\r\n\r\n\r\n<p>A la fin, on nous indique de lancer la commande \u00ab\u00a0<em>apt-get install nodejs -y<\/em>\u00ab\u00a0, mais nous allons la compl\u00e9ter en installant \u00e9galement GCC et Make :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nHomeAssistant:\/opt# apt-get install -y nodejs make g++ gcc\r\nLecture des listes de paquets... Fait\r\nConstruction de l&#039;arbre des d\u00e9pendances... Fait\r\nLecture des informations d&#039;\u00e9tat... Fait\r\nLes paquets suppl\u00e9mentaires suivants seront install\u00e9s\u00a0: \r\n  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\r\n  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\r\n  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\r\n  manpages-dev rpcsvc-proto\r\nPaquets sugg\u00e9r\u00e9s\u00a0:\r\n  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\r\n  make-doc\r\nLes NOUVEAUX paquets suivants seront install\u00e9s\u00a0:\r\n  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\r\n  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\r\n  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\r\n  linux-libc-dev make manpages-dev nodejs rpcsvc-proto\r\n0 mis \u00e0 jour, 61 nouvellement install\u00e9s, 0 \u00e0 enlever et 0 non mis \u00e0 jour.\r\nIl est n\u00e9cessaire de prendre 102 Mo dans les archives.\r\nApr\u00e8s cette op\u00e9ration, 472 Mo d&#039;espace disque suppl\u00e9mentaires seront utilis\u00e9s.\r\nR\u00e9ception de\u00a0:1 http:\/\/ftp.fr.debian.org\/debian bookworm\/main amd64 binutils-common amd64 2.40-2 &#x5B;2\u202f487 kB]\r\n...\r\nParam\u00e9trage de g++-12 (12.2.0-14) ...\r\nParam\u00e9trage de gcc (4:12.2.0-3) ...\r\nParam\u00e9trage de g++ (4:12.2.0-3) ...\r\nupdate-alternatives: utilisation de \u00ab\u00a0\/usr\/bin\/g++\u00a0\u00bb pour fournir \u00ab\u00a0\/usr\/bin\/c++\u00a0\u00bb (c++) en mode automatique\r\nTraitement des actions diff\u00e9r\u00e9es (\u00ab\u00a0triggers\u00a0\u00bb) pour man-db (2.11.2-2)\u00a0...\r\nTraitement des actions diff\u00e9r\u00e9es (\u00ab\u00a0triggers\u00a0\u00bb) pour libc-bin (2.36-9+deb12u3)\u00a0...\r\n<\/pre><\/div>\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<p>On peut v\u00e9rifier que NodeJS est correctement install\u00e9 en lan\u00e7ant les commandes suivantes :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nHomeAssistant:\/opt# node --version     # devrait \u00eatre V18.x, V20.x, V21.X\r\nv20.11.0\r\nHomeAssistant:\/opt# npm --version      # devrait \u00eatre 9.X or 10.X\r\n10.2.4\r\n<\/pre><\/div>\r\n\r\n\r\n<p>Pour plus d&rsquo;informations, vous pouvez lire la page du projet \u00e0 ce sujet : <a href=\"https:\/\/www.zigbee2mqtt.io\/guide\/installation\/01_linux.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.zigbee2mqtt.io\/guide\/installation\/01_linux.html<\/a><\/p>\r\n\r\n\r\n\r\n<p>On peut maintenant compiler le code pr\u00e9c\u00e9demment t\u00e9l\u00e9charg\u00e9 de GitHub :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncd \/opt\/zigbee2mqtt\r\n\r\n# Installation des d\u00e9pendances (en tant qu&#039;utilisateur &quot;zigbee&quot;)\r\nsudo -u zigbee npm ci      # Si cette commande \u00e9choue et retourne une erreur &quot;ERR_SOCKET_TIMEOUT&quot;, lancez plut\u00f4t cette commande : sudo -u zigbee npm ci --maxsockets 1\r\n\r\n# Compilation\r\nsudo -u zigbee npm run build\r\n<\/pre><\/div>\r\n\r\n\r\n<h3 class=\"wp-block-heading\">Configuration ZigBee2MQTT<\/h3>\r\n\r\n\r\n\r\n<p>Pour configurer ZigBee2MQTT, vous devez d\u00e9j\u00e0 avoir branch\u00e9 votre dongle zigbee sur l&rsquo;un de vos ports USB de la machine (NB: dans le cas d&rsquo;une machine virtuelle, vous allez devoir associer le port USB de la machine h\u00f4te \u00e0 un port de la machine virtuelle). Une fois fait, vous allez devoir rep\u00e9rer le port logique que Linux a donn\u00e9 \u00e0 votre dongle. Pour cela, il faut se rendre dans le dossier \u00ab\u00a0\/dev\/serial\/by-id\u00a0\u00bb et lister les p\u00e9riph\u00e9riques connect\u00e9s et d\u00e9couvert par Linux :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nroot@HomeAssistant:~# cd \/dev\/serial\/by-id\r\nroot@HomeAssistant:\/dev\/serial\/by-id# ls -l\r\ntotal 0\r\nlrwxrwxrwx 1 root root 13 Jan 10 18:17 usb-0658_0200-if00 -&gt; ..\/..\/ttyACM0\r\nlrwxrwxrwx 1 root root 13 Jan 10 18:17 usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_1809f672e1c3ec118cdf7e480af30733-if00-port0 -&gt; ..\/..\/ttyUSB0\r\n<\/pre><\/div>\r\n\r\n\r\n<p>On trouve ici deux p\u00e9riph\u00e9riques connect\u00e9 : celui qui va nous int\u00e9resser est celui dont le nom contient \u00ab\u00a0<em>Silicon_Labs<\/em>\u00a0\u00bb et qui est mapp\u00e9 vers \u00ab\u00a0<em>ttyUSB0<\/em>\u00a0\u00bb (disponible dans \/dev).<br \/>Ici l&#8217;emplacement de notre dongle sera donc : <br \/>\/dev\/serial\/by-id\/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_1809f672e1c3ec118cdf7e480af30733-if00-port0<\/p>\r\n\r\n\r\n\r\n<p>On garde le chemin de ce fichier (qui repr\u00e9sente 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\u00e9faut :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncp \/opt\/zigbee2mqtt\/data\/configuration.example.yaml \/opt\/zigbee2mqtt\/data\/configuration.yaml\r\nnano \/opt\/zigbee2mqtt\/data\/configuration.yaml\r\n<\/pre><\/div>\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\"><strong>Installation de HA<\/strong><\/h2>\r\n\r\n\r\n\r\n<p>Pour installer un serveur HA il vous faut bien sur serveur Linux : celui-ci peut physique ou virtuel&#8230; Mais HA est \u00e9galement disponible via une image Docker pratique \u00e0 installer sur certains NAS (Ex: Synology DS42x ou 92x) : une explication est disponible <a href=\"https:\/\/www.antoineguilbert.fr\/installer-home-assistant-docker-en-moins-de-5-minutes\/\" target=\"_blank\" rel=\"noopener\">ici<\/a> ou <a href=\"https:\/\/mariushosting.com\/how-to-install-home-assistant-on-your-synology-nas\/\" target=\"_blank\" rel=\"noopener\">l\u00e0<\/a>.<\/p>\r\n\r\n\r\n\r\n<p>Si l&rsquo;installation de HA peut \u00eatre r\u00e9alis\u00e9 de diff\u00e9rente mani\u00e8re, chaque m\u00e9thode ne permet pas l&rsquo;acc\u00e8s ) toutes les options dont on peut vous parler dans les articles que l&rsquo;on trouve sur Internet. Le sch\u00e9ma suivant permet d&rsquo;y voir plus clair :<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-uagb-image uagb-block-99999ad3 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\">\r\n<figure class=\"wp-block-uagb-image__figure\"><a class=\"\" href=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2024\/05\/Differentes_version_Installation.png\" target=\"\" data-rel=\"lightbox-gallery-0\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"uag-image-28949\" title=\"\" role=\"img\" src=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2024\/05\/Differentes_version_Installation.png\" sizes=\"auto, (max-width: 480px) 150px\" srcset=\"https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2024\/05\/Differentes_version_Installation.png ,https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2024\/05\/Differentes_version_Installation.png 780w, https:\/\/www.domorizon.eu\/blog\/wp-content\/uploads\/2024\/05\/Differentes_version_Installation.png 360w\" alt=\"\" width=\"698\" height=\"646\" \/><\/a><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>La version \u00ab\u00a0<em>HA OS<\/em>\u00a0\u00bb est initialement pr\u00e9vu pour les carte ARM (Raspbery PI, Orange PI, etc&#8230;) : c&rsquo;est un OS Linux que l&rsquo;on installe sur une carte SD et cet OS contient une installation de HA.<\/p>\r\n\r\n\r\n\r\n<p>La version \u00ab\u00a0<em>Container<\/em>\u00a0\u00bb est une version stock\u00e9e dans un environnement Docker : c&rsquo;est ce type d&rsquo;installation que l&rsquo;on r\u00e9alise en g\u00e9n\u00e9ral sur un NAS.<\/p>\r\n\r\n\r\n\r\n<p>LA version \u00ab\u00a0<em>Core\u00a0\u00bb<\/em> est une version que l&rsquo;on installe depuis les sources : pas \u00e0 la port\u00e9 de tout le monde !<\/p>\r\n\r\n\r\n\r\n<p>La version \u00ab\u00a0<em>Supervised<\/em>\u00a0\u00bb est une version que l&rsquo;on installe via Docker et qui a pour avantage comme pour la version \u00ab\u00a0HA OS\u00a0\u00bb, de proposer tout un tas d&rsquo;Add-ons qui vous permettrons de r\u00e9aliser plein de chose suppl\u00e9mentaire et accessible directement depuis HA. C&rsquo;est en g\u00e9n\u00e9ral ces composants (Addon-ons) dont on parle partout mais qui ne pourra pas \u00eatre disponible dans uns installation Docker par exemple (c&rsquo;\u00e9tait mon cas&#8230; avant !).<\/p>\r\n\r\n\r\n\r\n<p>Je vais donc d\u00e9crire une installation de type \u00ab\u00a0<em>Supervised\u00a0\u00bb<\/em> qui int\u00e8gre les Add-ons (NB : autre que les Add-ons \u00ab\u00a0HAC\u00a0\u00bb que l&rsquo;on verra plus bas).<\/p>\r\n\r\n\r\n\r\n<p>Votre pr\u00e9-requis est d&rsquo;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\u00e8re \u00e0 la date ou j&rsquo;\u00e9cris cet article.<\/p>\r\n\r\n\r\n\r\n<p>Premi\u00e8re chose : connectez vous sur votre machine LINUX depuis PuTTY ou une fen\u00eatre DOS \/ PowerShell si vous \u00eates sous Windows, un terminal si vous \u00eates sous MacOS ou Linux. <br \/>Si vous connaissez l&rsquo;adresse IP de votre machine (sinon, voir cet article), il vous suffira de taper la commande \u00ab\u00a0ssh &lt;USER&gt;@&lt;Adresse IP&gt;\u00a0\u00bb dans votre terminal ou simplement l&rsquo;IP sur PuTTY.<\/p>\r\n\r\n\r\n\r\n<p>Une fois connect\u00e9 sur le SHELL de votre ordinateur sous Linux DEBIAN, il vous suffira de taper les commandes suivantes :<\/p>\r\n\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\napt update &amp;&amp; apt upgrade -y\r\n\r\napt --fix-broken install\r\n\r\napt autoremove -y\r\n\r\napt 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 \r\n\r\ncurl -fsSL get.docker.com | sh\r\n<\/pre><\/div>\r\n\r\n\r\n<p style=\"padding-left: 40px;\"><strong>ATTENTION<\/strong>: il est possible que le syst\u00e8me r\u00e9ponde qu&rsquo;il n&rsquo;arrive pas \u00e0 acc\u00e9der \u00e0 \u00ab\u00a0get.docker.com\u00a0\u00bb : bizarrement, la r\u00e9solution DNS peut ne plus fonctionner car le service qui g\u00e8re le DNS est reparam\u00e9tr\u00e9 : ce probl\u00e8me peut intervenir \u00e0 diff\u00e9rent moment de l&rsquo;installation, gardez donc \u00e0 l&rsquo;esprit cette astuce :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nnano \/etc\/systemd\/resolved.conf\r\n<\/pre><\/div>\r\n\r\n\r\n<p style=\"padding-left: 40px;\">\u00ab\u00a0<em>nano<\/em>\u00a0\u00bb est l&rsquo;\u00e9diteur de texte que je pr\u00e9f\u00e8re car flexible et surtout facilement accessible \u00e0 ceux qui ont du mal avec la ligne de commande : si vous pr\u00e9f\u00e9rez utiliser l&rsquo;\u00e9diteur standard dans le monde UNIX, vous pouvez alors remplacer \u00ab\u00a0nano\u00a0\u00bb par \u00ab\u00a0vi\u00a0\u00bb ou \u00ab\u00a0vim\u00a0\u00bb&#8230;<\/p>\r\n<p style=\"padding-left: 40px;\">Bref&#8230; Dans l&rsquo;\u00e9dition du fichier, ajoutez les 2 lignes suivantes :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nDNS=1.1.1.1\r\n\r\nFallbackDNS=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\r\n<\/pre><\/div>\r\n\r\n\r\n<p style=\"padding-left: 40px;\">Une fois le fichier \u00e9dit\u00e9, relancez le service \u00ab\u00a0systemd-resolved\u00a0\u00bb avec la commande suivante :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsystemctl restart systemd-resolved.service\r\n<\/pre><\/div>\r\n\r\n\r\n<p>Avant de continuer, on va donner quelques droits root temporaire \u00e0 ce USER :<\/p>\r\n<table style=\"border-collapse: collapse; width: 82.8797%; height: 136px;\">\r\n<tbody>\r\n<tr style=\"height: 136px;\">\r\n<td style=\"width: 100%; height: 136px; background-color: #000000; vertical-align: middle;\">\r\n<p><span style=\"color: #ffffff;\">nano \/etc\/sudoers.d\/assistant<\/span><\/p>\r\n<p><span style=\"color: #ffffff;\"># on colle la ligne suivante, on sauvegarde et on quitte : assistant ALL=(ALL) NOPASSWD: ALL<\/span><\/p>\r\n<p><span style=\"color: #ffffff;\"># Sortie de l&rsquo;\u00e9diteur par les touches Ctlr+o puis Ctlr+x<\/span><\/p>\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p>Pour installer la configuration de Home Assistant dans un dossier sp\u00e9cifique, il est possible de passer quelques commandes suppl\u00e9mentaires; en tant que \u00ab\u00a0<strong><em>root<\/em><\/strong>\u00ab\u00a0, on commence par cr\u00e9er un dossier \u00ab\u00a0\/ha\u00a0\u00bb qui sera le dossier ou toute la configuration Home Assistant sera install\u00e9e :<\/p>\r\n<table style=\"border-collapse: collapse; width: 100%;\">\r\n<tbody>\r\n<tr>\r\n<td style=\"width: 100%; background-color: #000000;\"><span style=\"color: #ffffff;\">mkdir \/ha<\/span><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p>Puis on exporte la variable DATA_SHARE dans le fichier .bashrc du USER \u00ab\u00a0root\u00a0\u00bb :<\/p>\r\n<table style=\"border-collapse: collapse; width: 100%;\">\r\n<tbody>\r\n<tr>\r\n<td style=\"width: 100%; background-color: #000000;\">\r\n<p><span style=\"color: #ffffff;\">nano ~\/.bashrc<\/span><\/p>\r\n<p><span style=\"color: #ffffff;\"># Ajouter la ligne suivante en fin de fichier :<\/span><\/p>\r\n<p><span style=\"color: #ffffff;\">export DATA_SHARE=\u00a0\u00bb\/ha\u00a0\u00bb<\/span><\/p>\r\n<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p>On n&rsquo;oublie pas de \u00ab\u00a0sourcer\u00a0\u00bb le fichier pour prendre en consid\u00e9ration la nouvelle variable :<\/p>\r\n<table style=\"border-collapse: collapse; width: 100%;\">\r\n<tbody>\r\n<tr>\r\n<td style=\"width: 100%; background-color: #000000;\"><span style=\"color: #ffffff;\">source ~\/.bashrc<\/span><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p>On peut maintenant d\u00e9buter l&rsquo;installation de Home Assistant.<\/p>\r\n<p>On t\u00e9l\u00e9charge et installons les deux principaux fichiers :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nwget https:\/\/github.com\/home-assistant\/os-agent\/releases\/download\/1.6.0\/os-agent_1.6.0_linux_x86_64.deb\r\n\r\nwget https:\/\/github.com\/home-assistant\/supervised-installer\/releases\/latest\/download\/homeassistant-supervised.deb\r\n\r\ndpkg -i os-agent_1.6.0_linux_x86_64.deb\r\n\r\ndpkg --force-confdef --force-confold -i homeassistant-supervised.deb\r\n\r\n\r\n<\/pre><\/div>\r\n\r\n\r\n<p>&#8230;puis on red\u00e9marre l&rsquo;ordinateur :<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nreboot\r\n<\/pre><\/div>\r\n\r\n\r\n<p>&nbsp;<\/p>\r\n<p style=\"padding-left: 40px;\"><strong><span style=\"text-decoration: underline;\">Note<\/span><\/strong> : il est possible que des message d&rsquo;erreur apparaissent (NB : je suis sur Debian 12.9), indiquant que la commande APT \u00e0 rencontr\u00e9 des probl\u00e8mes<\/p>\r\n<p style=\"padding-left: 80px;\">\u00ab\u00a0<em>dpkg: erreur de traitement du paquet homeassistant-supervised (&#8211;install)<\/em>\u00ab\u00a0<\/p>\r\n<p style=\"padding-left: 40px;\">Utilisez alors la commande suivante qui r\u00e8glera le probl\u00e8me normalement :<\/p>\r\n<p style=\"padding-left: 80px;\">\u00ab\u00a0<strong><em>apt &#8211;fix-broken install<\/em><\/strong>\u00ab\u00a0<\/p>\r\n<p>&nbsp;<\/p>\r\n<p>Une fois le reboot de la machine effectu\u00e9, on se rend \u00e0 l&rsquo;adresse qui avait \u00e9t\u00e9 indiqu\u00e9 \u00e0 la fin de l&rsquo;installation du paquet \u00ab\u00a0homeassistant-supervised.deb\u00a0\u00bb : http:\/\/&lt;votre @IP&gt;:8123<\/p>\r\n\r\n\r\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n&#x5B;info] Within a few minutes you will be able to reach Home Assistant at:\r\n&#x5B;info] http:\/\/homeassistant.local:8123 or using the IP address of your\r\n&#x5B;info] machine: http:\/\/192.168.0.35:8123\r\n&#x5B;warn] A reboot is required to apply changes to grub.\r\n\r\n<\/pre><\/div>\r\n\r\n\r\n<p>La suite se passe maintenant dans un autre article : initialisation de Home Assistant<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Comment installer Home Assistant chez soi ? Voici une solution pas \u00e0 pas, incluant une s\u00e9rie d&rsquo;article sur sont param\u00e9trage et l&rsquo;installation des principaux \u00ab\u00a0device\u00a0\u00bb rencontr\u00e9s chez soi&#8230;<\/p>\n","protected":false},"author":2,"featured_media":28796,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[8,426],"tags":[427,229,419,420,85,421,424,422,423],"class_list":["post-28740","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-domotique","category-home-assistant","tag-avance","tag-debian","tag-ha","tag-home-assistant","tag-linux","tag-mosquitto","tag-mqtt","tag-zigbee","tag-zigbee2mqtt"],"_links":{"self":[{"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/posts\/28740","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/comments?post=28740"}],"version-history":[{"count":89,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/posts\/28740\/revisions"}],"predecessor-version":[{"id":28997,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/posts\/28740\/revisions\/28997"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/media\/28796"}],"wp:attachment":[{"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/media?parent=28740"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/categories?post=28740"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.domorizon.eu\/blog\/wp-json\/wp\/v2\/tags?post=28740"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}