Ich sah hier einige Unklarheiten in Bezug auf das Verhalten der Shelly Firmware mit MQTT. Ich wollte es also selbst genauer wissen und habe Versuche angestellt.
Meine Erkenntnisse aus diesen Versuchen habe ich an anderer Stelle dokumentiert.
Kurze Zusammenfassung:
Die Shelly Firmware der zweiten Generation veröffentlich nach dem Verbindungsaufbau zum MQTT Broker zwei Nachrichten.
Vermutlich arbeitet die Firmware der ersten Generation ebenso.
- Die LWT Nachricht mit dem Topic "<MQTT Prefix>/online" und der Payload "false".
LWT = Last Will (and) Testament - Eine reguläre retained Nachricht mit demselben Topic und der Payload "true".
Somit ist per Subscriber (fast) jederzeit erkennbar, ob der betreffende Shelly eine MQTT Verbindung hat, also online ist.
Bei schwacher Verbindung zum Broker, vielleicht wegen schwachem WLAN, wechselt die im Subscriber erhaltene Payload unregelmäßig zwischen "false" und "true".
Jedenfalls sendet der Broker offensichtlich verlässlich mit dem LWT Topic eine Nachricht "true" oder "false".