MQTT-Client und Keepalive/PINGREQ

Ich brauche in einem Modul einen MQTT-Client (Verwendung, Datenstrom etc soweit bekannt).

Frage: der MQTT-Server, an dem ich mich connecte, möchte alle 30s (oder etwas kürzer) ein Keepaliave haben.

Soweit ich verstanden habe, muss man dem ein Paket mit dem Sub-Topic /PINGREQ schicken und bekommt dann PINGRESP zurück.

In dem Symcon-MQTT-Client habe ich keinen Hinweise oder Einstellung zum Thema Keepalive gefunden.

Sehe ich das richtig, das ich dann im Modul selber zyklische die Verschickung eines Paketes mit dem o.g. Topic und ohne Payload (über den MQTT-Client nätürlich) auslösen muss?

Würde mich freuen, wenn da jemand eine Info zu hätte

Ist es ein Topic auf das du senden musst? Dann müsstest du dies selber bauen mit einem Timer. Der MQTT Client hat ein eigenes Ping/Pong welches aber auf MQTT Protokoll Ebene läuft und nicht als Topic realisiert wird. Deswegen die Rückfrage.

Unser KeepAlive/PingPong senden wir alle 60 Sekunden.

paresy

ich bin noch etwas unsicher, da die Doku der API sich dazu ausschweigt und die Aussagen aus dem Netz stammen und da geht Keepalive und PINGREQ durcheinander.

Was recht sicher ist ( durch Versuche), das das wohl spätestens alle 30s erfolgen muss. Wenn nicht, funktioniert die Subscription wohl nicht mehr .

Eine Möglichkeit, das Keepalive-Intervall einzustellen gibt es vermutlich nicht?

Noch nicht, aber das wäre jetzt tatsächlich eine Kleinigkeit das einzubauen. Reicht dir ein Test-Build für Docker, damit du das mal validieren kannst, ob es die Lösung wäre?

paresy

Wäre super, wenn ihr das einbauen würdet.

Es ist auch nicht ganz so eilig, da ich erst über die grundsätzliche Machbarkeit hirne.

Docker habe ich bei mir kaum im Einsatz, aber eventuell reicht das auch in der nächsten Version - die ist ja in Arbeit.

Die API ist einserseits aktiver Abruf mit http und damit verknüpft (Login, access_token & co) ein Datastream per MQTT (Client in Symcon)

PS: ich habe nochmal nachgeforscht, das mit PINGREQ meint wohl ein PINGREQ-Paket und das ist ja wohl das MQTT-Keepalive

Kommt zur nächsten 8.2 Beta

paresy

1 „Gefällt mir“