Been playing with this simple scheduler idea yesterday, and here is an experimental and early implementation of what I had in mind:
https://i.imgur.com/Bw0KaBt.mp4
For now it only considers rules with GenericCronTriggers (time-of-day and day-of-week triggers & conditions are not supported yet) and will compute the occurrences expected for the next 30 days, with a current limit of 100 per rule. I haven’t exprimented much with JSR223 rules but since they’re appearing in the REST API they seem to be displayed as well, however the rule editor doesn’t know it cannot edit them.
The calendar should ultimately only display rules tagged with a specific tag, or those in a specific namespace, to avoid cluttering it with often-repeated jobs which would lead to usability and performance problems. There are also unfortunately bugs due to mismatches of functionality between Quartz, used by openHAB’s scheduler, and the JS libraries parsing cron expressions, notably with the L (last) and W (weekday) special characters.
You’ll note the effort made in providing tools helping the user with cron expressions in the rule editor, including an expression builder ported from this one and human readable descriptions of the expression provided by cronstrue.