ESPHome - Chytré zařízení z ESP32 za pár minut
ESPHome je open-source framework, který zásadně zjednodušuje vytváření vlastních chytrých zařízení z levných WiFi mikrokontrolérů. Místo složitého programování v C++ stačí jednoduchý YAML konfigurační soubor a ESPHome se postará o zbytek.

Co je ESPHome
V podstatě jde o nástroj, který vám umožní:
- ✅ Vytvářet vlastní chytrá zařízení pomocí jednoduchých YAML souborů
- ✅ Bezproblémová integrace s Home Assistant
- ✅ OTA aktualizace - bezdrátové nahrávání firmware
- ✅ Lokální ovládání - žádná závislost na cloudu
- ✅ Stovky podporovaných komponent - senzory, displeje, relé...
- ✅ Automatizace přímo na zařízení
- ❌ Není potřeba programovat v C++
- ❌ Není potřeba znát Arduino IDE
- ❌ Není potřeba cloud služby
- ❌ Není potřeba složitá konfigurace
ESPHome je součástí Open Home Foundation – stejné organizace, pod kterou spadá i Home Assistant. To zaručuje dlouhodobou podporu a vývoj.
Podporované mikrokontroléry
ESPHome podporuje širokou škálu hardware:
| Platforma | Popis | Použití |
|---|---|---|
| ESP32 | Nejpopulárnější, WiFi + Bluetooth | Většina projektů |
| ESP8266 | Starší, pouze WiFi | Jednoduché projekty |
| RP2040 | Raspberry Pi Pico | Specifické použití |
| Další | Nordic nRF52, Realtek RTL87xx, Beken BK72xx | Pokročilé projekty |
Pro nové projekty doporučuji ESP32 - má více paměti, podporuje Bluetooth a stojí prakticky stejně jako ESP8266.
Instalace ESPHome do Home Assistant
Instalace ESPHome addonu je velmi jednoduchá:
Krok 1: Instalace addonu
- V Home Assistant jděte do Nastavení → Doplňky
- Klikněte na Obchod s doplňky (vpravo dole)
- Vyhledejte ESPHome
- Klikněte na Instalovat
Instalace může trvat několik minut v závislosti na rychlosti vašeho připojení a výkonu systému.
Krok 2: Spuštění addonu
- Po instalaci klikněte na Spustit
- Počkejte, až se addon spustí (zelená ikonka)
- Klikněte na Otevřít webové UI
Otevře se vám webové rozhraní ESPHome Device Builder, kde budete vytvářet a spravovat své ESP zařízení.
První zařízení - krok za krokem
Pojďme si vytvořit vaše první ESPHome zařízení!
Co budete potřebovat
Hardware:
- ESP32 nebo ESP8266 vývojová deska
- USB kabel (datový, ne jen nabíjecí!)
- Počítač s USB portem
Software:
- Home Assistant s nainstalovaným ESPHome
- Webový prohlížeč (Chrome nebo Edge)

ESP32-WROOM
Vývojová deska ESP32 s WiFi a Bluetooth pro DIY projekty a ESPHome.
CP2102 USB 2.0 to TTL UART Module
USB adaptér pro nahrání firmware (3.3V / 5.0V)Vytvoření konfigurace
-
V ESPHome webovém UI klikněte na "+ Nové zařízení"
-
Průvodce vás provede základním nastavením:
- Zadejte název zařízení (např. "test-esp32")
- Vyberte typ zařízení (ESP32, ESP8266...)
- Zadejte WiFi SSID a heslo
-
ESPHome vytvoří základní konfiguraci
Výsledný YAML soubor bude vypadat nějak takto:
esphome:
name: test-esp32
friendly_name: Test ESP32
esp32:
board: esp32dev
framework:
type: arduino
# Povolit logování
logger:
# Povolit Home Assistant API
api:
encryption:
key: "váš_šifrovací_klíč"
# Povolit OTA aktualizace
ota:
- platform: esphome
password: "vaše_ota_heslo"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Fallback hotspot
ap:
ssid: "Test-Esp32 Fallback"
password: "fallback_heslo"
ESPHome podporuje !secret pro ukládání citlivých údajů mimo konfiguraci. Tyto údaje se ukládají do souboru secrets.yaml.
Nahrání firmware - první instalace
Pro první nahrání firmware je potřeba použít USB kabel:
- Připojte ESP32 k počítači pomocí USB kabelu
- V ESPHome klikněte na tři tečky u vašeho zařízení
- Vyberte Install → Plug into this computer
- Vyberte sériový port vašeho ESP32
- Počkejte na dokončení nahrávání (2-5 minut)
První nahrání firmware musí být přes USB. Až poté fungují OTA (bezdrátové) aktualizace.
Připojení k Home Assistant
Po úspěšném nahrání a připojení k WiFi by se zařízení mělo automaticky objevit v Home Assistant:
- Jděte do Nastavení → Zařízení a služby
- V sekci Objeveno by mělo být vaše ESPHome zařízení
- Klikněte na Konfigurovat
- Zadejte šifrovací klíč z konfigurace (pokud je vyžadován)
- Potvrďte přidání
Přidání komponent
Teď, když máte základní zařízení funkční, můžeme přidat nějaké užitečné komponenty!
Příklad: GPIO spínač
Přidejte do konfigurace ovládání relé nebo LED:
switch:
- platform: gpio
name: "Relé 1"
pin: GPIO5
id: relay_1
Příklad: Binární senzor (tlačítko)
Přidejte sledování stavu tlačítka nebo door/window senzoru:
binary_sensor:
- platform: gpio
name: "Tlačítko 1"
pin:
number: GPIO0
inverted: true
mode:
input: true
pullup: true
Příklad: Teplotní senzor DHT22
sensor:
- platform: dht
pin: GPIO4
temperature:
name: "Teplota"
humidity:
name: "Vlhkost"
model: DHT22
update_interval: 60s
Aktualizace zařízení
Po úpravě konfigurace:
- Klikněte na "Save" v editoru
- Klikněte na "Install"
- Tentokrát můžete vybrat "Wirelessly" - není potřeba USB! ⚡
Po první instalaci přes USB už všechny další aktualizace probíhají bezdrátově přes WiFi. Je to rychlé a pohodlné!
Pokročilé funkce
Automatizace přímo na zařízení
ESPHome umožňuje spouštět automatizace přímo na ESP chipu, bez nutnosti komunikace s Home Assistant:
binary_sensor:
- platform: gpio
name: "Tlačítko"
pin: GPIO0
on_press:
- switch.toggle: relay_1
Bluetooth Proxy
ESP32 může fungovat jako Bluetooth Proxy pro rozšíření BLE pokrytí:
esp32_ble_tracker:
scan_parameters:
interval: 1100ms
window: 1100ms
bluetooth_proxy:
active: true
Více o Bluetooth Proxy najdete v mém článku Bluetooth Proxy.
Webový server
Můžete povolit vestavěný web server pro přímé ovládání:
web_server:
port: 80
Web server zabírá hodně paměti. Nedoporučuji jej používat současně s Bluetooth Proxy!
Komponenty a možnosti
ESPHome podporuje obrovské množství komponent. Zde je výběr těch nejpoužívanějších:
Senzory
- Teplota a vlhkost: DHT11/22, BME280, SHT3x, Dallas DS18B20
- Tlak: BME280, BMP280
- Světlo: BH1750, TSL2561
- Vzdálenost: HC-SR04, VL53L0X
- Energie: PZEM-004T, CSE7766, HLW8012
- CO2: MH-Z19, SCD30
Ovládání
- Relé a spínače: GPIO, PCF8574
- Světla: PWM, RGBW, FastLED
- Servomotory: Servo
- Ventilátory: Fan
Displeje
- LCD: HD44780, PCF8574
- OLED: SSD1306, SH1106
- E-ink: Waveshare
- TFT: ILI9341, ST7789
Komunikace
- I2C, SPI, UART
- MQTT
- Modbus
- IR vysílač/přijímač
Úplný seznam všech podporovaných komponent najdete v oficiální dokumentaci ESPHome.
Aktualizace ESPHome zařízení
Když vyjde nová verze ESPHome, můžete zařízení aktualizovat přímo z Home Assistant:
- V Home Assistant se objeví dostupná aktualizace pro ESPHome zařízení
- Klikněte na Aktualizovat
- Aktualizace proběhne automaticky přes OTA

Není potřeba chodit do ESPHome webového UI - vše se dá ovládat přímo z Home Assistant!
Tipy a triky
Framework: ESP-IDF vs Arduino
Pro pokročilé projekty (např. Bluetooth Proxy) doporučuji ESP-IDF framework:
esp32:
board: esp32dev
framework:
type: esp-idf # Místo výchozího 'arduino'
Výhody ESP-IDF:
- Nižší spotřeba paměti
- Lepší výkon
- Stabilnější Bluetooth
Při přepnutí z arduino na esp-idf je nutné flashovat přes USB! OTA neprojde kvůli změně partition table.
Secrets soubor
Pro citlivá data používejte secrets.yaml:
# V konfiguračním souboru:
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# V souboru secrets.yaml:
wifi_ssid: "MojeWiFi"
wifi_password: "SuperTajneHeslo123"
Debug logování
Pro řešení problémů zvyšte úroveň logování:
logger:
level: DEBUG # nebo VERBOSE pro ještě více detailů
Řešení problémů
Zařízení se neobjevilo v Home Assistant
- Zkontrolujte, že je zařízení připojené k WiFi (podívejte se do routeru)
- Zkontrolujte logy v ESPHome (tlačítko "LOGS")
- Zkuste manuální přidání přes IP adresu
- Restartujte Home Assistant
OTA aktualizace selhává
- Zkontrolujte stabilitu WiFi signálu
- Zkuste aktualizovat přes USB
- Zkontrolujte dostupnou paměť v logu
Zařízení se neustále restartuje
- Problém s napájením - zkuste jiný USB zdroj
- Nedostatek paměti - zakažte Web Server nebo snižte počet komponent
- Chyba v konfiguraci - zkontrolujte logy
Praktické projekty
Teploměr do pokoje
sensor:
- platform: dht
pin: GPIO4
temperature:
name: "Teplota obývák"
humidity:
name: "Vlhkost obývák"
model: DHT22
update_interval: 60s
Chytrý spínač s LED indikací
switch:
- platform: gpio
name: "Hlavní světlo"
pin: GPIO5
id: main_light
on_turn_on:
- light.turn_on: led_status
on_turn_off:
- light.turn_off: led_status
light:
- platform: status_led
name: "LED stav"
id: led_status
pin: GPIO2
Door/Window senzor s časovým logováním
binary_sensor:
- platform: gpio
name: "Hlavní dveře"
pin:
number: GPIO0
mode:
input: true
pullup: true
inverted: true
on_press:
then:
- logger.log: "Dveře otevřeny!"
on_release:
then:
- logger.log: "Dveře zavřeny!"
Zhodnocení
Po několika letech používání ESPHome můžu říct, že je to jeden z nejlepších nástrojů pro DIY chytrou domácnost.
✅ Hlavní výhody
- Jednoduchá konfigurace - YAML místo C++
- Perfektní integrace s Home Assistant
- OTA aktualizace - žádné kabely
- Obrovská komunita - tisíce projektů
- Lokální ovládání - žádný cloud
- Aktivní vývoj - pravidelné aktualizace
- Levný hardware - ESP32 za pár korun
⚠️ Co by mohlo být lepší
- Strmější křivka učení pro úplné začátečníky
- Omezená paměť ESP8266 pro složité projekty
- První flashování vyžaduje USB kabel
Doporučení
ESPHome vřele doporučuji pokud:
- ✅ Používáte Home Assistant
- ✅ Chcete si vytvořit vlastní senzory/spínače
- ✅ Nechcete se učit programovat v C++
- ✅ Oceníte lokální ovládání bez cloudu
- ✅ Chcete ušetřit oproti komerčním řešením
Nedoporučuji pokud:
- ❌ Jste absolutní začátečník (začněte radši s hotovými Zigbee/WiFi zařízeními)
- ❌ Chcete plug-and-play řešení bez jakékoliv konfigurace
- ❌ Nepoužíváte Home Assistant (pak zvažte Tasmota)
Související články
Další zdroje
- Oficiální ESPHome dokumentace
- ESPHome Device Database - databáze podporovaných zařízení
- ESPHome Discord - aktivní komunita
- ESPHome GitHub - zdrojový kód



Komentáře