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
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 :
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!
[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 :
[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
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é.
[connection]
id=my-network
uuid=votre-uuid-ici
type=802-3-ethernet
...
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).
...
[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;
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.
...
[ipv4]
method=auto
dns=xxx.xxx.xxx.xxx;8.8.8.8;8.8.4.4;
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.
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.
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 :
vi /etc/NetworkManager/system-connections/nom-du-fichier
À son ouverture, vi vous place en mode commande. Pour passer d'un mode à l'autre :
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.
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.
# 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.
# 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.
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é :
nmcli con show
Le réseau auquel vous êtes branché n'aura pas de traits d'union dans la colonne DEVICE.
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 :
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.
ha banner
# 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
#
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.
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.
Ceci créera le fichier /etc/NetworkManager/system-connections/Supervisor wlan0.nmconnection.
Site fièrement hébergé chez A2 Hosting.