Expiration timer via item metadata seems to fail erratically


after a few months of successfully using the metadata expiration timer settings on numeric items of type Point indicating distance of a bluetooth tag to ESP32s connected via MQTT to UNDEF after a brief interval (using 10 s, but value does not seem to make a difference), this now just stopped working for a subset of the items.

This may or may not have been connected to an OpenHab update; can’t tell for sure since one of the ESPs had been down for a while and got fixed just now.

Event and openhab logs show nothing special (in particular, no updates of the underlying things that could reset the timer), and there really are no incoming MQTT messages on those things.

Persistence is via JDBC/MariaDB, which show now recent values on the affected items.

Any thoughts on how to get this fixed or what might be causing this? Linking and unlinking the channels to the items did not help. Deleting and reconfiguring everything would be quite a hassle, and it would be good to know the root cause.

Any thoughts?

Thanks a lot in advance!

That is almost certainly your problem, though. Updates to “same value” do NOT get logged but DO restart the expire timer, by design.

Make a little rule to log out updates to your afflicted Item.

Just a note on this. A PR has somewhat recently been merged that adds a flag to the Expire metadata to tell it to ignore updates. I don’t know if the UI changes have been made to expose it though.