I don’t remember setting up anything related to persistence but apparently I did, or maybe rrd4j is now enabled by default. I’m working on some changes to the powermax binding and I noticed that after a restart, all non-string items are restored to their pre-shutdown values, courtesy of rrd4j. (This seems to be the documented default behavior.)
The problem is that this binding’s values shouldn’t be restored on startup. The binding is attempting to maintain an internal state which mirrors the state of the alarm system, and if you shut down OH for any length of time, you can’t assume that the previous state is still valid. You need to query the alarm system and rebuild from scratch. That can take some time though, and at startup, you don’t want a window where the channels have stale values. The only correct behavior is for all channels to start NULL and stay that way until the binding has successfully queried the panel.
How do I mark a channel as non-restorable though, in the xml or otherwise? I couldn’t find anything relevant in the thing-description schema file. I don’t want to edit my own rrd4j.persist because that would only be for me; I want the binding to have some instruction that these channels should never be restored.
What is the correct way to do this?