Was ist Mosquitto?
Mosquitto ist ein MQTT-Broker. Ein Broker nimmt Nachrichten von Geräten entgegen und reicht sie an alle weiter, die das jeweilige Topic abonniert haben. Der MQTT-Collector ist ein solcher Abonnent.
Seit Version 1.5 betreibt HELIOS auf Wunsch einen eigenen Broker. Ein separater Broker, etwa in ioBroker oder Home Assistant, ist dann nicht mehr nötig. Ein bestehender Broker lässt sich aber weiterhin nutzen.
Einrichten
Abschnitt betitelt „Einrichten“Unter Konfiguration → Datenquellen → MQTT steht die Wahl zwischen einem externen Broker und dem internen Broker Mosquitto, von HELIOS betrieben. Für den internen Broker fragt HELIOS nur noch drei Dinge ab: Port, Benutzername und Passwort. Die Verbindung des Collectors zum Broker richtet HELIOS selbst ein.
Der Broker startet, sobald er eingerichtet ist, auch wenn noch kein Sensor über MQTT liest. So können Geräte schon senden, bevor die Zuordnung steht.
Eine Anmeldung ist immer Pflicht. Der Broker nimmt keine Nachrichten von Geräten ohne Benutzername und Passwort an.
Adresse für Geräte
Abschnitt betitelt „Adresse für Geräte“Die Adresse, an die Geräte senden, zeigt HELIOS auf der Karte MQTT an. Sie hängt davon ab, wie SOLECTRUS erreichbar ist:
| Erreichbarkeit | Adresse |
|---|---|
| Direkt über IP-Adresse oder Hostname | <IP>:1883, unverschlüsselt |
| Eigene Domain über internen Traefik | <domain>:1883 unverschlüsselt, <domain>:8883 mit TLS |
| Eigene Domain über externen Reverse Proxy | <IP>:1883, unverschlüsselt |
Statt 1883 gilt der Port, der in HELIOS eingestellt ist. Eine verschlüsselte Verbindung gibt es nur mit dem Traefik, den HELIOS selbst betreibt. Ein externer Reverse Proxy leitet keinen MQTT-Verkehr weiter.
Gespeicherte Nachrichten
Abschnitt betitelt „Gespeicherte Nachrichten“Nachrichten, die ein Gerät mit dem Flag retain sendet, hält Mosquitto auf der Platte fest. Sie überstehen einen Neustart. Wo sie liegen, bestimmt MOSQUITTO_VOLUME_PATH.
Docker-Image
Abschnitt betitelt „Docker-Image“Das offizielle Docker-Image von Mosquitto ist auf Docker Hub verfügbar:
https://hub.docker.com/_/eclipse-mosquitto