MQTT - Nachrichten bei Verbindungsverlust (QoS)

blurrrr

Well-known member
Hallo zusammen,

da ich bislang kein MQTT nutze, mich aber grade ein bisschen damit beschäftigt habe, würde mich mal interessieren, ob ihr bei euren MQTT-Clients entsprechende QoS-Einstellungen zur Verfügung habt (QoS 0: Nachricht wird einmal gesendet / QoS: Nachricht wird mindestens einmal zugestellt) / oder QoS 2: Nachricht wird exakt einmal zugestellt). Finde ich im Zusammenhang mit Verbindungsunterbrechungen recht wichtig. Ebenso wäre dazu interessant, bei welchen Geräten euch welche Optionen zur Verfügung stehen, oder ob diese Optionen generell bei allen MQTT-fähigen Endgeräten vorhanden sind :)
 
Hallo @blurrrr,
bei Geräten mit Tasmota sieht es so aus:
1758126058288.png
QoS existiert da erst einmal nicht.
Shelly Geräte sehen ähnlich aus und machen per Standard QoS 0.
Vielleicht gibt es irgendwo noch verborgene Einstellungen.
Die Broker unterstützen (fast alle) QoS.
 
Hm... also der Gedanke ging in die Richtung z.B. so einem Zigbee2MQTT-LAN-Adapter (z.B. SMLIGHT SLZB-06) einzusetzen. Wenn die HomeAssistant-Instanz nun örtlich woanders läuft und es zwischen den Standorten zu Unterbrechungen kommt, wäre ein Verlust der MQTT-Nachrichten halt schon irgendwie doof.

Was ist in diesem Konstrukt denn dann der Client und was der Broker? Wenn ich das richtig verstanden habe, ist können die Clients entweder auf Topics lauschen, und/oder Nachrichten über bestimmte Topics senden, während der Broker die Rolle in der Mitte einnimmt. Mir ist nicht so ganz klar - wer hier eigentlich welche Rolle intus hat. Der erste Gedanke geht natürlich erstmal in Richtung HomeAssistant als Broker, oder ist es der Stick, oder... ? 😅
 
Es gibt einen Broker und viele Clients. Der Broker vermittelt zwischen den einzelnen Clients. Clients können Nachrichten zu bestimmten Topics veröffentlichen (publish) oder diese abonnieren (subscribe).
Für Home Assistant gibt es den (bekannten) Mosquito Broker. Ein Client wäre beispielsweise die Steckdose mit Strommessung. Die Steckdose kann die Strommessung veröffentlichen um sie an einem anderen Ort anzuzeigen oder den Schaltbefehl abbonieren um diesen auszuführen. Wie das von A nach B vermittelt wird ist die Aufgabe des Brokers.
Der Zigbee2MQTT-LAN-Adapter wäre also ein Client.
 
Haus 1: HomeAssistant, Haus 2: Der o.g. Stick. Netzwerke z.B. via VPN verbunden. Es wäre von Vorteil, wenn bei einem Disconnect (z.B. 24h-Disconnect) die Pakete nicht verloren gehen würden beim Transfer von Haus 2 zu Haus 1, aber so wie sich das anhört, scheint das eher nicht möglich zu sein. Das "Problem" hat nichts mit der Übertragungssicherheit zu tun, sondern mit der Sicherstellung, dass auch wirklich "alle" Pakete ankommen. Grundlage für MQTT ist ja wohl TCP, was schon extrem von Vorteil ist, aber wenn die Verbindung länger weg ist (z.B. 1 Minute), dann hilft TCP da auch nicht mehr. Daher ja auch die Idee bzgl. der QoS-Einstellungen, aber scheint ja so nicht zu klappen, also von daher ist der Gedanke eh hinfällig 🙃
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
7.116
Beiträge
69.355
Mitglieder
7.523
Neuestes Mitglied
Attu#58
Zurück
Oben