The weather updates do no occur while a program is running because the Arduino can only run a single task at a time. Therefore, if the weather update is delayed due to network congestion the controller might not correctly start or stop a station at the precise time. For this reason, we opted to not update during watering.
In your situation, using it for both lighting and watering, you will run into the issue you are describing. Furthermore, we don’t have a hook to force update the weather from within the app, this only occurs every hour when no program is running.
Hope that clarifies what you are seeing. As far as mitigating it we will have to do some research and discuss with Ray the best way to alleviate this in the mean time.
Update: To address your other questions, the controller updates every hour when no program is running and that is its only update schedule.