Przejdź do treści
29.10.2026
Home Assistant

Mosquitto MQTT Broker w Home Assistant: instalacja i konfiguracja

Czym jest Mosquitto MQTT Broker i jaką rolę pełni w Home Assistant

Mosquitto to broker MQTT. Tłumacząc na ludzki: program, który odbiera wiadomości od jednego urządzenia i przekazuje je dalej do wszystkich, którzy chcą je usłyszeć. Sam w sobie nic nie robi z treścią. Nie wie, czy nadawca to czujnik temperatury, czy przełącznik światła. Po prostu przyjmuje temat i wiadomość, a potem rozsyła je subskrybentom.

W Home Assistant rola Mosquitto jest podobna do centrali telefonicznej. MQTT działa w modelu publish/subscribe, więc zamiast łączyć każde urządzenie z każdym, wszystkie gadają wyłącznie z brokerem. To ogromna oszczędność przy kilkudziesięciu czujnikach. Dodatek Mosquitto broker instalujesz jednym kliknięciem z listy dodatków HA, a integrację MQTT włączasz osobno w Ustawieniach.

Bez brokera Home Assistant nie zrozumie wielu popularnych urządzeń. Zigbee2MQTT, Tasmota, ESPHome w trybie MQTT, niektóre zamki i czujniki zalania komunikują się niemal wyłącznie przez ten protokół.

Element Rola Gdzie działa
Mosquitto Odbiera i rozsyła wiadomości Dodatek w Home Assistant OS
Integracja MQTT Tłumaczy tematy na encje HA Ustawienia → Urządzenia i usługi
Klient (np. Tasmota) Publikuje stan i odbiera polecenia Na samym urządzeniu
Subskrybent Nasłuchuje wybranych tematów HA, Node-RED, skrypty

Uważam, że stawianie Mosquitto jako osobnego kontenera poza HA ma sens tylko wtedy, gdy broker obsługuje też inne systemy poza inteligentnym domem. Dla typowej instalacji dodatek w Home Assistant jest prostszy w utrzymaniu i automatycznie dostaje kopię zapasową razem z konfiguracją.

Instalacja Mosquitto MQTT Broker jako dodatek Home Assistant (Supervisor)

Masz Home Assistant OS lub Supervised? Wtedy nie musisz nic stawiać na osobnym serwerze ani bawić się w kontenery Docker ręcznie. Broker MQTT wchodzi jako oficjalny dodatek i całość sprowadza się do kilku kliknięć w panelu.

Ścieżka wygląda tak: Ustawienia, potem Dodatki, na końcu sklep z dodatkami. W wyszukiwarce wpisujesz Mosquitto. Wynik to oficjalny dodatek prowadzony przez zespół Home Assistant, nie żadna nakładka od anonimowego autora z forum. Klikasz Zainstaluj i czekasz, aż obraz się pobierze.

Zanim uruchomisz dodatek, ustaw dane logowania w zakładce Konfiguracja. Domyślnie dodatek pozwala na połączenia anonimowe, a to słaby pomysł, nawet w sieci lokalnej. Wpisujesz własnego użytkownika i hasło, zapisujesz i startujesz usługę.

ParametrUstawienie domyślneZalecaneUwagi
loginspustewłasny użytkownik i hasłoWymagane do pracy z Zigbee2MQTT
anonymoustruefalseZamyka dostęp bez logowania
require_certificatefalsefalseZostaw, jeśli nie stawiasz TLS
port18831883Standardowy port MQTT

Dodatek sam wystawia brokera na porcie 1883. Integracja MQTT w Home Assistant wykryje go automatycznie i zaproponuje konfigurację. Wystarczy zatwierdzić.

Jest jedna rzecz, o której wiele poradników milczy. Jeśli planujesz później postawić Zigbee2MQTT na tym samym urządzeniu, oba dodatki muszą widzieć ten sam broker i tego samego użytkownika. Warto zapisać dane logowania od razu, bo wracanie do nich po fakcie bywa irytujące. Sam kiedyś szukałem hasła w notatkach przez kwadrans, więc traktuj to jako życzliwe ostrzeżenie.

Konfiguracja brokera: użytkownicy, hasła i uprawnienia w Mosquitto

Domyślna konfiguracja Mosquitto działa bez żadnego uwierzytelniania. Każdy w sieci lokalnej może się podłączyć i czytać twoje tematy. W praktyce oznacza to, że sąsiad z dostępem do Wi-Fi albo zainfekowane urządzenie IoT może podejrzeć, kiedy włączasz światło, albo co gorsza wysłać fałszywy rozkaz do zamka.

Hasła w Mosquitto trzyma się w osobnym pliku, generowanym przez narzędzie mosquitto_passwd. Sam plik nie zawiera haseł jawnym tekstem, tylko ich skróty. Pierwszy użytkownik wymaga flagi -c, każdy kolejny już bez niej, inaczej nadpiszesz cały plik. To najczęstszy błąd przy starcie.

Uprawnienia definiujesz w pliku ACL. Bez niego każdy zalogowany użytkownik ma dostęp do wszystkich tematów. Z ACL wskazujesz, kto może czytać, a kto publikować w danym drzewie tematów.

Poziom Kto tego potrzebuje Zakres dostępu Ryzyko pominięcia
Bez uwierzytelniania Nikt w normalnej instalacji Pełny odczyt i zapis Każdy w LAN steruje domem
Tylko hasło Małe instalacje testowe Wszystkie tematy po zalogowaniu Urządzenie może pisać wszędzie
Hasło plus ACL Każda działająca instalacja Wybrane drzewa tematów Brak, to zalecany minimum
ACL plus TLS Dostęp z zewnątrz sieci Jak wyżej, ruch szyfrowany Podsłuch haseł w sieci

Osobne konto dla każdego urządzenia to nie przesada. Gdy jedno z nich zacznie wysyłać dziwne dane, w logach od razu widzisz, które. Wspólne konto dla całego domu zaciera ten obraz.

Szyfrowanie TLS dokłada się dopiero, gdy broker ma być dostępny spoza sieci lokalnej. W zamkniętym LAN-ie sam ACL zwykle wystarcza i nie komplikuje konfiguracji klientów.

Integracja MQTT w Home Assistant: połączenie z brokerem i pierwszy test

Broker działa, zostało połączyć go z Home Assistant. Wchodzisz w Ustawienia → Urządzenia i usługi → Dodaj integrację i wybierasz MQTT. Jeśli Mosquitto stoi na tym samym serwerze co HA, wpisujesz localhost albo adres IP, port 1883 i dane logowania z pliku konfiguracyjnego brokera.

Po zatwierdzeniu integracja pojawi się na liście. Nie ma tam jeszcze żadnych encji, bo MQTT nie odkrywa urządzeń samo z siebie. To normalne i wielu osobom właśnie w tym miejscu wydaje się, że coś nie zadziałało.

Test najprościej zrobić w narzędziu MQTT dostępnym w menu Narzędzia dla deweloperów. Subskrybujesz temat i publikujesz na niego wiadomość z drugiej zakładki. Jeśli wiadomość wraca, połączenie działa.

PoleWartość domyślnaKiedy zmienić
BrokerlocalhostGdy broker stoi na innym urządzeniu
Port1883Na 8883 przy szyfrowanym połączeniu TLS
UżytkownikpustyZawsze, gdy włączone logowanie w brokerze
HasłopusteRazem z użytkownikiem, para z pliku konfiguracji

Na start lepiej zostawić anonymous: false i od razu ustawić konto z hasłem. Otwarty broker w sieci lokalnej kusi, żeby go tak zostawić, ale przy pierwszej zmianie routera albo wystawieniu usługi na zewnątrz robi się z tego dziura. Kilka minut konfiguracji teraz oszczędza sporo nerwów później.

Gdy test przechodzi, masz fundament pod dalszą pracę. Kolejny krok to podłączenie konkretnych urządzeń, a przy sprzęcie Zigbee przyda się osobny artykuł o Zigbee2MQTT, gdzie tematy MQTT pojawiają się już automatycznie.

Pierwsze tematy MQTT: publikowanie, subskrybowanie i praktyczne zastosowania

Gdy broker Mosquitto działa, a Home Assistant łączy się z nim bez błędów, czas sprawdzić, czy dane faktycznie przepływają. Najprostszy test to ręczne opublikowanie wiadomości i obserwowanie, kto ją odbierze. Bez tego kroku konfiguracja pozostaje teorią.

W narzędziach deweloperskich Home Assistant (Developer Tools → MQTT) znajdziesz pola topic, payload i przycisk publikowania. Wpisz temat, wpisz wartość, wyślij. Jeśli subskrybujesz ten sam temat w drugiej zakładce, zobaczysz wiadomość natychmiast. Tak wygląda cała magia MQTT w praktyce.

Struktura tematów ma znaczenie większe, niż się wydaje na starcie. Poziomymi ukośnikami budujesz hierarchię: dom/parter/salon/temperatura czyta się lepiej niż temp_salon_1. Dzika gwiazdka + zastępuje jeden poziom, a # całą resztę gałęzi. Subskrypcja dom/+/salon/temperatura złapie odczyt z każdego piętra.

TematTypZastosowaniePrzykładowy payload
dom/salon/temperaturaodczytczujnik temperatury21.5
dom/salon/swiatlo/setkomendasterowanie lampąON
dom/salon/swiatlo/statestatuspotwierdzenie stanuON
dom/parter/ruchzdarzeniedetekcja obecności1

Uważam, że rozdzielenie tematów komend (/set) od tematów stanu (/state) to jedna z tych decyzji, które oszczędzają godziny później. Home Assistant wysyła komendę, ale stan czyta z osobnego tematu. Dzięki temu wiesz, czy urządzenie faktycznie wykonało polecenie, czy tylko je przyjęło.

Hipotetycznie: gdyby ktoś podłączył przez MQTT czujnik zalania w piwnicy, wystarczy temat dom/piwnica/zalanie z payloadem binarnym. Automatyzacja w Home Assistant subskrybuje ten temat i wysyła powiadomienie. Żadnego chmurowego API, żadnego opóźnienia.

Bezpieczeństwo i diagnostyka brokera Mosquitto w codziennym użytkowaniu

Domowy broker MQTT bez haseł i bez szyfrowania to zaproszenie do kłopotów. W sieci lokalnej ryzyko jest mniejsze, ale każdy telefon gościa, inteligentny telewizor czy przypadkowo zainstalowana aplikacja może wysyłać i odbierać pakiety na porcie 1883. Uwierzytelnianie to nie paranoja, a podstawa.

W praktyce wystarczą trzy kroki, żeby znacząco podnieść poziom bezpieczeństwa. Reszta to diagnostyka, która ratuje wtedy, gdy automatyzacja przestaje reagować o 23:00.

  • Utwórz osobnych użytkowników dla każdego urządzenia lub integracji zamiast współdzielić jedno konto z pełnymi uprawnieniami.
  • Włącz listę ACL, żeby Zigbee2MQTT mógł publikować tylko na swoje tematy, a nie na całe drzewo brokerа.
  • Rozważ szyfrowanie TLS na porcie 8883, choć w zamkniętej sieci LAN bywa to nadmiarowe i częściej psuje niż pomaga.
  • Nigdy nie przekierowuj portu 1883 na router z internetu, nawet tymczasowo do testów.
  • Sprawdzaj logi Mosquitto po restarcie Home Assistant, bo tam najszybciej widać odrzucone połączenia.

Dla większości instalacji domowych szyfrowanie MQTT w LAN to przerost formy nad treścią. VLAN i dobre hasła dają więcej realnej ochrony niż TLS między dwoma urządzeniami w tym samym mieszkaniu. Szyfrowanie ma sens, gdy broker stoi na VPS albo łączy się przez internet z drugim budynkiem.

Diagnostyka sprowadza się do dwóch narzędzi: MQTT Explorer do podglądu tematyki oraz logów Mosquitto. Jeśli encje w Home Assistant przestają się aktualizować, pierwszy krok to sprawdzenie, czy broker w ogóle przyjmuje wiadomości. Hipoteza czysto robocza: gdyby Zigbee2MQTT zgłaszał błąd autoryzacji po zmianie hasła w ACL, prawdopodobnie zobaczysz to dopiero w logu, nie w interfejsie HA. Dlatego warto mieć podgląd logów pod ręką.

Więcej o samej integracji Zigbee2MQTT z brokerem znajdziesz w naszym przewodniku instalacji Zigbee2MQTT.

Udostępnij: Facebook Twitter
Ten artykuł powstał przy wsparciu technologii AI.
Avatar Łukasz Wieczorek

Łukasz Wieczorek

Profil tematyczny serwisu SmartHome

Łukasz Wieczorek to profil tematyczny serwisu SmartHome, a nie osoba. Pod tym podpisem publikujemy artykuły z działów „Home Assistant”, „Urządzenia i sprzęt” i „Protokoły i standardy”. Teksty przygotowuje model językowy, a przed publikacją przechodzą automatyczne kontrole opisane na stronie „O nas”. Za podpisem nie stoi specjalista z uprawnieniami zawodowymi — przy decyzjach dotyczących zdrowia, prawa, pieniędzy lub instalacji skonsultuj się z fachowcem.

Czy ten artykuł był pomocny?
Bądź pierwszy!

Komentarze (0)

Dodaj komentarz

Podobne artykuły

Więcej