Mosquitto MQTT Broker: Die zentrale Kommunikationsbasis in Home Assistant einrichten
Was ist MQTT und warum wird ein Broker benötigt?
MQTT (Message Queuing Telemetry Transport) ist ein schlankes Nachrichtenprotokoll für die Kommunikation zwischen Geräten und Anwendungen. Im Smart Home wird es häufig eingesetzt. MQTT arbeitet nach dem Publish/Subscribe-Prinzip. Geräte veröffentlichen Nachrichten – beispielsweise einen Temperaturwert – unter einem bestimmten Thema (Topic) beim Broker. Andere Geräte oder Anwendungen können diese Topics abonnieren und erhalten die zugehörigen Nachrichten.
Der MQTT-Broker fungiert als zentraler Postverteiler im Netzwerk. Er nimmt alle eingehenden Nachrichten entgegen und leitet sie an die Systeme weiter, die diese Daten abonniert haben, beispielsweise Home Assistant. Auch Zigbee2MQTT benötigt einen MQTT-Broker, über den es Daten und Befehle mit Home Assistant oder anderen Anwendungen austauscht.
(KI-generiert, dient zur Veranschaulichung)
Einen dedizierten MQTT-Benutzer anlegen
Für externe MQTT-Clients wie Zigbee2MQTT, MQTT Explorer oder selbst programmierte Geräte empfiehlt sich ein separates Benutzerkonto. Die Mosquitto-App kann lokale Home-Assistant-Benutzer zur Authentifizierung dieser Clients verwenden. Für die interne Verbindung zwischen Home Assistant und der Mosquitto-App erzeugt Home Assistant dagegen automatisch eigene Zugangsdaten.
Benutzer in Home Assistant erstellen
- Navigiere zu Einstellungen -> Personen und öffne den Reiter "Benutzer".
- Klicke auf "Benutzer hinzufügen".
- Vergib einen Namen und einen Benutzernamen, beispielsweise
mqtt-user, sowie ein sicheres Passwort. - Falls der Reiter "Benutzer" oder die Schaltfläche zum Anlegen eines Benutzers nicht angezeigt wird, aktiviere in deinem Home-Assistant-Profil zunächst den erweiterten Modus.
- Aktiviere nach Möglichkeit die Option "Nur lokaler Zugriff", wenn der MQTT-Client ausschließlich im lokalen Netzwerk betrieben wird. Dadurch kann das Konto nicht für eine Anmeldung über entfernte Zugriffswege verwendet werden.
- Klicke abschließend auf "Erstellen".
Den Mosquitto Broker über die App-Verwaltung installieren
Unter Home Assistant OS lässt sich der offizielle und vorkonfigurierte "Mosquitto broker" komfortabel über die grafische Oberfläche installieren.
Die App installieren
- Navigiere in Home Assistant zu Einstellungen -> Apps.
- Klicke unten rechts auf die Schaltfläche "App installieren".
- Nutze die Suchfunktion oben rechts und gib
Mosquittoein. - Klicke auf das Kachelelement "Mosquitto broker" und anschließend auf "Installieren".
Die App konfigurieren und starten
Nachdem die Installation abgeschlossen ist, kannst du im Reiter "Informationen" zwei Optionen aktivieren, die den automatischen Betrieb und die Wiederherstellung nach einem Fehler unterstützen:
- Beim Systemstart starten: Startet den Broker nach einem Neustart des Home-Assistant-Systems automatisch.
- Watchdog: Überwacht die App und versucht, sie bei einem erkannten Ausfall automatisch neu zu starten.
Klicke nun auf "Starten". Der Broker läuft nun im Hintergrund und kann Verbindungen authentifizierter MQTT-Clients entgegennehmen. Der zuvor angelegte Benutzer wird verwendet, sobald sich ein externer Client mit diesen Zugangsdaten verbindet.
Die MQTT-Integration in Home Assistant aktivieren
Damit Home Assistant mit dem MQTT-Broker kommunizieren kann, muss die MQTT-Integration eingerichtet sein. Sie empfängt und versendet MQTT-Nachrichten und kann über MQTT Discovery automatisch Geräte und Entitäten anlegen.
Häufig erkennt Home Assistant nach dem Start der App die neue Schnittstelle automatisch. Falls nicht, lässt sie sich manuell hinzufügen:
- Navigiere zu Einstellungen -> Geräte & Dienste.
- Falls unter "Entdeckt" bereits MQTT steht, klicke dort auf "Einrichten".
- Sollte die Integration nicht automatisch auftauchen, klicke unten rechts auf "Integration hinzufügen", suche nach
MQTTund wähle den Eintrag aus. - Bestätige die Abfrage. Bei der erkannten offiziellen Mosquitto-App richtet Home Assistant die interne Verbindung normalerweise automatisch ein und verwaltet die dafür erzeugten Zugangsdaten selbst. Bei einem extern betriebenen Broker müssen Hostname, Port und gegebenenfalls Zugangsdaten manuell angegeben werden.