For my home setup, I use mosquitto as the MQTT broker. It works fine, delivering typical MQTT services.
There are two functionalities which are missing:
- log all messages which were sent to the broker (with a timestamp)
- expire retained messages after some time
The first one is doable by writing a helper (example of code to do this) which would collect all messages (by subscribing to
#) and log them on its own. Having this built-in would be nice, though.
The second one must be implemented on the server itself as it is the only one who knows that a message had the retain flag set. I know that I saw this ability in the description of a server but I cannot find it anymore (from memory, there was a warning that this is non-standard behaviour and that the TTL could be set for days, weeks, months or years)