Call-Informatique
Call-Informatique
Le média tech
Home Assistant sur Raspberry Pi : config avancée
High-TechGuides7 min de lecture

Home Assistant sur Raspberry Pi : config avancée

Déploiement HAOS 17.1 sur Raspberry Pi 4/5, hardening réseau, accès distant sécurisé via Cloudflare Tunnel ou Tailscale, et automatisations YAML.

Home Assistant sur Raspberry Pi : installation et configuration avancée

Home Assistant OS (HAOS) 17.1 tourne sur Raspberry Pi 4 et Pi 5. Cette version embarque Home Assistant Core 2026.3.2, le Supervisor, et l'App Store des add-ons. Voici comment déployer correctement, sécuriser l'accès distant, et automatiser les tâches de maintenance.

—-

Matériel recommandé

  • Raspberry Pi 4 (4 Go RAM minimum) ou Pi 5
  • Carte microSD A2, 32 Go minimum — Sandisk Extreme Pro ou Samsung Pro Endurance conseillés pour les écritures fréquentes
  • Alimentation officielle Raspberry Pi (5V/3A pour Pi 4, 5V/5A pour Pi 5)
  • Câble Ethernet Gigabit

Note : HAOS peut tourner sur SSD USB (très recommandé pour les installations production). Voir la section «Boot USB» plus bas.

—-

Installation via Raspberry Pi Imager

bash
## Alternative CLI avec rpi-imager si tu l'as installé via apt/brew :
## rpi-imager —cli —img <url> —drive /dev/sdX

## Ou directement avec dd sur Linux/macOS :
xzcat haos_rpi4-64-17.1.img.xz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync

Les URLs directes (version 17.1) :

bash
## Raspberry Pi 4
https://github.com/home-assistant/operating-system/releases/download/17.1/haos_rpi4-64-17.1.img.xz

## Raspberry Pi 5
https://github.com/home-assistant/operating-system/releases/download/17.1/haos_rpi5-64-17.1.img.xz

Démarrage : branche le câble Ethernet avant l'alimentation. HA est disponible sur http://homeassistant.local:8123 après 2-3 minutes (Pi 4) ou moins d'une minute (Pi 5).

—-

Boot depuis SSD USB (recommandé pour prod)

Les cartes SD s'usent sous les écritures constantes de HA. Migrer sur SSD USB :

bash
## 1. Depuis l'interface HA : Paramètres > Système > Stockage
## 2. Brancher le SSD USB (Samsung T7, Crucial X6, etc.)
## 3. Cliquer «Déplacer le disque de données» et sélectionner le SSD
## 4. HA déplace automatiquement /data vers le SSD

## Pour un boot complet depuis SSD (Pi 4), mettre à jour le bootloader :
sudo raspi-config  # Dans Advanced Options > Boot Order > USB Boot
## Puis flasher l'image HAOS directement sur le SSD au lieu de la SD

—-

Configuration réseau statique via le terminal HAOS

HAOS expose un terminal (accessibl depuis l'interface HA via l'add-on Terminal, ou sur port série). Configuration IP statique :

bash
## Accéder au terminal HA (add-on Terminal & SSH depuis le store)
## Ou via SSH natif HAOS (port 22222 si activé)
ssh -p 22222 root@homeassistant.local

## Configurer l'IP statique via le superviseur
ha network update eth0 —ipv4-method static —ipv4-address 192.168.1.50/24 —ipv4-gateway 192.168.1.1 —ipv4-nameserver 1.1.1.1

## Vérifier
ha network info

—-

Hardening sécurité

Activer l'authentification à deux facteurs

Depuis l'interface HA : profil utilisateur (clic sur ton nom en bas à gauche) > «Multi-factor Authentication» > activer TOTP. Compatible Google Authenticator, Authy, Bitwarden.

Bloquer l'accès depuis WAN au port 8123

Ne jamais exposer le port 8123 directement sur internet. Les alternatives sécurisées :

yaml
## configuration.yaml — forcer HTTPS si tu utilises un reverse proxy
http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 127.0.0.1
    - 192.168.1.0/24  # ton subnet local
  ip_ban_enabled: true
  login_attempts_threshold: 5

Désactiver la détection automatique des appareils si non nécessaire

yaml
## configuration.yaml
default_config:

## Désactiver la découverte automatique si tu gères tout manuellement :
discovery:
  ignore:
    - philips_hue  # exemple

—-

Accès distant sécurisé — Cloudflare Tunnel

Solution recommandée pour accéder à HA depuis l'extérieur sans ouvrir de port sur ta box.

bash
## 1. Installer l'add-on Cloudflare depuis le store HA
## Paramètres > Add-ons > Add-on Store > rechercher «Cloudflared»
## Éditeur officiel : Sander.Vanagt

## 2. Configuration add-on :
yaml
## Configuration Cloudflared add-on (options)
external_hostname: home.ton-domaine.com
access_key: ""
additional_hosts: []
certificate_use_profile: false
nginx_proxy_manager: false
bash
## 3. Au premier démarrage, l'add-on affiche une URL Cloudflare pour autoriser le tunnel
## Se connecter sur dash.cloudflare.com et suivre le flow

## 4. Ajouter dans configuration.yaml :
yaml
http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 127.0.0.1

—-

Accès distant via Tailscale (alternative VPN)

bash
## Installer l'add-on Tailscale depuis le store HA
## Paramètres > Add-ons > Add-on Store > rechercher «Tailscale»

## Après installation, l'add-on donne une URL d'authentification
## Se connecter sur login.tailscale.com et approuver l'appareil

## HA devient accessible via l'IP Tailscale, ex: http://100.X.X.X:8123
## Ou en activant MagicDNS : http://homeassistant.ton-tailnet.ts.net:8123

—-

Automatisations YAML

Home Assistant permet de définir les automatisations en YAML directement dans automations.yaml. Quelques exemples opérationnels :

yaml
## Notification mobile quand quelqu'un sonne (détecteur de sonnette)
- alias: "Sonnette - Notification mobile"
  trigger:
    - platform: state
      entity_id: binary_sensor.sonnette
      to: "on"
  action:
    - service: notify.mobile_app_mon_telephone
      data:
        title: "Quelqu'un à la porte"
        message: "Il est {{ now().strftime('%H:%M') }}"
        data:
          push:
            sound: "default"
            badge: 1

## Extinction automatique des lumières la nuit
- alias: "Lumières - Extinction 23h30"
  trigger:
    - platform: time
      at: "23:30:00"
  condition:
    - condition: state
      entity_id: group.all_lights
      state: "on"
  action:
    - service: light.turn_off
      target:
        entity_id: all

## Thermostat selon présence
- alias: "Chauffage - Mode absence"
  trigger:
    - platform: state
      entity_id: group.everyone
      to: "not_home"
  action:
    - service: climate.set_temperature
      target:
        entity_id: climate.thermostat_salon
      data:
        temperature: 17
        hvac_mode: heat

—-

Script de sauvegarde automatique vers NAS

HAOS peut sauvegarder automatiquement. Pour envoyer les backups vers un NAS via SMB ou SSH :

yaml
## Automatisation de sauvegarde quotidienne
- alias: "Backup quotidien 3h du matin"
  trigger:
    - platform: time
      at: "03:00:00"
  action:
    - service: backup.create
      data:
        name: "auto_{{ now().strftime('%Y%m%d') }}"

Pour exporter vers un NAS Samba, installer l'add-on Samba backup depuis le store, puis le configurer :

yaml
## Configuration add-on Samba Backup
host: 192.168.1.100          # IP du NAS
share: Backups               # Nom du partage SMB
target_dir: HomeAssistant    # Dossier dans le partage
username: ha_backup          # Utilisateur SMB dédié
password: mot_de_passe       # Mot de passe SMB
keep_local: 3                # Garder 3 backups locaux
keep_remote: 14              # Garder 14 backups sur le NAS

—-

Dépannage — erreurs courantes

Page homeassistant.local:8123 inaccessible après 10 minutes

  • Vérifier que le câble Ethernet est branché des deux côtés avant le démarrage
  • Chercher l'IP attribuée dans l'interface de la box (liste DHCP)
  • Essayer directement avec l'IP : http://192.168.1.X:8123
  • Si toujours rien : rebrancher l'alimentation après 30 secondes

Erreur «Failed to call service» dans les automatisations

  • Vérifier l'entity_id exact depuis Développeur > États
  • Les entity_ids changent parfois après une mise à jour — les vérifier dans les journaux

Add-on refuse de démarrer (Watchdog error)

  • Logs de l'add-on visibles dans Paramètres > Add-ons > [nom de l'add-on] > Journal
  • Souvent un problème de configuration YAML (indentation, guillemets manquants)

CPU élevé après mise à jour

  • Normal dans les 30 premières minutes post-MAJ (réindexation de la base)
  • Si ça dure plus longtemps : Développeur > Statistiques > voir quel composant consomme

Carte SD corrompue (recovery mode)

bash
## HAOS peut réparer la SD depuis l'interface si elle est partiellement lisible
## Sinon, reflasher depuis Raspberry Pi Imager
## Les backups permettent de tout restaurer en < 5 minutes

—-

Mises à jour

bash
## Via l'interface : Paramètres > Système > Mises à jour
## Les mises à jour mineures (2026.3.x) sont sûres à installer immédiatement
## Les majeures (2026.X.0) : attendre 24-48h et consulter les notes de version

## Via le terminal HAOS :
ha core update —version 2026.3.2
ha os update
ha supervisor update

Active les notifications de mise à jour dans Paramètres > Notifications pour ne rien rater.

—-

Ressources

Sur le même sujet

À lire aussi

#tutoriel#guide-technique#home-assistant#raspberry-pi#domotique