One can test the Elevation or Angle Channel for 0. It’ll be 0 from dusk to dawn. Link that to an Item and you can use the Item state condition to test it for 0.
One could also do a quick script to test using the Action Block library and a Scrip Condition.
In JS it’s be something like:
actions.get("astro", "id:of:astro:sun:thing").getElevation() == 0
No, that’s for day types (e.g. weekends) and holidays.
Now that we have the option to call Thing Actions for the Actions section of a rule, I wonder if it makes sense to be able to call those that return something as a condition, coupled with a test for the result. Then the Astro Action could be called directly and tested for 0 without resorting to a Script condition.