---
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
