Files
wiki/Catalogue-Self-Hosted/apps/app-esphome.md
T
2026-06-09 18:40:21 +02:00

136 lines
4.0 KiB
Markdown

---
title: ESPHome
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, home-automation, app-marathon-batch-c]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Home+Automation&app=esphome, https://esphome.io/]
---
# 🏠 ESPHome
> **Créez des firmware ESP8266/ESP32 en YAML** : pas besoin de coder en C++, déclarez vos capteurs, compilez et flashez OTA.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [esphome.io](https://esphome.io/) |
| **GitHub** | [esphome/esphome](https://github.com/esphome/esphome) |
| **License** | MIT |
| **Langage** | C++ (firmware) + Python (build tool) |
| **Étoiles GitHub** | 9.7k ⭐ |
| **Catégorie** | [[cat-home-automation\|Home Automation]] |
## 📝 Description
**ESPHome** transforme vos ESP8266/ESP32 en devices domotiques **sans écrire de C++**.
-**Config YAML** : déclare sensors, switches, lights, displays...
-**Compilation automatique** : le tool build et flash OTA
-**API native** : intégration Home Assistant native
-**Fallback HTTP** : interface web de fallback sur l'ESP
-**OTA updates** : mises à jour sans fil
-**MQTT** : alternative à l'API native
-**200+ composants** : DHT, BME280, BMP280, Dallas, PWM, NeoPixel...
-**Dashboard web** : visualiser/éditer configs (en add-on HASS)
-**Bluetooth Proxy** : ESP32 = pont BLE pour HASS
-**Logger intégré** : logs temps réel série/web
**Différence vs Tasmota** : ESPHome = YAML moderne, intégration HASS native, plus actif. Tasmota = firmware pré-compilé, web UI, plus mature. Pour qui: makers qui veulent **un firmware sur-mesure** avec intégration domotique fluide.
## 🚀 Installation
### Option 1 : Add-on Home Assistant (recommandé)
```yaml
# /config/esphome/<device>.yaml
esphome:
name: salon-capteur
platform: ESP32
board: esp32dev
wifi:
ssid: "MonWiFi"
password: "motdepasse"
captive_portal:
api:
password: "api-password"
ota:
password: "ota-password"
logger:
sensor:
- platform: dht
pin: GPIO4
temperature:
name: "Salon Temperature"
humidity:
name: "Salon Humidity"
update_interval: 60s
```
### Option 2 : Docker Compose (CLI)
```yaml
version: '3.8'
services:
esphome:
image: esphome/esphome:latest
container_name: esphome
restart: unless-stopped
network_mode: host
volumes:
- esphome_config:/config
devices:
- /dev/ttyUSB0:/dev/ttyUSB0 # pour flasher
labels:
- "traefik.enable=true"
- "traefik.http.routers.esphome.rule=Host(`esphome.example.com`)"
- "traefik.http.routers.esphome.entrypoints=websecure"
- "traefik.http.routers.esphome.tls.certresolver=letsencrypt"
volumes:
esphome_config:
```
## 🔄 Alternatives
### Open Source
- **Tasmota** — Firmware pré-compilé mature, web UI
- **ESPurna** — Firmware alternatif ESP
- **WLED** — Spécialisé LED strips
- **Arduino/PlatformIO** — Low-level si besoin de C++
- [[app-tasmoadmin]] — GUI web pour gérer parc Tasmota
### Propriétaires
- **Tuya cloud** — Devices bon marché, dépendance cloud
- **Sonoff** (cloud eWeLink) — Devices flashables Tasmota
- **Shelly** — Devices avec firmware custom
- **TP-Link Kasa** — Cloud, peu de customisation
## 🔐 Sécurité
- **Password API** : obligatoire (sinon écoute réseau local)
- **OTA password** : changer le défaut
- **Wifi credentials** : stockées en clair dans le binaire (attention divulgation)
- **Fallback HTTP** : activer en local uniquement
- **Logs** : ne pas exposer publiquement
## 📚 Ressources
- [Documentation officielle](https://esphome.io/)
- [Composants](https://esphome.io/components/)
- [Forum communauté](https://community.home-assistant.io/c/esphome/)
## Pages Liées
- [[cat-home-automation]] — Catégorie Home Automation
- [[app-home-assistant]] — Intégration native
- [[app-tasmoadmin]] — Alternative Tasmota
- [[recettes-docker-compose]] — Templates Docker
- [[esphome-vs-tasmota]] — Comparaison firmware