Frage zu MQTT LastWill

Hallo
Kann mir bitte jemand erklären wie ich das MQTT LastWill verwenden kann ?
Finde es nur in der Doku erwähnt, aber keine weitere Erklärung wie man damit umgeht.
Ich möchte mir damit Clientseitig eine Watchdog Funktion sparen.
Wenn also IPS tot ist, so soll ein Client welcher Topics vom IPS internen MQTT Broker abonniert hat dies mitbekommen und entsprechend in einen sichern Zustand gehen. Geht das damit überhaupt ?

vielen Dank schon mal
Bernhard

Ich denke ich kann es mir nun selbst beantworten.-
Es funktioniert nur wenn ein externer Broker verwendet wird. Weil der LastWill wird ja vom Broker versendet. Wenn nun IPS abstürzt so ist ja auch der Broker weg und kann nix mehr senden.

Bleibt also nur ein „Heartbeat“ Flag toggeln zu lassen. Diese auf ein MQTT Topic legen und dann vom Client abonnieren. Das toggeln dann im Client auswerten um zu sehen ob IPS noch lebt.
Jemand eine bessere Idee ?
Davon wollte ich eigentlich wegkommen weil das immer eine Lösung mit Timern bedingt.
Achja, Clinet sind ESP mit PubSub MQTT Library.

schöne Grüße
bb

Naja, wenn der Broker (Symcon) offline ist, dann bekommst du doch ein Disconnect, oder?

Grüße,
Kai

1 „Gefällt mir“

vielleicht ein „Missverständnis“… der LastWill ist nicht der Letzte Wille des Servers sondern des Client… also wenn ein Client einen LastWill definiert, sendet der Server diesen an die „Abonnenten“ um ihnen mitzuteilen, dass der Client nicht mehr verbunden ist. Das dient u.a. dazu das nicht der letzte Wert auf „ewig“ als echter Wert gewertet wird.

1 „Gefällt mir“