Last weather call being blank is strange: that means the controller isn’t even making the weather calls. I don’t know why that happens. If you reboot the controller, do you at least see a time stamp for the last weather call? The last successful weather call indicates when it received the result of the weather query.
The firmware automatically sends a query to detect your time zone, so you shouldn’t need to change the time zone manually. I think it’s related in a sense that it seems the controller is just not receiving any incoming packets. It might have to do with your network setup: do you run a firewall or something that could potentially block incoming packets?