Sorry for the long post, I had a lot of ideas. Not sure if they are helpful but here goes…
I see how that could get tricky with multiple overlapping stations that are sequential. I think the solution, at least part of it, would have to rely on some level of user common sense. Your example, for example, doesn’t seem to make any practical sense to me. I don’t see why anyone would set up two programs this way. But at the same time you want a clean and straightforward user interface where there is as little room for user error as possible.
All of my sprinkler stations are sequential except for my two backyard light stations. Maybe you could restrict the end time feature to non-sequential stations only? Theoretically, if you want a particular station to end at the same time every day, then you have a specific time in mind when you want that station to stop. Therefore, the sequential option wouldn’t make much sense. So the end time option would have to be enabled only for non-sequential stations, or take precedence over the sequential option.
I think the same thing can be said about weather adjustments. I’m not at all concerned with weather adjusting the duration of my backyard lights. They need to turn on at sunset and off at 11:00pm every night. Any program with a specific end time should also not be concerned with weather adjustments as it just doesn’t make sense. Similar to above, the end time could take precedence over the weather adjustment.
The way I now see this playing out in the UI is something like this:
Below the Start Time on the Add Program page, a new option for End Time is available but not selected. If a user selects this option and enters an end time, the Use Weather Adjustment is disabled. The user can then select which stations for this program to apply to via checkboxes, not a station specific duration (kinda like how the old firmware worked). The only stations available to check would be those that are non-sequential (alternatively, this program could take precedence and disregard the sequential option for a particular station if checked).