PubInv / krake

A wireless alarm device which makes loud noises and flashes lights to alert a human
GNU Affero General Public License v3.0
0 stars 2 forks source link

MQTT Provides for LWAT (Last Will and Testament) message, The PMD and the Krake should each take full advantage of LWAT #67

Open ForrestErickson opened 2 weeks ago

ForrestErickson commented 2 weeks ago

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] Network connections may fail and so MQTT connections may fail. The LWAT is a mechanism where when a client goes off line other clients can be alerted by the broker with a LWAT. The QOS Quality of Service may be related to how the LWAT is used and should be implemented just as appropriately.

Describe the solution you'd like A clear and concise description of what you want to happen. Implement and test LWIT for both PMD and Krake.

There is a description of LWAT here: https://www.hivemq.com/blog/mqtt-essentials-part-9-last-will-and-testament/ Both the PMD and the Krake should set a LWAT and should be sent to other device subscribing to a publishing client that has gown down.

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered. Loss of a keep alive message might also be used. Currently the GPAD_API version 0.12 send every 10 seconds a message that it is on line back to the PMD. At Processing PMD version 0.7 the PMD does NOT send a keep alive message.

Additional context Add any other context or screenshots about the feature request here.

ForrestErickson commented 2 weeks ago

This video here describes the LWAT setup in a general way:
https://youtu.be/dNy9GEXngoE?si=JgzZvabAk70sSIg-

On about 20241109 Lee working on a branch not pushed to Krake both a Processing PMD and extension to GPAD_API for LWAT but it it not working.
It may be that developing in Processing a PMD and a "Processing Krake" to work out the LWAT may be the fastest way to work.