home
Przygotowanie serwera pod usługi self-hosted.
Sercem całej automatyki jest Home Assistant. To centralny punkt, w którym zbiegają się wszystkie dane, decyzje i akcje w systemie.
Home Assistant u mnie:
W praktyce Home Assistant nie musi bezpośrednio obsługiwać każdego urządzenia. Często działa jako orchestrator, który:
To właśnie ta rola — centralnego mózgu, a nie „kolejnej aplikacji” — sprawia, że Home Assistant jest fundamentem całej architektury automatyki domowej.
Jako koordynatora Zigbee używam SLZB-06 — jednego z najpopularniejszych i najbardziej stabilnych urządzeń w tej klasie. Wcześniej korzystałem z Conbee II, jednak przesiadka na sprzęt z PoE pozwoliła mi całkowicie wyeliminować problemy typowe dla USB oraz zapewnić większą stabilność całej sieci Zigbee.
Urządzenia Zigbee obsługuję za pomocą Zigbee2MQTT. To narzędzie, które potrafi wywoływać skrajne emocje — jedni je uwielbiają, inni omijają szerokim łukiem.
U mnie sprawdza się bardzo dobrze:
Zigbee2MQTT pełni tu rolę tłumacza między światem Zigbee a MQTT.
Do komunikacji pomiędzy Zigbee2MQTT a Home Assistant używam EMQX jako brokera MQTT.
Tak — to trochę armata na muchę, ale oferuje kilka kluczowych zalet:
EMQX jest centralnym punktem wymiany danych w całym systemie.
Technicznie wygląda to tak:
Zigbee2MQTT i Home Assistant są równorzędnymi klientami MQTT — komunikują się ze sobą wyłącznie za pośrednictwem brokera.
Sensor ↔ Zigbee2MQTT
Komunikacja dwukierunkowa (Zigbee) Urządzenie Zigbee wysyła m.in.:
Zigbee2MQTT wysyła do urządzenia:
Na tym etapie nie ma MQTT — jest wyłącznie natywny protokół Zigbee.
Zigbee2MQTT ↔ Broker
Komunikacja dwukierunkowa przez MQTT
Zigbee2MQTT:
Broker:
Broker ↔ Home Assistant
Komunikacja dwukierunkowa przez MQTT
Home Assistant:
Broker:
Taki układ:
To podejście szczególnie dobrze sprawdza się w środowiskach self-hosted i większych instalacjach smart home.
W domu korzystam również z urządzeń komunikujących się przez Bluetooth Low Energy (BLE). Do ich obsługi używam Bluetooth Proxy zbudowanych na ESP32 i opartych o ESPHome.
Bluetooth w automatyce domowej ma swoje ograniczenia — krótki zasięg, wrażliwość na zakłócenia i niestabilność połączeń. Proxy rozwiązuje te problemy, pozwalając rozmieścić punkty odbioru sygnału w różnych częściach domu, bez konieczności trzymania wszystkiego w pobliżu serwera z Home Assistant.
W praktyce działa to jak „przedłużacz Bluetooth”.
Bluetooth Proxy (ESP32 + ESPHome) Bluetooth Proxy w ESPHome nie zarządza urządzeniami samodzielnie.
ESP32 pełni rolę:
Cała logika, interpretacja danych i integracja urządzeń odbywa się po stronie Home Assistant.
To bardzo ważne rozróżnienie ponieważ ESP32:
Jakie urządzenia obsługuję?
Na ten moment Bluetooth Proxy obsługuje u mnie głównie:
To typowe urządzenia BLE, które idealnie nadają się do pracy w trybie proxy.
Integracja z Home Assistant
Urządzenia wykrywane przez Bluetooth Proxy są:
Home Assistant sam buduje mapę widoczności BLE, dzięki której:
To ogromna zaleta przy większej liczbie sensorów i proxy.
W największym skrócie:
Czujnik → Bluetooth Proxy → Home Assistant
Ale technicznie wygląda to tak:
Urządzenie BLE → Bluetooth Proxy
Jednokierunkowo (broadcast / reklamy BLE)
Tu nie ma IP, MQTT ani TCP — czysty Bluetooth Low Energy.
Bluetooth Proxy → Home Assistant
Dwukierunkowo (API ESPHome)
ESP32 wysyła surowe pakiety BLE do Home Assistant
Home Assistant:
ESP32 działa tu jak zdalna karta Bluetooth podpięta do Home Assistant.
To świadomy trade-off, który w praktyce bardzo dobrze się sprawdza.
(prawie)Cały system audio w domu opieram o Music Assistant. Home Assistant nie steruje głośnikami bezpośrednio — pełni rolę nadrzędnej logiki i automatyzacji, a Music Assistant jest wyspecjalizowaną warstwą audio.
To celowy podział ról.
Music Assistant pełni u mnie kilka kluczowych funkcji:
Dzięki temu HA nie musi „znać się” na protokołach audio, kodekach czy źródłach dźwięku.
Home Assistant wchodzi do gry dopiero wtedy, gdy:
W największym skrócie:
Głośnik ↔ Music Assistant ↔ Home Assistant
Ale technicznie wygląda to tak:
Głośnik ↔ Music Assistant
Dwukierunkowo, protokół zależny od urządzenia
Music Assistant komunikuje się z głośnikami przez:
Music Assistant:
Home Assistant nie widzi tych połączeń.
Music Assistant ↔ Home Assistant
Dwukierunkowo, integracja logiczna
Home Assistant:
Music Assistant:
I co najważniejsze — audio nie blokuje ani nie komplikuje Home Assistanta.
Do własnych projektów DIY korzystam głównie z ESPHome. Powody są proste:
ESPHome daje pełną kontrolę nad urządzeniami i pozwala budować niestandardowe rozwiązania w prosty sposób.
W mojej instalacji ESPHome używa MQTT. Dzięki temu:
W największym skrócie:
ESPHome device ↔ EMQX (MQTT broker) ↔ Home Assistant
Technicznie wygląda to tak:
ESPHome ↔ EMQX
Dwukierunkowo przez MQTT
EMQX ↔ Home Assistant
Dwukierunkowo przez MQTT
Dzięki takiemu rozwiązaniu mam pełną świadomość, co się dzieje w systemie, a diagnostyka i rozbudowa automatyzacji staje się prostsza.
Oczywiście, ESPHome można integrować bezpośrednio z Home Assistant, ale dla większych instalacji MQTT daje skalowalność i przewidywalność działania.
Dane w Home Assistant potrafią bardzo szybko urosnąć — logi, stany czujników, historia zdarzeń, statystyki. Dlatego wybór odpowiedniej bazy danych ma realny wpływ na stabilność, wydajność i późniejsze utrzymanie systemu.
U mnie role są jasno rozdzielone: jedna baza do działania Home Assistanta „tu i teraz”, druga do długoterminowej historii.
MariaDB to bardzo solidny wybór jako główna baza danych dla Home Assistanta.
Dlaczego właśnie ona:
To nie jest egzotyczny wybór — MariaDB jest jedną z najczęściej polecanych baz dla Home Assistanta i sprawdza się świetnie w środowiskach, gdzie system działa 24/7.
InfluxDB wykorzystuję do danych, które mają charakter czasowy i które chcę analizować w dłuższym okresie:
Dlaczego InfluxDB:
InfluxDB pełni u mnie rolę archiwum i źródła danych do wykresów — odciąża główną bazę Home Assistanta i pozwala zachować historię bez kompromisów wydajnościowych.
Żeby mieć realną kontrolę nad tym, co dzieje się w mojej infrastrukturze, postawiłem na ekosystem monitoringu od Grafana Labs. Zależało mi nie tylko na „ładnych wykresach”, ale na pełnej obserwowalności: metrykach, logach i alertach — w jednym, spójnym systemie.
Całość składa się z kilku komponentów, z których każdy ma jasno określoną rolę.
Moje rozwiązanie składa się z kilku komponentów:
Alloy to agent od Grafana Labs, który w jednym procesie łączy funkcje kilku popularnych narzędzi:
Zbiera metryki zarówno z hosta, jak i z każdego kontenera. W praktyce zastąpił mi 2–3 osobne usługi, upraszczając konfigurację i zmniejszając narzut na system.
Loki odpowiada za zbieranie i przeszukiwanie logów.
Zamiast szukać logów po SSH, Dockerze czy plikach — wszystko mam w jednym panelu.
Prometheus to warstwa odpowiedzialna za:
Sam w sobie nie jest narzędziem wizualnym — jego zadaniem jest niezawodne gromadzenie danych, a nie ich prezentacja.
Grafana to warstwa, w której wszystko nabiera sensu.
To tutaj:
Widzę w jednym miejscu m.in.:
problemy zanim staną się problemami.
Sam monitoring to za mało — kluczowe jest to, żeby wiedzieć, kiedy coś idzie nie tak.
Dlatego alerty z Grafany wysyłam bezpośrednio do Home Assistanta. Dzięki temu:
Celem nie jest patrzenie w wykresy — tylko dostanie informacji zanim coś realnie przestanie działać.
System jest zbudowany warstwowo i modułowo. Home Assistant odpowiada za logikę i automatyzacje, ale nie jest krytycznym punktem działania domu. Zigbee, MQTT, Bluetooth, bazy danych i monitoring działają niezależnie od siebie, a komunikacja jest rozproszona.
Dzięki temu:
Krótko mówiąc: system jest odporny, obserwowalny i da się nim zarządzać nawet wtedy, gdy coś się wysypie.