Konfiguracja MQTT brokera w Domoticz: Przewodnik
Pytanie
Domoticz mqtt broker konfiguracja
Odpowiedź Sztucznej Inteligencji
Bezpośrednia odpowiedź na pytanie
- Domoticz sam nie jest brokerem MQTT; działa jako klient MQTT. Potrzebujesz zewnętrznego brokera (najczęściej Mosquitto), a w Domoticz dodajesz jedno z urządzeń: „MQTT Client Gateway with LAN interface” (klasyczna integracja) albo „MQTT Auto Discovery Client Gateway with LAN interface” (autodiscovery). Domyślne topiki to domoticz/in (wejście) i domoticz/out (wyjście). (wiki.domoticz.com)
- Jeżeli chcesz jedynie wysyłać (push) wybrane dane z Domoticz do MQTT, użyj: Setup → More options → Data Push → MQTT. (wiki.domoticz.com)
Kluczowe punkty:
- Broker: Mosquitto 2.x (zalecany) + podstawowa konfiguracja (listener 1883, uwierzytelnianie). (wiki.domoticz.com)
- Hardware w Domoticz: „MQTT Client Gateway…” (Prevent Loop = True, poprawne prefiksy topików). (wiki.domoticz.com)
- Autodiscovery (od Domoticz 2022.1) dla Zigbee2MQTT/Zwave JS UI/ESPHome itd. (wiki.domoticz.com)
- Test: mosquitto_pub/sub na domoticz/in oraz podgląd domoticz/out. (wiki.domoticz.com)
Szczegółowa analiza problemu
- Architektura:
- Urządzenia/mostki (np. Tasmota, Zigbee2MQTT, Zwave JS UI) ↔ Broker MQTT ↔ Domoticz (klient). Domoticz wymaga dostępnego brokera w sieci i sam nie hostuje Mosquitto. (wiki.domoticz.com)
- Tryby integracji Domoticz↔MQTT:
- MQTT Client Gateway with LAN interface:
- Dwukierunkowa komunikacja po topikach domoticz/in (odbiór poleceń do Domoticz) i domoticz/out (publikacja zdarzeń/stanu z Domoticz). Włącz „Prevent Loop”, by uniknąć sprzężenia zwrotnego między domoticz/out i domoticz/in. Od wersji 2024.1 można filtrować, które urządzenia mają publikować do topic out. (wiki.domoticz.com)
- MQTT Auto Discovery Client Gateway:
- Obsługa Home Assistant MQTT Discovery (od Domoticz 2022.1). Automatyczne tworzenie urządzeń w Domoticz na podstawie ogłoszeń discovery (prefiks zwykle „homeassistant”; można zmienić). Polecane m.in. z Zigbee2MQTT i Zwave JS UI. (wiki.domoticz.com)
- Data Push → MQTT:
- Jednokierunkowy „push” wybranych wartości z konkretnych urządzeń Domoticz do ustalonego topicu (bez odczytu MQTT). Proste, gdy chcesz tylko zasilać zewnętrzny system danymi. (wiki.domoticz.com)
- Broker Mosquitto 2.x – istotne różnice:
- Od 2.0 domyślna konfiguracja może nie przyjmować połączeń z LAN bez dopisania listenera; dodaj co najmniej:
- listener 1883
- (na start/testy) allow_anonymous true
- W środowisku produkcyjnym wyłącz anonimowy dostęp i użyj password_file oraz ACL. (wiki.domoticz.com)
- Topiki i format wiadomości:
- Domoticz MQTT używa JSON; podstawowe topiki to domoticz/in i domoticz/out. Publikacja może być „Flat/Hierarchical/Index/Name” (ustawienie Publish Topic w hardware). „Index” bywa najpraktyczniejszy przy Tasmota. (wiki.domoticz.com)
- Integracje:
- Zigbee2MQTT: skonfiguruj broker, włącz HA discovery w Zigbee2MQTT (homeassistant: true), dodaj w Domoticz „MQTT Auto Discovery Client Gateway”; urządzenia pojawią się po pierwszych raportach. (wiki.domoticz.com)
- Zwave JS UI: analogicznie jak wyżej – komunikacja tylko przez MQTT + autodiscovery. (wiki.domoticz.com)
- Tasmota: natywna zgodność z Domoticz; ustaw domoticz/in i domoticz/out, zalecany Publish Topic = Index. (tasmota.github.io)
Aktualne informacje i trendy
- Autodiscovery w Domoticz stabilnie od 2022.1; preferowana metoda dla Zigbee2MQTT/Zwave JS UI. (wiki.domoticz.com)
- Od 2024.1 możesz selektywnie wskazać, które urządzenia publikują do domoticz/out (mniej hałasu na brokerze). (wiki.domoticz.com)
- W interfejsie: dedykowana sekcja Setup → More options → Data Push → MQTT do prostego wysyłania wybranych danych. (wiki.domoticz.com)
- Mosquitto 2.x wymaga jawnej konfiguracji listenera; wielu użytkowników o tym zapomina (częsta przyczyna „Connection refused”). (wiki.domoticz.com)
Wspierające wyjaśnienia i detale
- Prevent Loop: ustaw na True, aby to, co Domoticz wyśle na domoticz/out, nie było z powrotem interpretowane po stronie domoticz/in (eliminuje pętle sterowania). (wiki.domoticz.com)
- Publish Topic – tryby:
- Flat: domoticz/out (klasycznie)
- Index: domoticz/out/$idx (łatwy parsing po identyfikatorze urządzenia)
- Hierarchical/Combined: przydatne z Roomplan/floorplan do segmentacji ruchu MQTT. (wiki.domoticz.com)
Aspekty etyczne i prawne
- Bezpieczeństwo:
- Nie wystawiaj portu 1883 do Internetu bez TLS/uwierzytelniania.
- Dla transmisji po TLS (8883) skonfiguruj certyfikaty w mosquitto.conf i ustaw CA Filename/TLS version w Domoticz hardware/Data Push. (wiki.domoticz.com)
- Prywatność: dane telemetryczne z domu (np. obecność, zużycie energii) mogą ujawniać wzorce życia – ogranicz dostęp do brokera i stosuj silne hasła.
Praktyczne wskazówki
- Szybki start (Linux/RPi, Mosquitto + Domoticz):
- Instalacja i start:
- sudo apt update && sudo apt install mosquitto mosquitto-clients
- sudo systemctl enable --now mosquitto
- Konfiguracja (Mosquitto 2.x – minimalna):
- /etc/mosquitto/mosquitto.conf: dopisz
- listener 1883
- allow_anonymous false
- password_file /etc/mosquitto/passwd
- sudo mosquitto_passwd -c /etc/mosquitto/passwd mqttuser
- sudo systemctl restart mosquitto
- Uwaga: jeżeli chcesz najpierw tylko sprawdzić połączenie, możesz tymczasowo użyć allow_anonymous true. (wiki.domoticz.com)
- Domoticz → Setup → Hardware:
- Type: MQTT Client Gateway with LAN interface
- Remote Address: IP brokera (localhost, jeśli ten sam host)
- Port: 1883; Username/Password: zgodnie z mosquitto_passwd
- Prevent Loop: True; Topic In/Out Prefix: domoticz/in, domoticz/out
- Publish Topic: np. Index (z Tasmota działa bardzo wygodnie). (wiki.domoticz.com)
- Test:
- Odbiór: mosquitto_sub -h -t 'domoticz/out/#' -v
- Publikacja: mosquitto_pub -h -t 'domoticz/in' -m '{"command":"getversion"}' (wiki.domoticz.com)
- Autodiscovery (np. Zigbee2MQTT):
- W Zigbee2MQTT włącz homeassistant: true; w Domoticz dodaj „MQTT Auto Discovery Client Gateway” i wskaż broker + discovery prefix; poczekaj na pierwsze raporty urządzeń (baterie mogą wymagać „wybudzenia”). (wiki.domoticz.com)
Ewentualne zastrzeżenia lub uwagi dodatkowe
- Starsze poradniki mogą sugerować „wbudowany broker” w Domoticz – aktualna dokumentacja Domoticz wymaga zewnętrznego brokera. Kieruj się bieżącą wiki Domoticz. (wiki.domoticz.com)
- Nie wszystkie integracje publikują payload zgodny z Domoticz; w razie potrzeby użyj MQTTMapper (mapowanie własnych tematów na urządzenia Domoticz). (wiki.domoticz.com)
- Zatrzymane (retained) wiadomości w brokerze mogą tworzyć „stare” urządzenia lub mylić logikę – czyść je narzędziem MQTT Explorer. (wiki.domoticz.com)
Sugestie dalszych badań
- Domoticz wiki: sekcje MQTT, MQTT Push, Zigbee2MQTT, Zwave JS UI – pełne opisy parametrów i scenariuszy. (wiki.domoticz.com)
- Dokumentacja Tasmota → integracja z Domoticz (ustawienia domoticz/in/out, Index). (tasmota.github.io)
Krótkie podsumowanie
- Zainstaluj i skonfiguruj broker Mosquitto (2.x) – włącz listener 1883, najlepiej z uwierzytelnianiem. (wiki.domoticz.com)
- W Domoticz dodaj:
- MQTT Client Gateway (dwukierunkowa integracja po domyślnych topikach) lub
- MQTT Auto Discovery Client Gateway (automatyczne tworzenie urządzeń z Zigbee2MQTT/Zwave JS UI/ESPHome).
- Alternatywnie: Data Push → MQTT do prostego wysyłania danych. (wiki.domoticz.com)
- Przetestuj ruch mosquitto_pub/sub i sprawdź log Domoticz. W razie potrzeby włącz Prevent Loop i (od 2024.1) filtruj listę urządzeń publikujących do domoticz/out. (wiki.domoticz.com)
Jeśli podasz swój scenariusz (np. Tasmota, Zigbee2MQTT, Zwave JS UI, Node‑RED, Docker), przygotuję precyzyjną konfigurację krok‑po‑kroku pod Twoje środowisko.
Zastrzeżenie: Odpowiedzi udzielone przez sztuczną inteligencję (model językowy) mogą być niedokładne i wprowadzające w błąd. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi powinny być zweryfikowane przez użytkownika.
Zadaj dodatkowe pytanie Sztucznej Inteligencji