Kursy • Poradniki • Inspirujące DIY • Forum

ESPHome - co warto wiedzieć?

ESPHome to darmowe narzędzie open source, które zamienia płytkę z ESP32 lub ESP8266 w urządzenie inteligentnego domu bez pisania kodu w C++. Wystarczy opisać w prostym pliku YAML podłączone czujniki i przekaźniki, a ESPHome sam przygotuje i wgra firmware. To jeden z najszybszych sposobów na własne czujniki i sterowniki dla Home Assistant.

ESPHome - co to jest?

Opisywane narzędzie to generator firmware dla mikrokontrolerów. Zamiast pisać program w Arduino IDE, przygotowujemy plik konfiguracyjny, w którym deklarujemy, co ma robić urządzenie: jaki czujnik jest na którym pinie, co ma się dziać po naciśnięciu przycisku i jak często wysyłać pomiary. Resztę - obsługę Wi-Fi, aktualizacje i komunikację z centralą - ESPHome dodaje sam.

Projekt stworzył Otto Winter, a w 2021 roku przejęła go firma Nabu Casa, która rozwija oficjalny sprzęt dla Home Assistant. Od 2024 roku ESPHome, podobnie jak Home Assistant, należy do fundacji Open Home Foundation. Nowe wersje ukazują się co miesiąc, a ich numer to rok i miesiąc wydania.

ESPHome - edytor pliku YAML z konfiguracją urządzenia w Home Assistant

Edycja konfiguracji urządzenia w ESPHome Builder

ESPHome obsługuje przede wszystkim układy ESP32 (także warianty C3, C6 i S3) oraz ESP8266. Działa też na RP2040 i RP2350 z płytek Raspberry Pi Pico, na nRF52 oraz na układach BK72xx, RTL87xx i LN882, które często siedzą w tanich gniazdkach i żarówkach Wi-Fi. Co ciekawe, dzięki temu wiele gotowych urządzeń można uwolnić od chmury producenta.

Jak działa ESPHome?

Podstawą jest plik YAML, czyli czytelny format tekstowy oparty na wcięciach. Każdy element urządzenia to tzw. komponent - ESPHome ma ich setki: od czujników temperatury, przez wyświetlacze i taśmy LED, po obsługę Bluetooth czy Modbus. Przykładowo, czujnik temperatury i wilgotności DHT22 podłączony do pinu GPIO4 można opisać tak:

esphome:
  name: czujnik-salon

esp32:
  board: esp32dev

wifi:
  ssid: "NazwaSieci"
  password: "HasloDoSieci"

api:        # połączenie z Home Assistant
ota:        # aktualizacje przez Wi-Fi
  - platform: esphome

sensor:
  - platform: dht
    pin: GPIO4
    temperature:
      name: "Temperatura salon"
    humidity:
      name: "Wilgotność salon"
    update_interval: 60s

Po zapisaniu ESPHome kompiluje z tej konfiguracji gotowy program i wgrywa go do płytki. Od wersji 2026.7 dla ESP32 domyślnie korzysta przy tym z natywnego środowiska ESP-IDF, a nie z PlatformIO. Bardziej złożoną logikę można dopisać w tzw. lambdach, czyli krótkich wstawkach kodu C++ wewnątrz pliku YAML.

Nie wszyscy wiedzą, że urządzenie z ESPHome działa samodzielnie. Automatyzacje zapisane w YAML (np. włącz przekaźnik, gdy temperatura spadnie poniżej progu) wykonują się na płytce nawet wtedy, gdy centrala jest wyłączona.

Jak zainstalować ESPHome?

Najwygodniej korzystać z ESPHome Device Builder - panelu w przeglądarce, w którym tworzy się konfiguracje, kompiluje je i wgrywa do urządzeń. Można go uruchomić jako aplikację w Home Assistant, w kontenerze Docker, jako aplikację na komputer (Windows, macOS, Linux) albo zainstalować z linii poleceń przez pip.

Pierwsze wgranie programu wymaga połączenia płytki z komputerem przewodem USB. Kolejne aktualizacje odbywają się już bezprzewodowo, przez Wi-Fi, czyli tzw. OTA (ang. Over-The-Air). Kreator podpowiada wszystkie dostępne metody instalacji, widoczne poniżej.

ESPHome Device Builder - wybór instalacji bezprzewodowej, przez USB albo przez ręczne pobranie pliku

Metody instalacji firmware w ESPHome Device Builder

Jak wgrać ESPHome bez instalowania programów? Wystarczy przeglądarka Chrome lub Edge i narzędzie ESPHome Web, które łączy się z płytką przez port USB:

https://web.esphome.io

W ten sposób można przygotować płytkę do pierwszego użycia albo wgrać plik firmware pobrany z Device Builder. Tą samą drogą instaluje się gotowe projekty z oficjalnej strony ESPHome, np. Bluetooth proxy, który rozszerza zasięg Bluetooth w Home Assistant.

ESPHome i Home Assistant - jak połączyć?

Po wgraniu firmware urządzenie samo zgłasza się w Home Assistant, a dodanie go wymaga jednego kliknięcia. Komunikacja odbywa się przez szyfrowane natywne API, więc nie trzeba konfigurować brokera MQTT. Każdy czujnik, przekaźnik i przycisk z pliku YAML pojawia się jako osobna encja.

ESPHome w Home Assistant - lista przekaźników i wejść urządzenia jako encje

Encje urządzenia ESPHome w Home Assistant

Warto wiedzieć, że ESPHome nie jest związany wyłącznie z Home Assistant. Urządzenia mogą wysyłać dane przez MQTT do innych systemów, a komponent web_server udostępnia prosty panel sterowania w przeglądarce. Przykład projektu, w którym ESPHome posłużył do zbudowania ekranu do inteligentnego domu, opisaliśmy w newsie:

Energooszczędny XIAO ePaper Panel (3 miesiące na jednym ładowaniu) – czytelny ekran do Twojego smart home DIY
Energooszczędny XIAO ePaper Panel (3 miesiące na jednym ładowaniu) – czytelny ekran do Twojego smart home DIY

Najnowszy gadżet w rodzinie XIAO to XIAO 7,5″ ePaper Panel, stworzony z myślą o wszystkich miłośnikach rozwiązań smart home! To…... Czytaj dalej »

ESPHome - jaką płytkę wybrać?

Do nauki wystarczy dowolna płytka deweloperska z ESP32, najlepiej taka z wyprowadzonymi pinami i portem USB-C. Płytki z układem ESP32 są dostępne u naszego partnera - w sklepie Botland, który ma w swojej ofercie tysiące produktów dla elektroników i makerów. W ofercie są też gotowe sterowniki z obsługą ESPHome, np. sterowniki boneIO do automatyki domowej.

Sprawdź płytki ESP32 w Botland »

Przy wyborze warto zwrócić uwagę na to, czego będzie potrzebował projekt. Do czujników w domu wystarczy klasyczne ESP32, do asystenta głosowego czy wyświetlacza lepiej sprawdzi się ESP32-S3 z większą pamięcią PSRAM, a do urządzeń Thread i Zigbee - ESP32-C6. Starszy układ ESP8266 nadal działa, ale ma mniej pamięci, więc przy rozbudowanych konfiguracjach szybko dochodzi do jej granic.

Co o tym sądzisz? Oceń ten wpis:

Średnia ocena 5 / 5. Głosów łącznie: 2

Nikt jeszcze nie głosował, bądź pierwszy!

Artykuł nie był pomocny? Jak możemy go poprawić? Wpisz swoje sugestie poniżej. Jeśli masz pytanie to zadaj je w komentarzu - ten formularz jest anonimowy, nie będziemy mogli Ci odpowiedzieć!

Co o tym sądzisz? Oceń ten wpis:

Średnia ocena 5 / 5. Głosów łącznie: 2

Nikt jeszcze nie głosował, bądź pierwszy!

Artykuł nie był pomocny? Jak możemy go poprawić? Wpisz swoje sugestie poniżej. Jeśli masz pytanie to zadaj je w komentarzu - ten formularz jest anonimowy, nie będziemy mogli Ci odpowiedzieć!

Odnośniki do niektórych produktów umieszczone w tym wpisie prowadzą do głównego partnera serwisu – sklepu Botland. Nie są to linki afiliacyjne. Na tej podstronie opisaliśmy na czym dokładnie polega nasza współpraca.