Jython Drop-in Replacement for Expire 1.x Binding

A couple of limitations of expire binding that have cropped up, from memory.

You cannot configure expire= 1.x on a Group type Item, validation just fails at load time.
It would be legitimate to send a command to Group upon expiry (though not a state update).
Example use case, issuing a REFRESH if a bunch of Items all fail to update.

You might remember this one

Couple of things arising from that -

  1. Need a means to set an empty String type Item state.

  2. More generally, setting a ‘true’ UNDEF state was tricky. If you allowed expire 1.x to do its default thing, that’s fine. But if specify UNDEF as a parameter, it ends up as string “UNDEF” in String Item case.
    That’s probably more about the 1.x postUpdate workings than expire in particular, but I expect that is more visible/tweakable in a rules type solution.
    To be clear I do think that is correct behaviour for expire 1.x, because the parameter format doesn’t use quotes to designate strings.

Just highlighting these, in case you wanted to test or take account for your tool :smiley: