seems like Javier has a plan pretty well worked out for at least adding AND to the current OR.
see his post #27 in this thread: http://forum.micasaverde.com/index.php?topic=3185.0 (BTW that seems to be the thread for constuctive discussion how to implement such a thing rather than the pissing matche threads debating if there is any value to it or not)
So far, it seems that the simplest way is to simply add more conditions to the event definition screen.
Currently, you can only define a single variable to be compared to a single argument. Adding more of these (variable/operation/argument), would do the trick. The event would fire only when all conditions are met. This is the AND.
Then, simply defining several events with the same result takes care of the ‘outer’ OR grouping.
The UI impact is minimal, and so is the extra burden on the user. I don’t know if you have already begin sketching that part (the scene/event/trigger/timer definitions); for now, simply allow for multiple conditions on a single event trigger.
What we still have to define is about the ‘back of the frontent’. Currently, it builds a JSON structure described here http://wiki.micasaverde.com/index.php/Luup_Events. We could either extend this structure, and change the Luup engine to handle it, or we could drop this structure and make it always generate Lua scripts, even for simple events.
To be honest, now it seems that this was what the users were asking from the beginning; but for hardcore programmers it wasn’t obvious. At least for me, as soon as you pass the simple list of options, you’re in programming territory. And if you don’t want to program, you need a code generator. No middle grounds! But it seems that just this addition, limited as it is, will make a big difference for some users.
In any case, the visible portion of the UI is almost unchanged (in concepts), the real work will be in how it communicates with the backend.[/quote]