The program preview works for every day of the week and not just the current day. As a result, it has to calculate it’s own sunrise and sunset time for each day it is rendering. Therefore, the times might vary for programs using sunrise or sunset due to the source of the data.
Basically, the controller get’s the sunrise/sunset data every day from the OpenSprinkler weather service whereas the program preview on the app is calculating the sunrise and sunset within the app without requesting this data.
I do try to minimize this difference by comparing the current controller’s sunrise compared to the calculated sunrise and use that difference as an offset. This brings the predicted times fairly close and 5 minutes is a bit surprising for the current day. Therefore, I will take another look at this to make sure it is accurate however I hope this explains the discrepancy.
Just to make sure, when using a specific start time, this 5 minute delay does not occur?