You misunderstood how the time is calculated. The time zone (tz) variable is stored in flash memory space and it’s preserved whether or not the controller can reach the opensprinkler weather server or not. Also, it’s not updated frequently, the controller only sends out a weather request at reboot, and every two hours afterwards. Next, every time the controller receives a valid NTP result, it stores it in the real-time clock chip, which is battery backed, so even if the controller is offline, the real-time clock will keep the time remembered and keep it going.
Since you’ve made a lot of posts, I am getting confused exactly when the time change is observed, so here are some questions:
1. Upon reboot, while the LCD displays ‘NTP syncing’, is the time correct?
2. If you observe time change, roughly when does it happen? Immediately after NTP syncing, or some time after?