
MQTT — protokół komunikatów IoT
Oparty na publish/subscribe szkielet komunikacji nowoczesnego IoT. Jak MQTT wpisuje się w inteligentny dom i automatykę budynkową obok KNX, DALI i Home Assistant.
Czym jest MQTT?
MQTT (Message Queuing Telemetry Transport) to lekki protokół komunikatów w modelu publish/subscribe, pierwotnie zaprojektowany dla łączy satelitarnych w latach 90. (IBM/Eurotech). Dziś jest to dominujący protokół komunikacji urządzenie–serwer w IoT — od czujników ESP8266 po przemysłowe sterowniki PLC.
W odróżnieniu od KNX (oparty na magistrali) czy Modbus (master/slave), MQTT korzysta z modelu brokera: urządzenia publikują komunikaty do tematów na centralnym brokerze (np. Mosquitto), a każdy subskrybent nasłuchujący tego tematu otrzymuje komunikat. Brak bezpośredniej komunikacji między urządzeniami.
Kluczowe pojęcia:
- Broker: Centralny serwer trasujący wszystkie komunikaty (Mosquitto, HiveMQ, EMQX). W inteligentnym domu = działa na serwerze HA lub osobnym Pi.
- Temat: Hierarchiczna ścieżka tekstowa, np.
home/livingroom/light/state - Publikacja: Urządzenie wysyła komunikat do tematu
- Subskrypcja: Klient nasłuchuje tematu i otrzymuje wszystkie publikowane do niego komunikaty
- Komunikat retained: Broker przechowuje ostatnią wartość — nowi subskrybenci otrzymują ją natychmiast
- QoS 0/1/2: Najwyżej raz / Co najmniej raz / Dokładnie raz — gwarancja dostarczenia
Specyfikacja MQTT
| Parametr | Wartość |
|---|---|
| Standard | ISO/IEC 20922 (MQTT 3.1.1), MQTT 5.0 |
| Transport | TCP/IP (port 1883) lub TLS (port 8883) |
| Topologia | Gwiazda (z brokerem w centrum) |
| Kierunek | Dwukierunkowy publish/subscribe |
| Ładunek | Dowolny binarny/tekstowy — zwykle JSON lub czysta wartość |
| Separator tematów | / (ukośnik), np. home/floor1/room2/temp |
| Symbol wieloznaczny (jeden poziom) | + (plus), np. home/+/light |
| Symbol wieloznaczny (wiele poziomów) | # (kratka), np. home/# |
| QoS 0 | Wyślij i zapomnij — bez gwarancji dostarczenia |
| QoS 1 | Co najmniej raz — odbiorca potwierdza (możliwe duplikaty) |
| QoS 2 | Dokładnie raz — czterostopniowe uzgadnianie |
| Komunikaty retained | Broker przechowuje ostatni komunikat dla każdego tematu |
| Komunikat Will | Wysyłany przez brokera, gdy klient nieoczekiwanie się rozłączy |
| Uwierzytelnianie | Nazwa użytkownika/hasło, certyfikaty TLS |
| Port (nieszyfrowany) | 1883 |
| Port (TLS) | 8883 |
MQTT w inteligentnym domu — ekosystem
MQTT to wspólny język domu DIY i półprofesjonalnego. Kilka dużych projektów wykorzystuje go jako warstwę transportową:
Zigbee2MQTT
zigbee2mqtt.ioTłumaczy telegramy radiowe Zigbee na MQTT. Podłącz koordynator Zigbee (CC2530, SkyConnect) do HA, uruchom Zigbee2MQTT, a ponad 2500 urządzeń Zigbee pojawi się jako tematy MQTT. Hub Philips Hue zbędny.
Tasmota / ESPHome
tasmota.github.ioOprogramowanie open source dla modułów ESP8266/ESP32. Wgraj Tasmotę na tani przekaźnik Sonoff, a stanie się on inteligentnym przełącznikiem publikującym w MQTT. ESPHome jest natywne dla HA.
Integracja Home Assistant MQTT
home-assistant.ioHA może publikować w dowolnym temacie MQTT i go subskrybować. Konfiguracja przez YAML lub interfejs. MQTT Discovery automatycznie tworzy encje HA, gdy urządzenie zgłosi się przez określony temat.
Node-RED
nodered.orgWizualne programowanie oparte na przepływach, które subskrybuje tematy MQTT, stosuje logikę i publikuje do innych tematów lub punktów końcowych KNX/HTTP. Często używane obok HA do złożonego trasowania.
WirenBoard
wirenboard.comRosyjski sterownik na szynę DIN używa MQTT jako podstawowego protokołu. WirenBoard publikuje wszystkie odczyty czujników i przyjmuje sterowanie przez tematy MQTT. Współpracuje z HA i Node-RED.
Przykłady struktury tematów
Przykładowe drzewo tematów MQTT (inteligentny dom)
home/
├── livingroom/
│ ├── light/state → "ON" / "OFF"
│ ├── light/brightness → "75" (0-100%)
│ ├── light/color_temp_k → "3000"
│ ├── temperature → "21.5"
│ └── occupancy → "true" / "false"
├── kitchen/
│ ├── light/state → "ON"
│ └── humidity → "45"
├── bedroom/
│ ├── blind/position → "75" (0=open, 100=closed)
│ └── thermostat/setpoint → "20.5"
└── panel/
├── meter/power_w → "1247"
└── meter/energy_kwh → "1852.3"MQTT vs KNX — czego kiedy użyć
| Aspekt | MQTT | KNX TP |
|---|---|---|
| Infrastruktura | Sieć IP (Ethernet/Wi-Fi) | Dedykowany kabel magistrali TP |
| Niezawodność | Zależy od sieci i dostępności brokera | Deterministyczna, magistrala zawsze aktywna |
| Opóźnienie | Milisekundy (IP) + obieg do brokera | <50 ms (bezpośredni telegram magistrali) |
| Skalowalność | Nieograniczona (skalowanie poziome) | 255 adresów na linię, maks. 15 linii |
| Złożoność konfiguracji | Niska (broker + publish/subscribe) | Wysoka (programowanie ETS, adresacja) |
| Koszt sprzętu | Niski (ESP8266 = 2 €) | Wysoki (aktor KNX = 50–200 €+) |
| Certyfikacja | Niewymagana | Certyfikat KNX + licencja ETS |
| Działa bez serwera | ❌ Broker musi działać | ✅ Lokalna magistrala działa bez serwera |
| Najlepsze zastosowanie | Dane czujników, integracja IoT, elastyczne DIY | Sterowanie krytyczne dla bezpieczeństwa, budynek komercyjny |
| Typowy użytkownik | Maker, integrator HA, deweloper IoT | Inżynier elektryk, specjalista DALI/KNX |
Szczera odpowiedź: W dobrze zaprojektowanej instalacji premium KNX odpowiada za sterowanie sprzętem (załączanie, ściemnianie, rolety), a MQTT/IP za agregację danych z czujników i integracje programowe (monitoring energii, obecność, pogoda). Uzupełniają się — nie konkurują.
Opcje integracji KNX + MQTT
Home Assistant (integracje KNX + MQTT)
Integracje KNX i MQTT działają w HA. Automatyzacje mogą odczytywać wartości czujników MQTT i wyzwalać aktory KNX — lub odwrotnie. Zero dodatkowego sprzętu.
knx-mqtt-bridge (open source)
Samodzielna usługa Node.js, która dwukierunkowo łączy adresy grupowe KNX z tematami MQTT. Każdy GA KNX odwzorowuje się na temat MQTT. Działa na Pi lub w Dockerze.
Węzły Node-RED KNX + MQTT
node-red-contrib-knx + węzły MQTT. Wizualne programowanie przepływów: temat MQTT → transformacja → telegram KNX. Dobre do złożonego trasowania warunkowego.
Brama WirenBoard WB-MGW
Brama WirenBoard potrafi tłumaczyć między urządzeniami RS-485/Modbus a MQTT. Następnie HA odczytuje MQTT i publikuje do KNX. Popularna w Europie Wschodniej.
Architektura KNX + MQTT zaprojektowana dla Twojego projektu
Integrujemy sieci czujników MQTT z tablicami sterowniczymi KNX — Zigbee2MQTT, liczniki energii, czujniki HVAC — wszystko w jednym systemie.
Poproś o wycenę →