Formation PUB420 : Système domotique DIY, 2020 Home Assistant

6.3 Configurer l'accès au réseau dans Home Assistant


Pour utiliser votre système domotique Home Assistant installé sur un Raspberry Pi, la méthode de connexion au réseau privilégiée est une connexion câblée puisqu'elle est plus stable qu'une connexion sans fil.

Lorsque vous branchez le Pi au réseau câblé, aucune configuration particulière n'est requise, sauf si vous désirez fournir une adresse IP statique ou encore si les configurations de votre réseau nécessitent que vous fournissiez l'adresse d'un serveur DNS.

Bien entendu, il est également possible d'utiliser un réseau sans fil.

Je vous explique ici comment réaliser ces configurations, que ce soit pour un réseau câblé ou pour un réseau sans fil, à l'aide de trois approches différentes :

▼Publicité Le texte se poursuit plus bas

Fichiers de configuration sur une clé USB

Volume CONFIGVolume CONFIG

Les configurations réseau de Home Assistant peuvent être réalisées à l'aide de fichiers placés sur une clé USB qui répond à des règles précises :

  • La clé doit être vierge et être formatée en FAT32, ext4 ou NTFS. Si vous choisissez FAT32 :
    • Sous Windows, l'utilitaire par défaut ne permet pas de formater en FAT32 les clés USB de plus de 32 Go. Vous devez utiliser un autre utilitaire, par exemple MiniTool (voir https://www.minitool.com/partition-disk/fat32-not-an-option.html).
    • Sous Mac, il n'y pas cette limite de taille. Choisissez MS-DOS (FAT) dans l'utilitaire de disque.
  • La clé doit posséder un volume nommé CONFIG (en majuscules).
  • Important : les fichiers de configuration doivent comporter des sauts de ligne correctement encodés pour Linux (LF).

Les informations de connexion de votre réseau doivent être inscrites dans un fichier de configuration nommé my-network (aucune extension) placé dans un dossier nommé network sur la clé USB.

Dans le fichier de configuration, le id doit être identique au nom du fichier (ex : my-network).

Vous devez générer un identificateur unique (Universally Unique IDentifier, UUID) en version 4 à l'aide de ce lien : https://www.uuidgenerator.net/. Ce UUID sera copié dans le fichier de configuration du réseau.

Notez que le Raspberry Pi 3 ne supporte que le Wi-Fi 2.4 GHz alors que le Raspberry Pi 4 supporte également le 5 GHz. Tenez-en compte dans vos configurations!

Fichier network/my-network

[connection]
id=my-network
uuid=votre-uuid-ici
type=802-11-wireless

[802-11-wireless]
mode=infrastructure
ssid=NOM-DU-RESEAU
# Uncomment below if your SSID is not broadcasted
#hidden=true

[802-11-wireless-security]
auth-alg=open
key-mgmt=wpa-psk
psk=MOT-DE-PASSE-DU-RESEAU

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

Dans le cas où le réseau sans fil n'a pas de mot de passe, il sera configuré comme suit :

Fichier network/my-network

[connection]
id=my-network
uuid=votre-uuid-ici
type=802-11-wireless

[802-11-wireless]
mode=infrastructure
ssid=NOM-DU-RESEAU
# Uncomment below if your SSID is not broadcasted
#hidden=true

[802-11-wireless-security]
auth-alg=open
key-mgmt=NONE

[ipv4]
method=auto

[ipv6]
addr-gen-mode=stable-privacy
method=auto

Configurations pour le réseau câblé

Dans le fichier my-network, c'est la configuration type qui permet de spécifier si la configuration s'applique pour un réseau wi-fi ou pour un réseau câblé.

Entrez type=802-11-wireless pour un réseau wi-fi ou type=802-3-ethernet pour un réseau câblé.

Notez que les sections [802-11-wireless] et [802-11-wireless-security] ne doivent pas faire partie d'un fichier qui configure un réseau câblé.

Fichier network/my-network

[connection]
id=my-network
uuid=votre-uuid-ici
type=802-3-ethernet
...

Adresse IP statique

L'adresse IP statique permet un fonctionnement optimal du système domotique.

Dans le fichier my-network, remplacez la section [ipv4] par celle présentée plus bas.

Dans cette section, remplacez 192.168.1.145 par l'adresse que vous désirez donner au Pi. Assurez-vous de choisir une adresse qui n'est pas déjà asssignée dans votre réseau.

Au besoin, ajustez le masque de sous-réseau, qui suit sur la même ligne (dans l'exemple : /24 qui signifie que les 3 premiers octets sont le masque de sous-réseau).

Selon les configurations de votre réseau, vous pourriez avoir à ajuster l'adresse IP locale du routeur. Avec un masque de sous-réseau 24, on entre les 3 premiers nombres de l'adresse IP, suivi généralement par le chiffre 1 (dans l'exemple : 192.168.1.1).

Fichier network/my-network

...
[ipv4]
method=manual
address=192.168.1.145/24;192.168.1.1
dns=xxx.xxx.xxx.xxx;8.8.8.8;8.8.4.4;

Serveur DNS

Les serveurs DNS permettent de traduire un nom de domaine vers l'adresse IP qui lui correspond.

On utilise généralement les serveurs DNS de Google (8.8.8.8 et 8.8.4.4) ainsi que ceux utilisés par votre ordinateur. Les adresses doivent être séparées par des points-virgules.

Sous Windows, vous pouvez connaître les serveurs de noms actuellements utilisés pour votre ordinateur à l'aide de la commande ipconfig/all.

Sous Mac, vous pouvez connaître les serveurs de noms à l'aide de la commande cat /etc/resolv.conf.

La configuration du DNS sur Home Assitant peut être effectuée comme suit où la série de x sera remplacée par l'adresse IP du serveur DNS.

Fichier network/my-network

...
[ipv4]
method=auto
dns=xxx.xxx.xxx.xxx;8.8.8.8;8.8.4.4;

Travailler avec plusieurs configurations réseau

Si, pour une raison ou pour une autre, vous avez besoin d'accéder à différents réseaux, vous pouvez avoir autant de fichiers de configuration que désiré, par exemple my-network-maison, my-network-ecole, tous dans le dossier network.

Chaque configuration devra avoir son propre UUID.

La configuration id de chaque fichier doit correspondre au nom du fichier.

Remarquez que si vous avez configuré une adresse IP statique dans un fichier de configuration, ceci n'aura aucun impact sur les autres fichiers de configuration.

Redémarrage

Un redémarrage du Raspberry Pi est nécessaire pour que les fichiers de configuration soient pris en compte. 

Attention : on parle ici d'un démarrage complet du Raspberry Pi (dans le terminal HassOS, entrer la commande reboot).

La clé USB pourra être retirée après le redémarrage du Pi puisque le système se charge de copier les fichiers de configuration dans le dossier /etc/NetworkManager/system-connections.

Fichiers de configuration directement dans le terminal HassOS

Une fois qu'ils ont été copiés sur le Pi après un redémarrage, les fichiers de configuration réseau peuvent être édités à partir du terminal HassOS.

Vous pouvez afficher leur contenu à l'aide de la commande cat et les éditer à l'aide de l'éditeur vi, un proche parent de l'éditeur vim.

Pour éditer un fichier avec vi :

Terminal

vi /etc/NetworkManager/system-connections/nom-du-fichier

À son ouverture, vi vous place en mode commande. Pour passer d'un mode à l'autre :

  • en mode commande : la lettre i vous place en mode insertion, ce qui permet d'éditer le texte
  • en mode insertion : Échap vous place en mode commande

Pour enregistrer le document puis fermer l'éditeur : Échap suivi de : w q (ce qui signifie Write and Quit).

Pour fermer l'éditeur sans enregistrer : Échap suivi de : q !.

Un redémarrage du Pi est nécessaire pour que les modifications soient prises en compte.

Notez que le fait de supprimer un fichier de configuration de ce dossier fait en sorte que lors du redémarrage du système, il ne sera plus pris en compte à moins qu'il se trouve à nouveau sur une clé USB branchée au Pi.

Commandes au terminal HassOS

Les configurations réseau peuvent être effectuées dans le terminal HassOS.

D'abord, pour connaître la liste des réseaux sans fil disponibles, entrez la commande nmcli device wifi.

Résultat à l'écran

# nmcli device wifi
IN-USE   BSSID               SSID          MODE    CHAN   RATE         SIGNAL   BARS   SECURITY
         00:0C:E6:88:F6:23   RESEAUPUBLIC  Infra   6      195 Mbit/s   70       ***    --
         00:0C:E6:88:F3:E2   MONRESEAU     Infra   1      195 Mbit/s   39       **     WPA2 802.1X
         00:0C:E6:88:F3:E1   AUTRERESEAU   Infra   11     195 Mbit/s   35       **     WPA2 802.1X

Si le réseau désiré n'apparaît pas, vous pouvez demander une relecture des réseaux à l'aide de nmcli device wifi rescan.

Ceci n'affichera rien à l'écran mais un nouvel appel à nmcli device wifi affichera la liste rafraîchie.

Notez que si vous désirez effectuer des tests en vous branchant sur le partage de connexion de votre cellulaire, vous devez ouvrir l'écran de partage de connexion de votre cellulaire avant de demander la relecture.

Résultat à l'écran

# nmcli device wifi rescan
# nmcli device wifi
IN-USE   BSSID               SSID                 MODE    CHAN   RATE         SIGNAL   BARS   SECURITY
         AA:A7:F2:3E:0D:31   iPhoneDeChristiane   Infra   6      130 Mbit/s   97       ****   WPA2
         00:0C:E6:88:F6:23   RESEAUPUBLIC         Infra   6      195 Mbit/s   70       ***    --
         00:0C:E6:88:F3:E2   MONRESEAU            Infra   1      195 Mbit/s   39       **     WPA2 802.1X
         00:0C:E6:88:F3:E1   AUTRERESEAU          Infra   11     195 Mbit/s   35       **     WPA2 802.1X

Pour vous brancher à un réseau, utilisez la commande nmcli device wifi connect. Le nom du réseau à utiliser est celui affiché dans la colonne SSID de la commande nmcli device wifi.

Terminal

nmcli device wifi connect "iPhoneDeChristiane" password "mot-de-passe-en-clair"

Ceci créera un fichier dans le dossier /etc/NetworkManager/system-connections dont le nom correspond au nom du réseau avec l'extension .nmconnection.

Pour vérifier à quel réseau vous êtes branché :

Terminal

nmcli con show

Le réseau auquel vous êtes branché n'aura pas de traits d'union dans la colonne DEVICE.

Résultat à l'écran

NAME                 UUID                                  TYPE      DEVICE
my-network           votre-uuid-ici                        wifi      wlan0
Wired connection 1   autre-uuid-ici                        ethernet  --

La connexion ainsi créée est permanente, c'est-à-dire qu'elle sera encore effective lors du prochain redémarrage à moins qu'une clé USB soit branchée au Raspberry Pi pour spécifier les connexions réseau à utiliser.

Il est possible de supprimer le fichier de connexion afin que la connexion n'ait plus lieu.

Pour connaître l'adresse IP ainsi obtenue :

Terminal

nmcli con show my-network  | grep address

Il est également possible de voir l'adresse en faisant réafficher la page d'accueil de la console Home Assistant.

Terminal HassOS

ha banner

Résultat à l'écran

# ha banner

 _    _                                         _     _              _
| |  | |                          /\           (_)   | |            | |
| |__| | ___  _ __ ___   ___     /  \   ___ ___ _ ___| |_ __ _ _ __ | |_
|  __  |/ _ \| '_ ` _ \ / _ \   / /\ \ / __/ __| / __| __/ _` | '_ \| __|
| |  | | (_) | | | | | |  __/  / ____ \\__ \__ \ \__ \ || (_| | | | | |_
|_|  |_|\___/|_| |_| |_|\___| /_/    \_\___/___/_|___/\__\__,_|_| |_|\__|

Welcome to the Home Assistant command line.

System information
  IPv4 addresses for eth0: 
  IPv4 addresses vor wlan0:   192.168.1.145/24
  IPv6 addresses for wlan0:   fe80:8c92:a5a9:3b8d:2b06/64

  OS Version:                Home Assistant OS 9.2
  Home Assistant Core:       2022.10.4

  Home Assistant URL:        http://homeassistant.local:8123
  Observer URL:              http://homeassistant.local:4357

#

Interface Web

Si vous optez pour la configuration Web, vous devrez d'abord brancher le Pi à un réseau câblé puisque c'est le seul qui peut être actif sans configuration.

Il est également possible d'utiliser la configuration Web pour ajuster les configurations réseau après les avoir configurées à l'aide d'une clé USB.

  • Accédez à l'interface Web de Home Assistant.
  • Rendez-vous dans le menu Paramètres / Système / Réseau.

    Configurer les interfaces réseau

  • Vous pouvez configuer le réseau sans fil à l'aide de l'onglet WLAN0 et le réseau câblé à l'aide de l'onglet ETH0.
  • Pour vous connecter à un réseau Wi-Fi, cliquez sur WLAN0 puis ouvrez la section IPv4. Vous devez cocher DHCP pour laisser le routeur fournir une adresse IP ou Statique pour choisir vous-même l'adresse IP désirée.

    IPv4

  • Ouvrez ensuite la section Wi-Fi puis cliquez ensuite sur Rechercher les points d'accès.

    Notez que si vous désirez effectuer des tests en vous branchant sur le partage de connexion de votre cellulaire, vous devez ouvrir l'écran de partage de connexion de votre cellulaire avant de lancer la recherche.

    Configuration Wi-Fi

  • Cliquez ensuite sur le réseau désiré.
  • Au bas de la fenêtre, cliquez sur Ouvrir s'il s'agit d'un réseau sans mot de passe. Si un mot de passe est requis, cliquez sur wpa-psk puis entrez le mot de passe à l'endroit prévu.

    wpa-psk

  • Cliquez finalement sur Enregistrer pour que la connexion soit effective.

    Ceci créera le fichier /etc/NetworkManager/system-connections/Supervisor wlan0.nmconnection.

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre