Files
haos-project/readme.md
T
2026-06-19 21:58:18 +02:00

242 lines
9.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🏠 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)
- Automatisation du quotidien (chauffage, présence, éclairage)
- Optimisation énergétique (suivi Enedis, pilotage des radiateurs)
- Expérimentation IoT maîtrisée (capteurs custom ESPHome/ESP32)
---
## 🧱 Architecture générale
```text
┌──────────────────────────────────┐
│ 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 │
│ • Notifications │ │ • Enedis │ │ • SSH / Samba │
└─────────────────┘ └──────────────────┘ └──────────────────┘
```
---
## 🖥️ Infrastructure matérielle
| Composant | Détail |
| -------------- | ----------------------------------- |
| Machine | Mini-PC dédié |
| Stockage | SSD (fiabilité & performances) |
| Hyperviseur | Home Assistant OS (natif) |
| Coordinateur | Sonoff Zigbee USB Dongle |
| Fonctionnement | 24/7, environnement isolé |
---
## ⚙️ 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 sécurisé réservé au tunnel privé.
- SSH restreint au VPN
- Partage Samba limité au LAN
- Aucun port d'administration exposé sur le WAN
---
### 🚨 Sécurité du logement
#### Alarmo Système d'alarme personnalisé
Extension d'alarme intégrée nativement à Home Assistant.
- Armement / désarmement (présence, mode nuit, absence)
- Détection d'intrusion avec notifications instantanées
- Scénarios conditionnels selon les occupants
#### Frigate NVR intelligent local
Vidéosurveillance avec détection d'objets par intelligence artificielle.
- Traitement local (aucun cloud vidéo)
- Réduction des faux positifs par reconnaissance d'objets
- Enregistrements internes et déclenchement automatique d'alertes
- Preuves vidéo locales en cas d'incident
---
### 🌡️ Confort & Énergie
#### Heatzy Gestion du chauffage
Pilotage dynamique de radiateurs électriques connectés selon présence et horaires.
- Programmation horaire et adaptation à la présence
- Optimisation de la température pièce par pièce
- Réduction directe de la consommation énergétique
#### 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
---
### 🌿 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 USB Dongle** — géré via **Zigbee2MQTT**.
- Aucun cloud tiers — données traitées localement
- Maîtrise complète des 15 équipements Zigbee supervisés
- 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 |
### Architecture Zero-Trust domestique
```text
┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐
│ Accès distant │ │ IoT local │ │ Administration │
│ │ │ │ │ │
│ (Cloudflare Tunnel, │ │ (Zigbee2MQTT, │ │ (WireGuard VPN, │
│ HTTPS natif) │ │ ESPHome, Frigate) │ │ SSH, Samba LAN) │
└──────────────────────┘ └──────────────────────┘ └──────────────────────┘
Chiffré 100% local VPN only
```
---
## ⚡ Automatisations
Plus de **50 automatisations conditionnelles** actives, couvrant :
- Gestion de la présence (arrivée / départ)
- Scénarios d'alarme et notifications contextuelles
- Pilotage du chauffage selon horaires et occupants
- Alertes IoT (plantes, énergie, caméras)
- Scènes d'éclairage et routines quotidiennes
---
## 📁 Contenu du dépôt
```text
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
│ └── security-policy.md # Politique de sécurité appliquée
└── configs/
├── zigbee2mqtt/
│ └── configuration.yaml.example # Template config Zigbee2MQTT
├── esphome/
│ └── humidity-sensor.yaml # Config capteur ESP32 (anonymisée)
└── 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)
**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)
**Développement & Automatisation**
- Développement de capteurs custom avec ESPHome / ESP32
- Conception de plus de 50 automatisations conditionnelles
- Intégrations API officielles (Enedis, Heatzy)
- Pilotage énergétique et optimisation des usages
---
## ⚠️ Sécurité du dépôt
> Ce dépôt est **public**. Aucune clé privée, token, mot de passe, adresse IP réelle ou information sensible n'est commitée. Les fichiers de configuration sont systématiquement **anonymisés ou fournis sous forme de templates**.
---
## 📌 À 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.*