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.

Oceń odpowiedź:
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

Czekaj (2min)...