@sfbritskin: thanks for the suggestions.
1) one of the planned features in the new firmware I am working on is the concept of ‘serial groups’ — each station will be assigned a group index. There is a globally serial group (all stations by default belong to this group), a globally parallel group, and two or more custom groups. The idea is the controller will serialize all stations in one group, but stations in different groups are allowed to run in parallel (and any station in the globally parallel group can run in parallel). This should be a flexible enough to allow a complex mix of serial / parallel running patterns.
2) Good suggestion. It should be possible to specify ‘sunrise time’ or ‘sunset time’ as the start time of a program. This will require the controller to check at least once per day the sunrise / sunset time, and it’s not hard to do so.