“The time zone is never hard-coded in the firmware — it’s stored as an option which you can change (although normally you shouldn’t need to because it’s automatically changed based on the time zone query.”
I don’t think this is accurate. I removed the controller battery, fl;ash card and network connection. I then did a “reset all”. I went into the menu at the controller and the time zone read -4:00. The menu had NTP “on” . The controller could not access the internet or even the local network so this time zone must be part of the code. At this point the time read 00:00 and date was 01 – 01
Next I connected the internet and power cycled the controller. The time and date refreshed and the time was correct for Boston, the time zone had changed to -5:00. This confirms the NTP was able to get the correct time.
Next using the web interface I changed the location to Honolulu Hawaii, and power cycled the controller. I checked the web interface and the location had changed to Hawaii, but the time zone was still -5:00, Hawaii is -10:00.
You said the time zone is automatically changed with the query, but it only worked on the Boston MA which I didn’t query. Now I can change the query but the time zone does not change.
If I now change the time zone to -12:00 but leave the location as Boston MA, the NTP does not change the time zone back to -5:00, power cycling the controller does not help.