2026-06-20 11:34:50 +02:00
2026-06-20 11:34:50 +02:00
2026-06-20 11:34:50 +02:00

🏠 HAOS Infrastructure domotique auto-hébergée & sécurisée

Plateforme domotique personnelle basée sur Home Assistant OS, conçue comme un environnement auto-hébergé de supervision IoT, d'automatisation avancée et d'architecture réseau sécurisée.


📋 Vue d'ensemble

Ce projet est une infrastructure domotique opérationnelle tournant 24/7 sur un mini-PC dédié. Il repose sur Home Assistant OS et combine automatisations conditionnelles, supervision IoT locale et sécurisation réseau avancée — sans aucune dépendance cloud imposée.

Usages principaux :

  • 🔐 Surveillance et sécurisation du logement (alarme, vidéo, détection fuite)
  • 🤖 Automatisation du quotidien (chauffage, présence, éclairage, ventilation)
  • Optimisation énergétique (suivi Enedis, pilotage des radiateurs)
  • 🌿 Expérimentation IoT maîtrisée (capteurs custom ESPHome/ESP32, IR blaster)
  • 📲 Notifications en temps réel via bot Telegram

🧱 Architecture générale

                   ┌──────────────────────────────────┐
                   │          Mini-PC dédié           │
                   │       Home Assistant OS          │
                   │         SSD / 24h/24             │
                   └────────────┬─────────────────────┘
                                │
         ┌──────────────────────┼───────────────────────┐
         │                      │                       │
┌────────▼────────┐   ┌────────▼─────────┐   ┌────────▼─────────┐
│  Sécurité       │   │  IoT & Protocoles │   │  Accès & Admin   │
│                 │   │                   │   │                  │
│ • Alarmo        │   │ • Zigbee2MQTT     │   │ • Cloudflared    │
│ • Frigate (NVR) │   │ • ESPHome / ESP32 │   │   (CF Tunnel)    │
│ • Détection IA  │   │ • Heatzy          │   │ • WireGuard VPN  │
│ • Bot Telegram  │   │ • Enedis          │   │ • SSH / Samba    │
│ • Clavier Frient│   │ • IR Blaster      │   │                  │
└─────────────────┘   └───────────────────┘   └──────────────────┘

🖥️ Infrastructure matérielle

Composant Détail
Machine Mini-PC dédié
Stockage SSD (fiabilité & performances)
Hyperviseur Home Assistant OS (natif)
Coordinateur Sonoff Zigbee 3.0 USB Dongle Plus V2 (ember)
Fonctionnement 24/7, environnement isolé

📡 Équipements Zigbee supervisés

Nom Type Usage
ir blaster 1 Blaster IR Pilotage ventilateur & diffuseur
ir blaster 2 Blaster IR Réserve / extension
sirene zigbee 1 Sirène Alarme intrusion (mode burglar)
capteur fuite 1 Capteur d'eau Détection fuite salle de bain
Lampe rouge Ampoule connectée Signalisation
Bouton entree Bouton Zigbee Toggle lampadaire entrée
Clavier frient Clavier à code Armement/désarmement alarme physique
Lampesdb1/2 Ampoule connectée Éclairage salle de bain
bouton sdb Bouton Zigbee Toggle lumières salle de bain

⚙️ Services & Add-ons déployés

🔐 Sécurité Accès distant

Cloudflared (Tunnel sortant)

Accès HTTPS distant sans exposition de port sur le routeur.

  • Tunnel sortant chiffré vers Cloudflare
  • Nom de domaine personnel avec HTTPS natif
  • Aucune IP publique exposée, surface d'attaque réduite

WireGuard VPN

Accès administration via le serveur WireGuard hébergé sur le Proxmox (LXC dédié — cf. pve-project).

  • SSH et interfaces admin (Zigbee2MQTT, Frigate) accessibles via VPN uniquement
  • Le seul port WAN ouvert (UDP 51820) est sur le Proxmox, pas sur HAOS
  • HAOS ne fait tourner aucun serveur VPN

🚨 Sécurité du logement

Alarmo Système d'alarme personnalisé

Extension d'alarme intégrée nativement à Home Assistant, pilotée via Telegram et clavier physique.

  • Plusieurs modes d'armement (présence, nuit, absence, vacances)
  • Clavier à code physique Frient pour armement/désarmement local
  • Détection d'intrusion avec notifications instantanées via Telegram
  • Snapshots et vidéos automatiques (caméras) envoyés sur déclenchement
  • Automatisations d'éclairage liées à l'état de l'alarme
  • Activation de la détection Frigate conditionnée à l'état de l'alarme

Le détail précis des scénarios d'armement/désarmement et des commandes de pilotage à distance n'est volontairement pas documenté publiquement.

Frigate NVR intelligent local

Vidéosurveillance avec détection d'objets par intelligence artificielle.

  • Traitement local (aucun cloud vidéo)
  • Caméras : principales et secondaires (avec mode privacy)
  • Réduction des faux positifs par reconnaissance d'objets
  • Détection activée/désactivée automatiquement selon l'état de l'alarme
  • Preuves vidéo locales en cas d'incident

Bot Telegram Notifications & télécommande

Intégration Telegram bidirectionnelle pour la supervision et le contrôle à distance.

  • Alertes instantanées : déclenchement alarme, fuite d'eau, armement/désarmement
  • Envoi de photos et vidéos des caméras sur événement
  • Commandes de contrôle à distance (consultation et désarmement)

Le détail exact des commandes disponibles n'est volontairement pas documenté publiquement.


🌡️ Confort & Énergie

Heatzy Gestion du chauffage

Pilotage dynamique de radiateurs électriques connectés selon des plages horaires programmées, avec retour automatique en mode auto hors plages actives.

Les plages horaires précises ne sont volontairement pas documentées publiquement (elles révèlent des habitudes de présence au domicile).

Enedis Suivi énergétique intelligent

Intégration officielle du compteur Linky via l'API Enedis.

  • Visualisation de la consommation quotidienne
  • Analyse des pics et corrélation chauffage / présence
  • Identification des équipements énergivores

💡 Éclairage & Automatisations ambiantes

  • Lumière automatique : allumage automatique sur détection de mouvement (PIR), extinction après un délai
  • Lampadaire entrée : toggle via bouton Zigbee + allumage automatique au retour
  • Lumières SDB : toggle via bouton Zigbee dédié
  • Suspension : allumage/extinction programmés
  • Plantes (photosynthèse) : éclairage dédié conditionné à l'état de l'alarme
  • Lampes off à l'armement : extinction de toutes les lumières au départ

Scènes lumières avancées

  • Sunset lamp : scène lumière couchant de soleil via IR blaster (on/off)
  • LED bar : pilotage barre LED décorative via IR (on/off)

🌬️ Ventilation & Domotique IR

Pilotage d'un ventilateur via IR Blaster Zigbee avec codes IR personnalisés.

  • Toggle on/off
  • Contrôle de la puissance (mode)
  • Rotation automatique
  • Intégration dans le script toggle_ventilo

Diffuseur d'huiles essentielles

Pilotage via IR Blaster avec séquences de codes pour allumage/arrêt.


🌿 IoT personnalisé ESPHome

Capteur d'humidité (ESP32)

Capteur de sol développé sur mesure via ESPHome sur microcontrôleur ESP32.

  • Mesure d'humidité du sol en temps réel
  • Historique graphique dans Home Assistant
  • Notifications si sol sec
  • Architecture extensible vers l'arrosage automatisé

📡 Réseau Zigbee local

Coordinateur : Sonoff Zigbee 3.0 USB Dongle Plus V2 — géré via Zigbee2MQTT (adaptateur ember, canal 11).

  • Aucun cloud tiers — données traitées localement
  • Broker MQTT : Mosquitto (add-on natif HAOS)
  • Proxy HTTP configuré pour Cloudflare (trusted_proxies: 172.30.33.0/24)
  • Protocole ouvert, compatible multi-fabricants

🔐 Sécurité & Architecture

Principes appliqués

Principe Mise en œuvre
Exposition minimale Aucun port ouvert sur le routeur (WAN)
Accès distant sécurisé Tunnel sortant Cloudflared uniquement
Administration cloisonnée SSH et Samba accessibles via VPN uniquement
Traitement local des données Vidéo (Frigate), Zigbee et capteurs ESPHome traités en local
Principe du moindre privilège Services limités au strict nécessaire
Surveillance continue Logs réguliers, mises à jour et sauvegardes automatisées
Privacy caméra Switch dédié pour activer/désactiver le mode privacy de la caméra

Architecture Zero-Trust domestique

┌──────────────────────┐  ┌──────────────────────┐  ┌──────────────────────┐
│  Accès distant       │  │  IoT local           │  │  Administration      │
│                      │  │                      │  │                      │
│  (Cloudflare Tunnel, │  │  (Zigbee2MQTT,       │  │  (WireGuard VPN,     │
│   HTTPS natif)       │  │   ESPHome, Frigate)  │  │   SSH, Samba LAN)    │
└──────────────────────┘  └──────────────────────┘  └──────────────────────┘
        Chiffré                   100% local                  VPN only

Automatisations

Les automatisations sont organisées par domaine fonctionnel. Le détail des déclencheurs et actions liés à l'alarme, à la sécurité du logement et aux horaires de présence n'est volontairement pas publié — seules les catégories fonctionnelles sont listées ci-dessous, à titre d'illustration de la complexité gérée.

🚨 Alarme & Sécurité

Notifications Telegram, gestion de la sirène, intégration du clavier physique, pilotage conditionnel de la détection vidéo selon l'état de l'alarme.

💡 Éclairage

Allumage/extinction sur détection de mouvement, toggle via boutons Zigbee, scènes lumineuses programmées et conditionnelles.

🌡️ Chauffage

Pilotage des radiateurs selon des plages horaires programmées (détail non publié).

🌬️ Ventilation & IR

Toggle, contrôle de puissance, rotation et changement de mode via codes IR.

🛁 Capteurs & Sécurité passive

Détection de fuite d'eau avec alerte Telegram, gestion du mode privacy caméra, pilotage du diffuseur d'huiles essentielles.


📁 Contenu du dépôt

haos-project/
│
├── readme.md                               # Ce fichier
│
├── docs/
│   ├── architecture.md                     # Schémas et choix d'architecture
│   ├── network-diagram.md                  # Plan réseau (segments IoT, VPN, tunnel)
│   ├── automations-overview.md             # Vue d'ensemble des automatisations (niveau fonctionnel)
│   └── security-policy.md                  # Politique de sécurité appliquée
│
└── configs/
    ├── homeassistant/
    │   └── configuration.yaml.example      # Config principale HAOS (anonymisée)
    ├── zigbee2mqtt/
    │   └── configuration.yaml.example      # Config Zigbee2MQTT (anonymisée)
    ├── alarmo/
    │   └── automations-alarm.yaml          # Retiré du dépôt public (détails sensibles)
    ├── esphome/
    │   └── humidity-sensor.yaml            # Config capteur ESP32 humidité
    └── frigate/
        └── config.yaml.example             # Template config Frigate NVR

🧠 Compétences illustrées

Infrastructure & Réseau

  • Hébergement auto-géré sur matériel dédié (Home Assistant OS natif)
  • Mise en place VPN WireGuard et tunnel sortant Cloudflared
  • Administration distante sécurisée sans exposition WAN
  • Gestion multi-protocoles (Zigbee, Wi-Fi, HTTP, MQTT, IR)
  • Configuration Mosquitto MQTT broker et Zigbee2MQTT

Cybersécurité

  • Architecture Zero-Trust appliquée à un environnement domestique
  • Suppression des dépendances cloud sur les données sensibles (vidéo, capteurs)
  • Segmentation logique des équipements IoT
  • Réduction de la surface d'attaque (aucun port WAN, moindre privilège)
  • Privacy caméra avec switch dédié

Développement & Automatisation

  • Développement de capteurs custom avec ESPHome / ESP32
  • Conception d'automatisations complexes (conditionnelles, répétitions, délais, templates Jinja2)
  • Intégrations API officielles (Enedis, Heatzy, Telegram Bot)
  • Pilotage IR avancé (ventilateur, diffuseur, éclairage ambiant)
  • Blueprint Zigbee (Clavier physique avec Alarmo)

⚠️ Sécurité du dépôt

Ce dépôt est public. Aucune clé privée, token, mot de passe, adresse IP réelle, clé réseau Zigbee ou identifiant sensible n'est commitée. Les fichiers de configuration sont systématiquement anonymisés ou fournis sous forme de templates.

Par ailleurs, les détails opérationnels précis du système d'alarme (commandes de pilotage à distance, scénarios exacts d'armement/désarmement) et les horaires de présence au domicile (plages de chauffage) sont volontairement omis de la documentation publique, pour des raisons de sécurité physique.


📌 À propos

Projet personnel en évolution continue, combinant domotique opérationnelle, sécurité réseau et expérimentation IoT. Utilisé au quotidien comme infrastructure réelle, avec un impact direct sur la sécurité du logement, le confort et la maîtrise énergétique.


Infrastructure opérationnelle — évolutions régulières selon les intégrations et expérimentations en cours.

S
Description
No description provided
Readme
660 KiB