ESPHome dla elektryków – jak tworzyć własne czujniki i sterowniki IoT na platformie ESP32

Jeszcze kilka lat temu budowa własnego urządzenia IoT wymagała zaawansowanej wiedzy z zakresu programowania mikrokontrolerów, znajomości protokołów komunikacyjnych i dziesiątek godzin debugowania kodu. Dziś, dzięki platformie ESPHome, elektryk z podstawową wiedzą techniczną jest w stanie w ciągu jednego popołudnia zbudować w pełni funkcjonalny czujnik temperatury, sterownik rolet czy moduł zarządzania oświetleniem. Sprawdźmy, jak to zrobić.

Co to jest ESPHome i dlaczego warto je znać?

ESPHome to system oparty na plikach konfiguracyjnych w formacie YAML, który automatycznie generuje oprogramowanie firmware dla modułów z rodziny ESP8266 i ESP32. Zamiast pisać setki linii kodu w C++, wystarczy opisać zachowanie urządzenia w prostym pliku tekstowym – ESPHome zajmie się resztą.

Platforma ta doskonale integruje się z popularnym systemem automatyki domowej Home Assistant, ale może działać również jako samodzielne rozwiązanie, komunikując się przez MQTT z innymi systemami SCADA czy BMS (Building Management System).

Główne zalety ESPHome dla elektryków i automatyków:

  • Brak konieczności programowania – konfiguracja w YAML jest intuicyjna i przypomina wypełnianie formularza technicznego
  • Aktualizacje OTA (Over-The-Air) – nie trzeba fizycznie podłączać urządzenia do komputera przy każdej zmianie
  • Bogata biblioteka komponentów – obsługa setek czujników, przekaźników, wyświetlaczy i modułów komunikacyjnych
  • Niezawodność – urządzenia działają autonomicznie, bez zależności od chmury
  • Niski koszt – moduł ESP32 kosztuje kilkanaście złotych

Niezbędny sprzęt – co kupić na start?

Do pierwszych projektów wystarczy minimalne wyposażenie. Oto lista zakupowa dla elektryka zaczynającego przygodę z ESPHome:

  • Moduł ESP32 (np. ESP32 DevKit V1, Wemos D1 Mini ESP32) – ok. 15–25 zł
  • Kabel USB-C lub micro-USB – do pierwszego programowania
  • Płytka stykowa (breadboard) – do prototypowania
  • Czujnik temperatury i wilgotności (np. DHT22, SHT31, BME280) – 10–30 zł
  • Moduł przekaźnikowy – do sterowania obwodami 230V – 5–15 zł
  • Zasilacz 5V/1A lub 3,3V – ewentualnie konwerter Hi-Link HLK-PM01 do zasilania z sieci 230V

Uwaga bezpieczeństwa: Przy pracy z napięciem 230V zawsze stosuj zasady BHP. Moduły ESP32 pracują na napięciu 3,3V i muszą być galwanicznie oddzielone od sieci energetycznej. Stosuj certyfikowane przekaźniki i obudowy z odpowiednim stopniem ochrony IP.

Instalacja ESPHome – dwa sposoby

Metoda 1: ESPHome przez Home Assistant (zalecana)

Jeśli posiadasz już działający Home Assistant (np. na Raspberry Pi lub jako VM), instalacja ESPHome jest banalnie prosta:

  1. Wejdź do Ustawienia → Dodatki → Sklep z dodatkami
  2. Znajdź ESPHome i kliknij Instaluj
  3. Uruchom dodatek i otwórz interfejs webowy

Metoda 2: ESPHome standalone (Python)

Jeśli chcesz korzystać z ESPHome niezależnie od Home Assistant, możesz zainstalować je przez pip:

pip install esphome
esphome wizard moj_czujnik.yaml

Pierwszy projekt – czujnik temperatury i wilgotności

Zacznijmy od klasycznego projektu: czujnik temperatury i wilgotności oparty na module BME280, który wyśle dane do Home Assistant przez WiFi.

Schemat podłączenia BME280 do ESP32:

  • VCC → 3,3V
  • GND → GND
  • SDA → GPIO 21
  • SCL → GPIO 22

Plik konfiguracyjny YAML:

esphome:
  name: czujnik-kotlownia
  friendly_name: Czujnik Kotłownia

esp32:
  board: esp32dev

# Połączenie WiFi
wifi:
  ssid: "NazwaSieciWiFi"
  password: "HasloDoSieci"
  ap:
    ssid: "Czujnik-Kotlownia-Fallback"
    password: "hasloawaryjne"

captive_portal:

# Logowanie
logger:

# API dla Home Assistant
api:
  encryption:
    key: "twoj_klucz_szyfrowania"

# Aktualizacje OTA
ota:
  password: "haslo_ota"

# Magistrala I2C
i2c:
  sda: GPIO21
  scl: GPIO22
  scan: true

# Czujnik BME280
sensor:
  - platform: bme280_i2c
    temperature:
      name: "Temperatura Kotłownia"
      oversampling: 16x
    pressure:
      name: "Ciśnienie Kotłownia"
    humidity:
      name: "Wilgotność Kotłownia"
    address: 0x76
    update_interval: 60s

Po wgraniu tego firmware (przez USB przy pierwszym programowaniu, a następnie OTA), urządzenie automatycznie pojawi się w Home Assistant jako nowa encja z danymi o temperaturze, wilgotności i ciśnieniu atmosferycznym.

Sterownik przekaźnikowy – sterowanie oświetleniem lub gniazdem

Drugi popularny projekt to sterownik przekaźnikowy, który może posłużyć do zarządzania oświetleniem, pompą obiegową, wentylatorem czy dowolnym odbiornikiem 230V.

Ważne: Moduły przekaźnikowe z cewką 5V możesz zasilać bezpośrednio z pinu VIN modułu ESP32 (przy zasilaniu przez USB). Styki przekaźnika są galwanicznie odseparowane i mogą przełączać obwody 230V – sprawdź specyfikację techniczną modułu przed podłączeniem.

Konfiguracja sterownika przekaźnikowego:

esphome:
  name: sterownik-oswietlenie
  friendly_name: Sterownik Oświetlenie Garaż

esp32:
  board: esp32dev

wifi:
  ssid: "NazwaSieciWiFi"
  password: "HasloDoSieci"

api:
  encryption:
    key: "twoj_klucz_szyfrowania"

ota:
  password: "haslo_ota"

logger:

# Przycisk fizyczny
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: true
    name: "Przycisk Garażu"
    on_press:
      then:
        - switch.toggle: przekaznik_oswietlenie

# Przekaźnik
switch:
  - platform: gpio
    pin: GPIO26
    name: "Oświetlenie Garażu"
    id: przekaznik_oswietlenie
    icon: "mdi:lightbulb"
    restore_mode: RESTORE_DEFAULT_OFF

Zaawansowane funkcje – automatyzacje w ESPHome

ESPHome pozwala na tworzenie lokalnych automatyzacji bezpośrednio na urządzeniu – co oznacza, że będą działać nawet bez połączenia z siecią lub Home Assistant. To szczególnie ważne w instalacjach przemysłowych, gdzie niezawodność jest priorytetem.

Przykład: automatyczne wyłączenie po czasie

switch:
  - platform: gpio
    pin: GPIO26
    name: "Pompa Cyrkulacyjna"
    id: pompa
    on_turn_on:
      then:
        - delay: 30min
        - switch.turn_off: pompa

Przykład: termostat lokalny

climate:
  - platform: thermostat
    name: "Termostat Kotłownia"
    sensor: temperatura_kotlownia
    min_heating_off_time: 300s
    min_heating_run_time: 300s
    min_idle_time: 30s
    heat_action:
      - switch.turn_on: kociol
    idle_action:
      - switch.turn_off: kociol
    default_preset: Home
    preset:
      - name: Home
        default_target_temperature_low: 20°C

Komunikacja MQTT – integracja z innymi systemami BMS

ESPHome obsługuje protokół MQTT, co pozwala na integrację z systemami zarządzania budynkiem (BMS), sterownikami PLC czy platformami SCADA. Wystarczy dodać do konfiguracji:

mqtt:
  broker: 192.168.1.100
  port: 1883
  username: "uzytkownik_mqtt"
  password: "haslo_mqtt"
  topic_prefix: "budynek/pietro2/czujnik1"

Po tej konfiguracji wszystkie wartości czujników są automatycznie publikowane na zdefiniowane tematy MQTT, a urządzenie nasłuchuje na komendy sterujące.

Praktyczne zastosowania w instalacjach elektrycznych

ESPHome znajduje zastosowanie w wielu scenariuszach, z którymi elektrycy spotykają się na co dzień:

  • Monitoring instalacji fotowoltaicznej – czujniki prądu (np. SCT-013) + ESPHome + wizualizacja w HA
  • Sterowanie roletami elektrycznymi – dedykowany komponent cover obsługuje silniki 24V
  • Monitoring temperatury w rozdzielnicach – wczesne wykrywanie przegrzania
  • Liczniki energii – współpraca z modułami PZEM-004T przez UART
  • Sterowanie pompami i wentylatorami – PWM lub przekaźnikowe
  • Sygnalizacja alarmowa – integracja z czujnikami ruchu PIR, czujnikami dymu
  • Monitoring zalewania – czujniki wody w piwnicach, maszynowniach

Bezpieczeństwo i dobre praktyki

Przy wdrażaniu ESPHome w instalacjach elektrycznych należy pamiętać o kilku kluczowych zasadach:

  1. Zawsze stosuj galwaniczne odseparowanie między obwodami 230V a elektroniką 3,3V
  2. Używaj certyfikowanych modułów przekaźnikowych z odpowiednim prądem znamionowym
  3. Zabezpieczaj sieć WiFi i API – używaj silnych haseł i szyfrowania
  4. Regularnie aktualizuj firmware – ESPHome regularnie wydaje poprawki bezpieczeństwa
  5. Stosuj bezpieczniki i wyłączniki nadprądowe przy każdym sterowanym obwodzie
  6. Dokumentuj instalację – oznaczaj urządzenia i prowadź dokumentację konfiguracji

Podsumowanie

ESPHome to narzędzie, które demokratyzuje świat IoT – sprawia, że tworzenie inteligentnych urządzeń staje się dostępne nie tylko dla programistów, ale dla każdego elektryka czy automatyka, który rozumie schematy elektryczne i chce wzbogacić swoje projekty o warstwę cyfrową. Platforma ta łączy prostotę konfiguracji z ogromną elastycznością, a społeczność skupiona wokół projektu stale rozszerza bibliotekę obsługiwanych komponentów.

Zainwestowanie kilku godzin w naukę ESPHome szybko się opłaci – zamiast kupować drogie, zamknięte systemy automatyki, możesz budować własne rozwiązania dopasowane dokładnie do potrzeb klienta, za ułamek ceny komercyjnych alternatyw. W kolejnych artykułach pokażemy bardziej zaawansowane projekty – monitoring instalacji PV oraz budowę lokalnego termostatu sterownika ogrzewania podłogowego.