Denke ich auch, dass das dann passt ... ich mein' - ich hab' von MQTT keine Ahnung und bin habe das verlinkte Zeugs vorhin auch nur kurz überflogen ...
Aber ich denke, da findest Du eine Menge Hinweise zum Ablauf und zum Abfangen von disconnects.
Diese LWT-message könnte da auch eine Möglichkeit darstellen.
//EDIT: Und dieser timeout lädt doch geradezu zum experimentieren ein ... einfach mal auf 1 setzen und schauen was passiert, wenn Du 2 oder mehr Sekunden keine Nachricht schickst ...
Würde mich schwer wundern, wenn das nicht möglich wäre ... mir ist bisher noch keine Client-Server Anwendung untergekommen, bei der das nicht möglich ist. Selbst bei "connectionless" Verbindungen kennen beide Seiten stets den Status ...
cu,
-ds-