My guess is that I have 4AM set as the end-time, yet the 3rd cycle through starts at precisely 4AM, which causes the simulators to interpret them differently??
[As a side note, while the OpenSprinkler platform as a whole is great, I have to say that the station scheduling interface seems really cumbersome. I find myself having to jump through hoops to get it to do what I want (i.e. what I’ve shown above). I’d simply like to be able to specify unique run times for each station (within a single program), and then set one or more start times for my programs. No end time, no interval. If there is overlap (i.e. 2nd program wants to start before 1st one finished), then they should queue up.. I think that would be a lot simpler! 🙂 ]
It’s important to note the firmware is the absolute decider. If the firmware is showing you 3 runs than that’s what will happen. My code has a bug as you have shown and I will do my best to resolve it.
Also, program scheduling changes are coming soon that allow your described behavior.
I believe I found this bug. It was exactly as you mentioned: it was being hidden because of the end time/start time being the same. This is different than the firmware because another user suggested it fixed a duplicate program rendering bug however this is more likely intended behaviour. This update should be out soon.