Here are some examples of shedulers:
I agree with your scheduling requirements:
- Different modes like Home, and Away .
- Weekday based scheduling: Mo-Fri, weekends eg. “Do this on Mo, Tu and Fri”
- Relate to sunset/rise “I want my lamps to turn on 20 min before sunset” or " Lamps should be turned on at 06:00 and be on until at least 08:00. if it is dark and 08:00 they should stay on, but no longer than to 09:00"
One of these examples above have javabeans code that execute, Before, On , After the sheduled event: Return code of “Before” determines if event occurs. “On” is executed (iirc) instead of the event. “After” always runs. In my view, triggered code is a nice way of being able to extend the scheduled for more complicated scenarios.
In one you create sceduled for a device, in the other you create scedules, and attach devices to that schedule. (again IIRC)
The examples I’ve given maneuver devices using Tellstick, but I think that in OH it should trigger events.(?)
First and foremost the discussion should be about functional requirements and end user experience.