Přeskočit na hlavní obsah

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.

ESPHome info

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 a Open Home Foundation

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:

PlatformaPopisPoužití
ESP32Nejpopulárnější, WiFi + BluetoothVětšina projektů
ESP8266Starší, pouze WiFiJednoduché projekty
RP2040Raspberry Pi PicoSpecifické použití
DalšíNordic nRF52, Realtek RTL87xx, Beken BK72xxPokročilé projekty
Doporučení

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

  1. V Home Assistant jděte do NastaveníDoplňky
  2. Klikněte na Obchod s doplňky (vpravo dole)
  3. Vyhledejte ESPHome
  4. Klikněte na Instalovat
Čas instalace

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

  1. Po instalaci klikněte na Spustit
  2. Počkejte, až se addon spustí (zelená ikonka)
  3. 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)
wifibluetooth
ESP32-WROOM

ESP32-WROOM

Vývojová deska ESP32 s WiFi a Bluetooth pro DIY projekty a ESPHome.
usb
CP2102 USB 2.0 to TTL UART Module

CP2102 USB 2.0 to TTL UART Module

USB adaptér pro nahrání firmware (3.3V / 5.0V)

Vytvoření konfigurace

  1. V ESPHome webovém UI klikněte na "+ Nové zařízení"

  2. 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
  3. 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"
Secrets

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:

  1. Připojte ESP32 k počítači pomocí USB kabelu
  2. V ESPHome klikněte na tři tečky u vašeho zařízení
  3. Vyberte InstallPlug into this computer
  4. Vyberte sériový port vašeho ESP32
  5. Počkejte na dokončení nahrávání (2-5 minut)
První flashování

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:

  1. Jděte do NastaveníZařízení a služby
  2. V sekci Objeveno by mělo být vaše ESPHome zařízení
  3. Klikněte na Konfigurovat
  4. Zadejte šifrovací klíč z konfigurace (pokud je vyžadován)
  5. 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:

  1. Klikněte na "Save" v editoru
  2. Klikněte na "Install"
  3. Tentokrát můžete vybrat "Wirelessly" - není potřeba USB! ⚡
OTA aktualizace

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
tip

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
Paměť

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č
Kompletní seznam

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

  1. V Home Assistant se objeví dostupná aktualizace pro ESPHome zařízení
  2. Klikněte na Aktualizovat
  3. Aktualizace proběhne automaticky přes OTA

ESPHome device update

info

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
Změna frameworku

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

  1. Zkontrolujte, že je zařízení připojené k WiFi (podívejte se do routeru)
  2. Zkontrolujte logy v ESPHome (tlačítko "LOGS")
  3. Zkuste manuální přidání přes IP adresu
  4. Restartujte Home Assistant

OTA aktualizace selhává

  1. Zkontrolujte stabilitu WiFi signálu
  2. Zkuste aktualizovat přes USB
  3. Zkontrolujte dostupnou paměť v logu

Zařízení se neustále restartuje

  1. Problém s napájením - zkuste jiný USB zdroj
  2. Nedostatek paměti - zakažte Web Server nebo snižte počet komponent
  3. 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

Komentáře