I have recently upgraded to OH3 and started adding metadata to my items with “Expiration Timers”. (so glad the expiration timers are out of the box now!)
However, some items that should have expired days ago still have a value. How can I fix & trace the issue for this?
What kind of Items? Remember, any update resets the timer - including e.g. periodic updates to same state. Also, in OH2 expire timer did not start until first Item update, not system startup. I do not know if the same holds true in OH3.
These are MQTT items. There shouldn’t be any update because the device has been offline for weeks.
Also happening to me with a Tasmota device auto added via the home assistant mqtt binding. Never expires.
I used the developer sidebar to stream the event log with a filter to only show the item with the expire enabled on it and indeed you were right. Every time the tasmota gets a new value for the wifi strength it republishes and causes an update on the switch state that resets the expiry timer.
Okay, then presumably there was nothing to start the expire timer either?
Yes, that sounds totally possible and these values are still there from my OH 2.5 setup (I guess persisted) and probably don’t have any timestamps. So would the expiration timers be affected by a reboot?
Affected by reboot, as in not affected e.g. never started. I’m assuming this intentional behaviour of OH2 is also replicated in the OH3 implementation.
The primary design brief for expire was "it’s been too long since the last update and this data has gone stale ".
“There never has been an update” is considered to be a different case, detectable by NULL states.
Of course the default settings of OH3 can mess that NULL part up, because I understand everything gets persisted and restored unless you change settings.