I did some digging with Claude:
What changed with the Mosquitto add-on update
The add-on 7.x update was much bigger than it looks: it moved Mosquitto from 2.0.22 to 2.1.2 and updated the authentication plugin (mosquitto-go-auth) to a new major version 3.0.0. And there are currently three open issues reporting that this new auth plugin crashes the whole broker with a nil-pointer panic, several times a day for some users:
Every time it crashes, the watchdog restarts the broker and all clients get dropped — which fits your symptoms perfectly: it hits your WallPanel tablet too (client-agnostic), entities come back for ~10 minutes and then die again, and the LWT stays “Offline” because the broker keeps dying mid-session.
Please check this: open the Mosquitto add-on log and look for lines containing panic: runtime error or SIGSEGV. If you find them, you’re hitting this bug — please add your logs and a
to #4655, it needs visibility because it’s getting no maintainer attention so far.
How to downgrade the add-on (your blocker)
You’re right, there’s no command to install an older add-on version — that’s by design, unfortunately. The only supported way is restoring a backup:
- Go to Settings → System → Backups. When you updated the add-on via the UI, HA should have automatically created a partial backup of the old version, named something like core_mosquitto 6.5.2.
- Restore that backup → you’re back on add-on 6.5.2 = Mosquitto 2.0.22, the version everything worked on.
- Important: disable auto-update on the Mosquitto add-on afterwards, otherwise it will just re-upgrade itself.
CLI equivalent if you prefer: ha backups list then ha backups restore <slug> --addons core_mosquitto.
If that automatic backup doesn’t exist, there’s no official rollback path. If I was you, I’d use EMQX instead of Mosquitto. There should be an EMQX addon in HA addons. I use HA Core in Docker, I don’t use HAOS, so can’t help you there but it should be easy.
For completeness
The “exceeded timeout” keepalive regression in Mosquitto itself (eclipse-mosquitto#3226) was fixed in 2.0.22 and shouldn’t be present in 2.1.2. And your observation about the timezone jump triggering a disconnect matches an old wall-clock bug (eclipse-mosquitto#3405) that was also fixed in 2.0.22 — real phenomenon, but a red herring for your current problem.
So: check the add-on log for the panic, restore the 6.5.2 backup, and let me know how it goes. If you can, share the add-on log here (or on the GitHub issue) — it would help confirm the diagnosis.