@dxdc having been working on adding solar events to cron-plus over the course of a couple of months I can say - "adding the UI options" are easy however handling everything else under the hood is far from straight foward.
For example, "at specific sun phase" implies 1 event (like sunrise or sunset) - then before you know it there is a request for "at sunrise and sunset" then the user wants "at sunrise and sunset offset by 30 mins".
Then beyond that, you're asked to output things like
isNight - sounds easy? Until your user enters coordinates with a low latitude (where there is no "day" period) or high latitude (where there is no "night" period. Do we scan backwards and forwards to determine state & next solar occurrence?
Then there is the issue of accuracy - most of the libs are approximations (and they all give slightly differing results across the whole gamut of astrological/nautical/civil/dawn/dusk) and some use different sun angles for golden hour, sunrise end etc. I know, i've tried about 7 of the more popular ones - verifying with suncalc.org, timeanddate.com and esrl.noaa.gov/gmd/grad/solcalc/
There is more more to this conundrum but I've said enough
This is the nightmare i am working through now. As it stands, I have worked though all of the above (plus more) & I am now (2 months in) nearly happy with it.
And as Nick and Dave have alluded to, there are many choices & soon - another (cron-plus) will have too (once I've worked out all the kinks)
And lastly, when cron-plus has one entry, you get
inject like functionality...
its debug output for a solar event