MQTT ist das unsichtbare Rueckgrat vieler Smart-Home-Systeme: ein schlankes Nachrichtenprotokoll, das Geraete, Automatisierungs-Engines und Dashboards miteinander verbindet. Hast du MQTT verstanden, hast du den Schluessel zu Zigbee2MQTT, Node-RED, ESPHome und vielen weiteren Systemen in der Hand.
6 Min. LesezeitAktualisiert 3. Juni 2026
In 30 Sekunden
MQTT steht fuer Message Queuing Telemetry Transport und funktioniert nach dem Publish/Subscribe-Prinzip: ein Publisher sendet Nachrichten an einen Broker, der sie an alle Abonnenten (Subscriber) weiterleitet. Nachrichten werden ueber Topicsadressiert — hierarchische Pfade wie "wohnzimmer/temperatur". Der Broker (z. B. Mosquitto) ist der zentrale Verteiler, ohne dass Publisher und Subscriber sich direkt kennen.
Partnerlinks: Die mit 🛒 markierten Links sind Affiliate-Links. Bei einem Kauf erhalten wir eine kleine Provision – ohne Mehrkosten für dich.
Was ist MQTT und warum ist es so wichtig?
MQTT wurde 1999 von Andy Stanford-Clark (IBM) und Arlen Nipper (Eurotech) entwickelt, um Sensordaten von Pipelines ueber Satellitenverbindungen zu uebertragen. Das Protokoll ist bewusst minimalistisch: ein Header besteht aus nur 2 Bytes, und die Verbindung haelt auch bei schlechten Netzwerkkonditionen. Heute ist MQTT ein OASIS-Standard und einer der meistverwendeten Protokolle im Internet der Dinge.
Im Smart-Home-Kontext ist MQTT der universelle Klebstoff: Ein Zigbee-Coordinator mit Zigbee2MQTT publiziert Geraetedaten per MQTT, ESP32-Boards mit ESPHome senden Sensordaten ueber MQTT, Node-RED verarbeitet MQTT-Nachrichten, und Home Assistant abonniert MQTT-Topics, um Entitaeten zu erstellen. Wer MQTT versteht, versteht, wie diese Systeme zusammenarbeiten.
1999Jahr der Erstveroffentlichung des MQTT-Protokolls
2 BytesMinimale Groesse eines MQTT-Paket-Headers
OASISStandardisierungsorganisation, die MQTT normt
Der Broker: Mosquitto als zentraler Verteiler
Der Broker ist das Herzstück jedes MQTT-Systems. Er nimmt Nachrichten von Publishern entgegen und verteilt sie an alle Subscriber, die das entsprechende Topic abonniert haben. Publisher und Subscriber koennen auf demselben Rechner laufen oder auf verschiedenen Geraeten im Netzwerk — der Broker vermittelt.
Der verbreitetste Broker im Smart-Home-Umfeld ist Eclipse Mosquitto. Er ist leichtgewichtig (unter 1 MB Speicherbedarf), Open Source und laeuft auf einem Raspberry Pi🛒 mit High-Endurance-microSD🛒, einem Mini-PC🛒 oder als Home-Assistant-Add-on — mit grafischer Konfiguration und automatischem Start.
Als Home Assistant Add-on: Einstellungen > Add-ons > "Mosquitto broker" > Installieren. Konfiguriere Benutzer und Passwoerter im Add-on-Dialog.
Als Docker-Container: "docker run -it -p 1883:1883 -v mosquitto_data:/mosquitto/data eclipse-mosquitto" startet den Broker mit Standard-Port.
Manuell auf Linux: "sudo apt install mosquitto mosquitto-clients" installiert Broker und Kommandozeilen-Tools.
Pro-Tipp
Installiere das Mosquitto-Add-on zusammen mit dem "File editor"-Add-on in Home Assistant. So kannst du die Mosquitto-Konfigurationsdatei bequem ueber die Weboberflaeche bearbeiten, ohne SSH-Zugriff zu benoetigen.
Topics und das Publish/Subscribe-Prinzip
Topics sind die Adressen im MQTT-System — aehnlich wie Verzeichnispfade in einem Dateisystem. Sie sind hierarchisch aufgebaut und durch Schraegstriche getrennt:
Topic-Hierarchie
Ein typisches Smart-Home-Topic koennte so aussehen: zigbee2mqtt/wohnzimmer/temperatur. Die Ebenen von links nach rechts: System (zigbee2mqtt), Raum (wohnzimmer), Geraeteeigenschaft (temperatur). Du kannst beliebig viele Ebenen verwenden. Eine gute Namenskonvention von Anfang an spart spaeter viel Suchzeit.
Publish: Nachrichten senden
Ein Publisher sendet (publiziert) eine Nachricht an ein Topic. Die Nachricht besteht aus dem Topic (Adresse) und der Payload (Inhalt). Beispiel: ein Temperatursensor veröffentlicht die Nachricht "21.5" an das Topic "wohnzimmer/temperatur". Der Broker speichert die Nachricht und leitet sie an alle Abonnenten weiter.
Subscribe: Nachrichten empfangen
Ein Subscriber meldet Interesse an einem Topic an. Sobald eine Nachricht auf diesem Topic erscheint, liefert der Broker sie aus. Du kannst mit Wildcards mehrere Topics gleichzeitig abonnieren: "+" ersetzt eine einzelne Ebene (z. B. "wohnzimmer/+/temperatur" passt auf "wohnzimmer/sensor1/temperatur" und "wohnzimmer/sensor2/temperatur"). "#" ersetzt alle weiteren Ebenen (z. B. "wohnzimmer/#" passt auf alles unterhalb von "wohnzimmer").
Wusstest du schon?
Publisher und Subscriber kennen einander nicht. Ein Publisher weiss nicht, ob jemand seine Nachricht liest. Ein Subscriber weiss nicht, wer die Nachricht geschrieben hat. Diese Entkopplung macht MQTT ausserordentlich flexibel: du kannst Geraete hinzufuegen oder entfernen, ohne andere Geraete umkonfigurieren zu muessen.
Publisher und Subscriber kommunizieren ueber den Broker, ohne sich direkt zu kennen.
QoS-Level und Retain: Zuverlaessigkeit verstehen
MQTT bietet drei Quality-of-Service-Stufen (QoS), die bestimmen, wie zuverlaessig eine Nachricht zugestellt wird:
QoS 0 — At most once (hoechstens einmal)
Der Publisher sendet die Nachricht und vergisst sie. Keine Bestaetigung, kein Wiederholungsversuch. Die Nachricht kommt an — oder auch nicht. Geeignet fuer Daten, die ohnehin regelmaessig aktualisiert werden (z. B. Temperatur alle 30 Sekunden). Wenn eine Nachricht verloren geht, liefert die nächste Nachricht aktuelle Werte.
QoS 1 — At least once (mindestens einmal)
Der Publisher sendet die Nachricht und wartet auf eine Bestaetigung (PUBACK). Erhaelt er keine, sendet er erneut. Die Nachricht wird mindestens einmal zugestellt — moeglicherweise doppelt. Geeignet fuer Kommandos wie "Licht einschalten", bei denen eine Duplikierung nicht schadet.
QoS 2 — Exactly once (genau einmal)
Ein Zweiphasen-Handshake garantiert, dass die Nachricht genau einmal zugestellt wird — nicht mehr und nicht weniger. Der Overhead ist deutlich groesser als bei QoS 0 und 1. Verwende QoS 2 nur fuer kritische Daten, bei denen Duplikate zu Problemen fuehren wuerden (z. B. Zaehlerstaende, die summiert werden).
Retain: Den letzten Wert speichern
Normalerweise erhaelt ein Subscriber nur Nachrichten, die veroeffentlicht werden, nachdem er sein Abonnement gestartet hat. Was ist mit dem letzten Zustand eines Geraets — schaltet jemand die Lampe an, bevor das Dashboard verbunden ist? Hier kommt Retain ins Spiel: wenn ein Publisher eine Nachricht mit dem Retain-Flag sendet, speichert der Broker diese Nachricht und liefert sie sofort an jeden neuen Subscriber aus. So erfaehrt der Subscriber sofort den aktuellen Zustand, ohne auf die naechste Aktualisierung warten zu muessen.
Pro-Tipp
Verwende QoS 1 als Standard fuer Smart-Home-Anwendungen. QoS 0 riskiert Nachrichtenverlust, QoS 2 kostet Performance ohne spuerbaren Mehrwert fuer typische Hausautomatisierungen. Aktiviere Retain fuer alle Topics, die einen aktuellen Geraetzustand reprasentieren (z. B. Ein/Aus-Status, Temperatur).
QoS 0Feuer-und-vergessen: keine Garantie, schnellste Stufe
RetainBroker speichert letzten Wert fuer neue Abonnenten
Sicherheit: Absicherung und Best Practices
MQTT ist ein Netzwerkprotokoll — und wie jedes Netzwerkprotokoll muss es abgesichert werden. Die wichtigsten Massnahmen:
Authentifizierung: Konfiguriere Mosquitto mit Benutzername und Passwort. Jeder Client muss sich authentifizieren, bevor er verbinden darf. Erstelle separate Konten fuer Zigbee2MQTT, Home Assistant, Node-RED und Test-Clients.
TLS-Verschluesselung: Aktiviere TLS (frueher SSL) fuer die Verbindung zwischen Clients und Broker. So koennen Passwoerter und Sensordaten nicht im Klartext im Netzwerk mitgelesen werden. Mosquitto unterstuetzt Zertifikate von Let's Encrypt oder selbstsignierte Zertifikate.
Nicht ins Internet exponieren: Mosquitto sollte nur im lokalen Netzwerk erreichbar sein. Verwende niemals Port-Forwarding im Router. Fuer den Fernzugriff nutze ein VPN (WireGuard, Tailscale) — z. B. über einenGL.iNet VPN-Router🛒 — oder Nabu Casa.
ACLs (Access Control Lists): Mosquitto erlaubt es, Lese- und Schreibrechte pro Benutzer und Topic zu definieren. Ein Zigbee2MQTT-Client braucht Schreibzugriff auf "zigbee2mqtt/#", ein Test-Client sollte nur lesen duerfen.
Wusstest du schon?
MQTT uebertraegt standardmaessig unverschluesselt. Ohne TLS kann jeder im selben Netzwerk die Nachrichten (inklusive Passwoerter) mit einem einfachen Tool wie "mosquitto_sub" mitlesen. Die Verschluesselung per TLS ist keine Option — sie ist ein Muss.
Alle Produkte aus diesem Guide
Raspberry Pi 4 mit 4 GB
Der Preis-Leistungs-Favorit für Home Assistant und ioBroker im Einstieg.